virt-resize扩展

#关闭kvm虚拟机
virsh shutdown testkvm2
#安装工具
yum install -y libguestfs-tools
#查看磁盘文件位置
virsh edit testkvm2
kvm虚拟机扩展磁盘容量_第1张图片
#查看磁盘分区信息
virt-filesystems --partitions --long -a /var/lib/libvirt/images/testkvm2.qcow2
kvm虚拟机扩展磁盘容量
#创建新的磁盘文件
qemu-img create -f qcow2 /var/lib/libvirt/images/testkvm3.qcow2 10G
kvm虚拟机扩展磁盘容量
#拓展根目录挂载磁盘
virt-resize --expand /dev/sda2 \
/var/lib/libvirt/images/testkvm2.qcow2 /var/lib/libvirt/images/testkvm3.qcow2
kvm虚拟机扩展磁盘容量_第2张图片

#修改磁盘配置
virsh edit testkvm2
#原磁盘文件
kvm虚拟机扩展磁盘容量
#修改后磁盘文件
kvm虚拟机扩展磁盘容量
#启动虚拟机
virsh start testkvm2
#登录虚拟机,查看硬盘
#硬盘已拓展到10G,但是没有分配到根目录下
kvm虚拟机扩展磁盘容量_第3张图片

#查看vg卷组
vgdisplay
#已自动添加到了vg卷组,接下来拓展lv逻辑卷即可
kvm虚拟机扩展磁盘容量_第4张图片

#查看lv逻辑卷
lvdisplay
kvm虚拟机扩展磁盘容量_第5张图片
#拓展lv逻辑卷组
lvextend -L +5G /dev/centos/root
kvm虚拟机扩展磁盘容量
#调整文件系统大小
xfs_growfs /dev/centos/root
kvm虚拟机扩展磁盘容量_第6张图片
#查看文件系统
#磁盘大小已调整
kvm虚拟机扩展磁盘容量_第7张图片

添加新磁盘扩展

创建磁盘文件

#qcow2是文件类型,test1-add1.qcow2是磁盘文件,5G是大小
qemu-img create -f qcow2 /var/lib/libvirt/images/test1-add1.qcow2 5G

创建磁盘XML文件(注意,不要和现有文件重名)

virsh attach-disk <虚拟机名称> \
--source /var/lib/libvirt/images/test1-add2.qcow2 \
--target vdd \
--sourcetype file \
--type disk \
--driver qemu \
--subdriver qcow2 \
--cache none \
--targetbus virtio \
--print-xml > /etc/libvirt/qemu/test2-add.xml

从XML文件附加设备

#--persistent持久生效
virsh attach-device <虚拟机名称> /etc/libvirt/qemu/test2-add.xml --persistent

卸载磁盘设备

分离XML配置设备

virsh detach-device <虚拟机名称> /etc/libvirt/qemu/test2-add.xml --persistent

删除文件

rm -f /etc/libvirt/qemu/test2-add.xml
rm -f /var/lib/libvirt/images/test1-add1.qcow2