上下文 >我对磁盘映像及其安装有点困惑。我正在使用带有 libvirt 的 qemu/kvm,过去也使用过 VirtualBox。当时,UI 会引导我为操作系统选择一个“模板”ISO 映像,并创建一个单独的 VDI 存储文件,而无需修改“模板”映像。
困惑 > 但是,使用 libvirt 和 qemu 以及 qcow2 镜像(例如Debian 云,我发现该过程不会使用“从现有映像导入”将工作磁盘映像与下载或模板映像分开。对我来说没问题,但我发现麻烦的是,我无法设置映像的最大大小,即客户操作系统从内部感知到的大小。
探索方式 >我学到如何调整 qemu 镜像的大小和qemu-img
gparted live cd,但我相信还有更简单的方法。实际上,从virt-install 手册页看起来可以做类似的事情--import --disk path=/home/user/my_os.img,size=10
,它可以确保客户操作系统的可用存储空间为 10 GB。
我尝试使用以下命令执行我想要的操作Ubuntu 云镜像:
virt-install \
--name ubuntu-bionic \
--memory 4000 \
--vcpus 2 \
--import \
--disk path=/path/to/bionic-server-cloudimg-amd64.img,format=qcow2,bus=virtio,size=10 \
--disk path=/path/to/cloud-init.img,device=cdrom \
--network bridge=virbr0,model=virtio \
--os-type=linux \
--os-variant=ubuntubionic \
--connect qemu:///system \
--noautoconsole
问题 >但是,这并没有按预期工作。它创建了一个“域”并使用该磁盘启动虚拟机,但它显示的不是 10 GB,而是 2.2 GB。这是从客户操作系统感知到的大小,也是 virt-manager(GUI)报告的大小。我截取了virt-manager 和终端对磁盘映像的“大小”持有不同意见. 实际使用的空间为 380 MB du
。
问题 >
- 有没有办法导入磁盘映像并同时调整其大小?
virt-install
用最少的步骤来设置磁盘大小的更好方法是什么?- 还有其他建议吗?
答案1
我认为您可以qemu-img resize
在使用该命令创建虚拟机之前运行命令来解决您的问题virt-install
。
我使用下一个过程来生成具有 10G 磁盘空间和图像的虚拟机qcow2
:
- 下载云
qcow2
iso。 - 运行调整图像大小命令:
$ qemu-img resize /var/lib/libvirt/images/bionic-server-cloudimg-amd64.img 10G
- 然后运行
virt-install
命令。
如果您愿意,我们可以在手册中创建有关如何创建开发虚拟化环境的详细文档:https://github.com/coopdevs/handbook/wiki/Virtualization-with-libvirt%2C-qemu-and-kvm:P