一、kvm热添加硬盘

1.临时生效

[root@kvm02 opt]# virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2

2.永久生效

[root@kvm02 opt]# virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config

二、kvm摘除硬盘

1.临时生效

[root@kvm01 ~]# virsh detach-disk web01 vdb

2.永久生效

[root@kvm01 ~]# virsh detach-disk web01 vdb --config

三、扩容硬盘容量

1.创建一个硬盘

[root@kvm01 ~]# qemu-img create -f qcow2 /opt/web02-add.qcow2 5G
Formatting '/opt/web02-add.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off 

2.热添加一个硬盘

[root@kvm01 ~]# virsh attach-disk web02 /opt/web02-add.qcow2 vdb --subdriver qcow2   #临时添加
Disk attached successfully
[root@kvm01 ~]# virsh attach-disk web02 /opt/web02-add.qcow2 vdb --subdriver qcow2 --config #永久添加(重启生效)

3.格式化

[root@localhost ~]# mkfs -t xfs /dev/vdb
meta-data=/dev/vdb               isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

4.挂载

[root@localhost ~]# mount /dev/vdb /mnt
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  1.2G  8.9G  12% /
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  6.7M  489M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
/dev/vdb        5.0G   33M  5.0G   1% /mnt

5.卸载分区,准备扩容环节

[root@localhost ~]# umount /mnt
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  1.2G  8.9G  12% /
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  6.7M  489M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0

6.摘除硬盘

[root@kvm01 ~]# virsh detach-disk web02 vdb
Disk detached successfully

7.调整要扩容的大小,从5G扩至10G

[root@kvm01 ~]# qemu-img resize /opt/web02-add.qcow2 10G
Image resized.

8.查看扩容的大小

[root@kvm01 ~]# qemu-img info /opt/web02-add.qcow2 
image: /opt/web02-add.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 27M
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

9.再次添加硬盘

[root@kvm01 ~]# virsh attach-disk web02 /opt/web02-add.qcow2 vdb --subdriver qcow2
Disk attached successfully

10.kvm虚拟机查看磁盘大小

[root@localhost ~]# fdisk -l

Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000cd336

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20971519    10484736   83  Linux

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

11.再次挂载,发现扩容的大小没扩容至10G

[root@localhost ~]# mount /dev/vdb /mnt
[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  1.2G  8.9G  12% /
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  6.7M  489M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
/dev/vdb        5.0G   33M  5.0G   1% /mnt

12.原因:原硬盘的block、inode信息没有更新

13.更新硬盘的block、inode信息

[root@localhost ~]# xfs_growfs /dev/vdb
meta-data=/dev/vdb               isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1310720 to 2621440

14.查看分区信息。已经扩容至10G

[root@localhost ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  1.2G  8.9G  12% /
devtmpfs        486M     0  486M   0% /dev
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           496M  6.7M  489M   2% /run
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
/dev/vdb         10G   33M   10G   1% /mnt

四、热调整内存

1.临时生效

[root@kvm01 ~]# virsh setmem web02 1024M

2.永久生效

[root@kvm01 ~]# virsh setmem web02 1024M --config

3.调整虚拟主机内存最大值,不得超过宿主机的内存最大值

[root@kvm01 ~]# virsh setmaxmem web02 3G

五、热添加cpu

1.临时添加

[root@kvm01 ~]# virsh setvcpus web04 2

2.永久添加

[root@kvm01 ~]# virsh setvcpus web04 2 --config

3.设置虚拟主机的cpu最大值,不得超过宿主机的cpu个数

[root@kvm01 ~]# virsh setvcpus web01  --maximum 4 --config

六、热迁移虚拟主机

需求:将宿主机kvm02中的web02主机,迁移至kvm01宿主机中

1.准备nfs共享存储

[root@nfs ~]# yum  install nfs-utils rpcbind  -y
[root@nfs ~]# cat /etc/exports
/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)
[root@nfs ~]# systemctl start rpcbind  nfs

2.将kvm02中有配置文件和磁盘文件的目录挂载至共享存储目录,将kvm01相同目录挂载至共享存储目录

a.kvm02挂载

[root@kvm02 opt]# mount -t nfs 10.0.0.31:/data /opt

b.kvm01挂载

[root@kvm01 opt]# mount -t nfs 10.0.0.31:/data /opt

3.在线热迁移

a.临时迁移

[root@kvm02 opt]# virsh migrate --live --verbose web02 qemu+ssh://10.0.0.11/system --unsafe
root@10.0.0.11's password: 
Migration: [100 %]

b.永久迁移

[root@kvm02 opt]# virsh migrate --live --verbose web02 qemu+ssh://10.0.0.11/system --unsafe --persistent --undefinesource
Categories: docker&k8s

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注