Contexto > Estou um pouco confuso sobre imagens de disco e sua instalação. Estou usando qemu/kvm com libvirt e usei o VirtualBox no passado. Naquela época, a interface do usuário me guiava para escolher uma imagem ISO "modelo" para o sistema operacional e criar um arquivo de armazenamento VDI separado sem modificar a imagem "modelo".
Confusão > No entanto, usando libvirt e qemu com imagens qcow2 como uma de debian cloud , o processo que encontrei não separa a imagem de disco de trabalho da imagem baixada ou modelo, usando "importar da imagem existente". Tudo bem para mim, mas acho problemático não poder definir o tamanho máximo da imagem, aquele que o sistema operacional convidado percebe por dentro.
Maneira explorada > Aprendi como redimensionar uma imagem qemu com qemu-img
e o gparted live cd, mas tenho certeza de que há uma maneira mais fácil. Na verdade, nas páginas de manual do virt-install , parece que alguém poderia fazer algo parecido --import --disk path=/home/user/my_os.img,size=10
e garantir que o armazenamento disponível para o sistema operacional convidado seja de 10 GB.
O comando que tentei fazer o que quero, usando imagens de nuvem do 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
Problema > No entanto, isso não funciona como esperado. Ele cria um "domínio" e inicia a vm com o disco, mas em vez de 10 GB, mostra como 2,2 GB. Este é o tamanho percebido do sistema operacional convidado e aquele relatado pelo virt-manager (a GUI). Fiz uma captura de tela do virt-manager e do terminal com opiniões opostas sobre o "tamanho" da imagem do disco . O espaço real usado é de 380 MB como du
relatórios.
Perguntas >
- Existe uma maneira de importar uma imagem de disco e redimensioná-la simultaneamente?
- Qual seria uma abordagem melhor para definir o tamanho do disco com
virt-install
o menor número de etapas? - Alguma outra sugestão?
Acho que você pode resolver seu problema executando um
qemu-img resize
comando antes de criar a máquina virtual com ovirt-install
comando.Eu uso o próximo processo para gerar uma vm com 10G de espaço em disco e com uma
qcow2
imagem:qcow2
iso da nuvem.virt-install
comando.Se quiser, criamos documentação detalhada sobre como criar um ambiente virtualizado de desenvolvimento em nosso manual: https://github.com/coopdevs/handbook/wiki/Virtualization-with-libvirt%2C-qemu-and-kvm :P