kvm虚拟机通过使用`attach-disk`命令在线新增虚拟磁盘,使用`blockresize`命令在线调整现有虚拟磁盘大小,增加存储空间并提升性能。虚拟机内部系统采用lvm逻辑卷管理技术,创建和管理逻辑卷,实现磁盘存储空间的动态管理。

1,查看虚拟机及现有磁盘

[root@localhost ~]# virsh list --all              Id   Name           State------------------------------- 7    uos20-1060e    running -    uosv20-1060a   shut off
[root@localhost ~]# virsh  domblklist uos20-1060e Target   Source---------------------------------------------------------------- vda      /var/lib/libvirt/images/uos20-1060e_new.qcow2 hdb      /mnt/cdrom/uos-server-20-1060e-amd64.iso

2,创建qcow2虚拟磁盘

qemu-img create -f qcow2 uos20-1060e_new-disk01.qcow2 5G

3,attach-disk 在线添加虚拟磁盘

virsh attach-disk  uos20-1060e /var/lib/libvirt/images/uos20-1060e_new-disk01.qcow2 vdb --cache=none --subdriver=qcow2Disk attached successfully####查看虚拟机虚拟磁盘[root@localhost ~]# virsh domblklist  uos20-1060e Target   Source---------------------------------------------------------------- vda      /var/lib/libvirt/images/uos20-1060e_new.qcow2 vdb      /var/lib/libvirt/images/uos20-1060e_new-disk01.qcow2 hdb      /mnt/cdrom/uos-server-20-1060e-amd64.iso
  • --subdriver必须使用,否则默认为raw格式

  • --persistent 在线永久添加磁盘

虚拟机文件系统管理

(1)创建lvm逻辑卷

创建pv

pvcreate   /dev/vdb

创建vg(datavg)

vgcreate  datavg  /dev/vdb

创建lv(datalv)

lvcreate  -l 100%FREE -n datalv datavg

查看lv列表

lvs

图片

(2)格式化文件系统

mkfs.xfs /dev/datavg/datalv

图片

(3)挂载文件系统

mkdir /datamount /dev/datavg/datalv /data

图片

(4)设置开机自动挂载

查看lvm uuid

blkid /dev/datavg/datalv

写入fstab 文件

echo "`blkid |grep datavg |awk -F " " '{print $2}'` /data  xfs defaults 0 0" >> /etc/fstab#mount -a

虚拟磁盘热扩容

(1)blockresize 调整虚拟磁盘大小(调整至10G)

[root@localhost ~]# virsh blockresize  uos20-1060e /var/lib/libvirt/images/uos20-1060e_new-disk01.qcow2 10GBlock device '/var/lib/libvirt/images/uos20-1060e_new-disk01.qcow2' is resized

(2)pvresize更新pv容量

pvresize /dev/vdb

(3)扫描系统硬盘并列出物理卷列表

pvscan

图片

(4)扩容lv

lvextend  -l  +100%FREE /dev/datavg/datalv

图片

(5)刷新文件系统容量

xfs文件系统

xfs_growfs  /dev/datavg/datalv

/data目录容量从5G扩容到10G

图片

ext文件系统

resize2fs   /dev/datavg/datalv

虚拟机配置文件更新

将新增的磁盘配置写到虚拟机磁盘配置,避免重启丢失

(1)查看当前虚拟机生效磁盘配置

virsh dumpxml uos20-1060e

图片

(2)编辑虚拟机,将vdb 磁盘的配置,添加到配置文件

virsh edit uos20-1060e

</disk>    <disk type='file' device='disk'>      <driver name='qemu' type='qcow2' cache='none'/>      <source file='/var/lib/libvirt/images/uos20-1060e_new-disk01.qcow2'/>      <backingStore/>      <target dev='vdb' bus='virtio'/>      <alias name='virtio-disk1'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>    </disk>

图片

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐