以下是在 Linux 上使用 virsh 命令向虚拟机添加基于文件的存储(磁盘映像)的步骤:
步骤 1 - 创建新的磁盘映像
在KVM主机上键入以下命令,以创建5G大小的名为ubuntu-box1-vm-disk1-5G的新磁盘映像。使用 cd command 更改 dir:
cd /var/lib/libvirt/images/
sudo qemu-img create -f raw ubuntu-box1-vm-disk1-5G 5G
Outputs:
[sudo] password for vivek:
Formatting 'ubuntu-box1-vm-disk1-5G', fmt=raw size=5368709120
或者,您可以使用 dd 命令创建 pre-allocated file using the following command:
sudo dd if=/dev/zero of=ubuntu-box1-vm-disk1-5G bs=1M count=5120 status=progress
Outputs:
5192548352 bytes (5.2 GB, 4.8 GiB) copied, 10.5212 s, 494 MB/s
5120+0 records in
5120+0 records out
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 10.9421 s, 491 MB/s
您只需创建 qemu-img 或 dd 命令即可创建大小为 5 GB 的新原始磁盘映像。磁盘映像命名为 ubuntu-box1-vm-disk1-5G:
sudo ls -lh
样品输出:
共 17G --rw---1 libvirt-qemu kvm 41G 2月17日 15:41 freebsd11.qcow2 -rw - - - - - 1 libvirt-qemu kvm 3.1G 2月17日 15:33 ubuntu-box-1-clone.qcow2 --rw---1 libvirt-qemu kvm 41G 2月17日 15:34 ubuntu-box-1.qcow2 -rw-r--r-1根根5.0G 2月17日 15:42 ubuntu-box1-vm-disk1-5G
关于 qcow2 格式的注释
原始磁盘映像格式为默认。这种格式的优点是简单且易于导出到所有其他模拟器。然而,QEMU图像格式(qcow2)是最通用的格式。如果需要执行 VM 快照或 AES 加密。尝试 qcow2 格式。语法如下:
sudo qemu-img create -f qcow2 ubuntu-box2-vm-disk1-5G 5G
步骤2:将磁盘连接到虚拟机
在将磁盘附加到 VM 之前,请查找当前磁盘名称。 登录到您的 VM 并键入以下内容 df command:
df
或
sudo fdisk -l | grep '^Disk /dev/vd[a-z]'
样品输出:
磁盘/dev/vda: 40 GiB, 42949672960 字节, 83886080 扇区
因此,我的 VM 具有 40GiB 大小 /dev/vda。要附加新创建的 ubuntu-box1-vm-disk1-5G 映像,必须使用 /dev/vdb。如果您已经拥有 /dev/vdb 磁盘,则需要将 vdb 更改为 /dev/vdc 等免费设备。语法如下将磁盘附加到名为 ubuntu-box1 的 vm:
virsh attach-disk {vm-name} /var/lib/libvirt/images/{img-name-here} vdb --cache none
或
virsh attach-disk {vm-name} \
--source /var/lib/libvirt/images/{img-name-here} \
--target vdb \
--persistent
例如,附加磁盘映像'/var/lib/libvirt/images/ubuntu-box1-vm-disk1-5G“ 作为 VM/域的 virtio 磁盘 ”Ubuntu-box1并更新域 xml 文件以获取新磁盘(在主机上键入命令):
sudo virsh attach-disk ubuntu-box1 /var/lib/libvirt/images/ubuntu-box1-vm-disk1-5G vdb --cache none
样品输出:
vivek的[sudo]密码: 磁盘成功附加
小心 :只需几个按键,fdisk 就可以擦除部分或全部硬盘或工作分区。请确保使用 fdisk 命令使用正确的设备名称。
步骤 3 – 在 VM 中分区磁盘驱动器
现在,名为“ubuntu-box1”的访客现在有一个名为/dev/vdb的硬盘设备。 登录到您的 VM 并键入以下命令以验证相同:
sudo fdisk -l | grep '^Disk /dev/vd[a-z]'
样品输出:
磁盘/dev/vda : 40 GiB, 42949672960 字节, 83886080 扇区 磁盘 /dev/vdb : 5 GiB, 5368709120 字节,10485760 扇区
接下来,为新设备启动 fdisk:
sudo fdisk /dev/vdb
类型 n 一个新的分区。类型 p 为主要分区。选择可用的分区编号 1. .通过按压进入默认的第一个气缸 进入. .选择整个磁盘通过按 进入. .最后类型 p 验证新分区。进入 w 写改变和退出。fdisk 命令的示例会话:
图01:在 VM 中用 fdisk 命令分区驱动器
要使用 ext4 文件系统格式化新分区,请输入:
sudo mkfs.ext4 /dev/vdb1
样品输出:
图.02:格式/dev/vdb1 它作为 ext4
最后,你需要创建一个挂载目录:
sudo mkdir /disk2/
并将磁盘挂载到访客:
sudo mount /dev/vdb1 /disk2/
编辑文件 /etc/fstab
sudo vi /etc/fstab
更新它如下,以便 /dev/vdb1 持续地在重新启动中安装:
/dev/vdb1 /disk2 ext4 默认值 0 0
保存并关闭文件。并且您拥有它,客户机 VM 现在在基于 KVM Linux 的系统下具有额外的虚拟化基于文件的存储设备。