KVM磁盘扩容

在Linux操作系统中,扩容磁盘和热插拔磁盘是常见的操作。下面我们将详细介绍如何在CentOS系统中热添加和在线剥离磁盘。

1. 热添加一块磁盘

注意: 在生产环境中,物理机热添加硬盘要求新硬盘必须是企业级硬盘,否则不支持热插拔。

步骤一:生成一个磁盘

我们首先需要创建一个新的虚拟磁盘文件。可以使用qemu-img工具来完成。

# 创建一个大小为20G的qcow2格式虚拟磁盘文件
qemu-img create -f qcow2 /var/lib/libvirt/images/centos_add.img 20G
Formatting '/var/lib/libvirt/images/centos_add.img', fmt=qcow2 size=21474836480 cluster_size=65536 lazy_refcounts=off refcount_bits=16

步骤二:扩容虚拟机磁盘

接下来,我们需要将新创建的磁盘文件附加到虚拟机上。这里使用virsh attach-disk命令。

# 将新创建的磁盘附加到名为centos-clone的虚拟机上,目标设备为vdb,使用virtio总线
virsh attach-disk --domain centos-clone --source /var/lib/libvirt/images/centos_add.img --target vdb --targetbus virtio
成功附加磁盘

2. 在线剥离磁盘

步骤一:剥离磁盘

我们可以使用virsh detach-disk命令将磁盘从虚拟机上剥离下来。

# 从名为centos-clone的虚拟机上剥离目标设备为vdb的磁盘
virsh detach-disk --domain centos-clone --target vdb
成功分离磁盘

当我们热添加磁盘时,默认格式为raw,但是我们创建的是qcow2格式磁盘,所以容量可能不对。我们可以使用--subdriver参数指定磁盘格式。

# 再次添加磁盘,指定磁盘格式为qcow2
virsh attach-disk --domain centos-clone --source /var/lib/libvirt/images/centos_add.img --target vdb --targetbus virtio --subdriver qcow2
成功附加磁盘

关机后磁盘丢失

如果添加的是临时磁盘,关机后重启会发现磁盘丢失。解决方法是在添加磁盘时加上--config参数,这样会修改XML配置文件,下次启动时自动加载。

# 再次添加磁盘,并使用--config参数
virsh attach-disk --domain centos-clone --source /var/lib/libvirt/images/centos_add.img --target vdb --targetbus virtio --subdriver qcow2 --config
成功附加磁盘

热剥离硬盘总结:

我们可以根据需要选择临时剥离或者永久剥离。

  • 临时剥离
# 临时剥离磁盘
virsh detach-disk --domain centos-clone --target vdb
成功分离磁盘
  • 永久剥离
# 永久剥离磁盘,使用--config参数
virsh detach-disk --domain centos-clone --target vdb --config
成功分离磁盘

本文由mdnice多平台发布


逼格高的汤圆
7 声望2 粉丝