KVM虚拟机如何添加磁盘镜像
时间:2019-11-20 08:53:39 来源:igfitidea点击:
如何使用virsh命令将磁盘映像添加到KVM虚拟机中?
如何为KVM虚拟机添加硬盘空间?
如何为KVM虚拟机添加新的磁盘?
创建新的磁盘映像
在KVM主机上执行以下命令,
创建一个5G大小的磁盘映像ubuntu-box1-vm-disk1-5G:
$ cd /var/lib/libvirt/images/ $ sudo qemu-img create -f raw ubuntu-box1-vm-disk1-5G 5G [sudo] password for Hyman: Formatting 'ubuntu-box1-vm-disk1-5G', fmt=raw size=5368709120
或者使用dd命令创建
$ sudo dd if=/dev/zero of=ubuntu-box1-vm-disk1-5G bs=1M count=5120 status=progress 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
关于qcow2格式的说明
默认磁盘映像格式为原始盘。这种格式的优点是简单易用,并且可以导出到所有其他仿真器。
但是最通用的格式的是QEMU 镜像格式(qcow2)。我们可以使用-f选项指定创建的镜像格式。
$ sudo qemu-img create -f qcow2 ubuntu-box2-vm-disk1-5G 5G
将磁盘添加到虚拟机
首先查看当前磁盘名称。
登录到KVM虚拟机,执行下面命令:
$ df
或者
$ sudo fdisk -l | grep '^Disk /dev/vd[a-z]'
输出示例:
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors
已经有了一个磁盘/dev/vda。
所以新磁盘,我们使用/dev/vdb。
将磁盘附加到虚拟机ubuntu-box1中的语法如下:
# 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
示例:
$ sudo virsh attach-disk ubuntu-box1 /var/lib/libvirt/images/ubuntu-box1-vm-disk1-5G vdb --cache none
输出示例:
[sudo] password for Hyman: Disk attached successfully
在KVM虚拟机中对磁盘进行分区
现在有了一个新的磁盘/dev/vdb。
登录到KVM虚拟机,执行下面的命令进行确认。
$ sudo fdisk -l | grep '^Disk /dev/vd[a-z]'
输出示例:
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 sectors Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 sectors
对新磁盘进行格式化
$ sudo fdisk /dev/vdb
输入n
作为新分区。
输入p
作为主分区。
选择一个可用的分区号1
。
直接回车,将默认的第一个扇区作为分区的开始。
直接回车,将整个磁盘分配给分区。
最后输入p
验证新分区。
输入w
写入分区表并退出。
在分区上创建ext4文件系统:
$ sudo mkfs.ext4 /dev/vdb1
创建挂载点:
$ sudo mkdir /disk2/
将新建分区挂载到/disk2中
$ sudo mount /dev/vdb1 /disk2/
编辑文件/etc/fstab,
$ sudo vi /etc/fstab
添加下面这行,保证/dev/vdb1在系统重新引导时自动挂载:
/dev/vdb1 /disk2 ext4 defaults 0 0