一、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
0 Comments