虚拟化技术 向KVM虚拟机添加卷

Gweek Lv4

1. 创建新的存储卷

首先,需要创建一个新的存储卷。可以使用 qemu-img 工具来创建一个新的虚拟磁盘文件。例如,创建一个大小为10GB的QCOW2格式的磁盘文件:

1
qemu-img create -f qcow2 /var/lib/libvirt/images/new_volume.qcow2 10G

2. 编辑虚拟机配置

接下来,需要编辑虚拟机的XML配置文件,以添加新的存储卷。可以使用 virsh edit 命令来编辑虚拟机的配置。例如,如果虚拟机名为 **myvm**,可以使用以下命令:

1
virsh edit myvm

在编辑器中打开的XML文件中,找到 <devices> 部分,然后添加一个新的 <disk> 条目:

1
2
3
4
5
6
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/new_volume.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

注意:

  • **<source file='/var/lib/libvirt/images/new_volume.qcow2'/>**:指定新创建的卷的路径。
  • <target dev='vdb' bus='virtio'/>dev 表示设备名称,应该是一个未使用的设备名称(例如,**vdbvdc**等)。
  • <address> 部分可能需要根据虚拟机的配置进行调整。

保存并关闭编辑器。

3. 重新启动虚拟机

编辑完成后,重新启动虚拟机以应用更改:

1
2
virsh shutdown myvm
virsh start myvm

4. 在虚拟机中配置新卷(进入虚拟机)

登录到虚拟机,使用 lsblkfdisk -l 命令检查新磁盘是否已被识别。例如:

1
lsblk

应该能看到一个新的设备,例如 **/dev/vdb**。

5. 格式化并挂载新卷

格式化新磁盘:

1
mkfs.ext4 /dev/vdb

创建一个挂载点并挂载新卷:

1
2
mkdir /mnt/new_volume
mount /dev/vdb /mnt/new_volume

6. 持久化挂载(可选)

为了在重启后仍然保持挂载,可以将其添加到 /etc/fstab 中。编辑 /etc/fstab 文件,并添加以下内容:

1
/dev/vdb /mnt/new_volume ext4 defaults 0 0

总结

以上步骤概述了如何向KVM虚拟机添加新的存储卷。创建新的卷文件后,通过编辑虚拟机的XML配置文件将其添加到虚拟机中,然后在虚拟机内部进行格式化和挂载操作。如果有任何问题,请确保检查虚拟机的日志文件以获取更多详细信息。

另外一种方法动态添加卷

1. 创建新的存储卷

首先,需要创建一个新的存储卷。可以使用 qemu-img 工具来创建一个新的虚拟磁盘文件。例如,创建一个大小为10GB的QCOW2格式的磁盘文件:

1
qemu-img create -f qcow2 /var/lib/libvirt/images/new_volume.qcow2 10G

2. 生成 XML 定义文件:

我们需要创建一个 XML 文件来描述要添加的磁盘设备。 可以使用以下内容创建一个名为 disk.xml 的文件:

1
2
3
4
5
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/new_volume.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>

3. 使用 virsh attach-device 命令添加磁盘:

1
virsh attach-device <虚拟机名称> disk.xml --persistent

4.查看虚拟机块设备

1
virsh domblklist <虚拟机名称>
  • Title: 虚拟化技术 向KVM虚拟机添加卷
  • Author: Gweek
  • Created at : 2024-09-13 14:08:11
  • Updated at : 2024-09-13 14:08:11
  • Link: https://gweek.nyc.mn/2024/09/13/2024-06-11-xnhtjj/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments