Como criar uma VM do zero com virsh?

24

Parece que você não pode criar uma VM nova com virsh, a menos que você já tenha um arquivo XML em funcionamento.

Acabei de instalar todos os bits necessários para o QEMU-KVM funcionar e agora preciso criar minha primeira VM.

Como?

Dica: não tenho gráficos!

EnzoR
fonte
Ei, apenas revisitando algumas perguntas. Como você conseguiu falar com isso?
I_GNU_it_all_along
Resolvi o problema verificando as páginas de manual e os sites oficiais do QEMU e KVM e vários testes e tentativas. Eu tenho pedido para fazer tudo manualmente, em vez disso, tenho respostas sobre como fazê-lo com aplicativos de terceiros. Estou quase terminando e publicarei minhas soluções de trabalho também aqui o mais rápido possível.
EnzoR 9/16/16
1
@I_GNU_it_all_along A sua é a única resposta / comentário significativo que tenho até agora.
EnzoR
1
Muito obrigado. Desculpe, não pude ter mais ajuda com a instalação manual.
I_GNU_it_all_along
1
@I_GNU_it_all_along Achei essa coisa de arquivo XML pré-cozido realmente irritante. Eu não acho que sou um macaco estúpido se quiser entender. O problema com o material baseado em libvrtd é que há muito pouca documentação e todo mundo parece bastante confortável com uma abordagem de caixa preta. Muito obrigado.
EnzoR

Respostas:

36

Há uma boa explicação aqui . Essencialmente, a ferramenta que você deseja usar é o virt-install, que você já deve ter se tiver instalado tudo o necessário para o QEMU-KVM. Aqui está a seção mais relevante.

6. Criando uma nova VM convidada usando o virt-install

A ferramenta virt-install é usada para criar a VM. Essa ferramenta pode ser usada no modo interativo ou não interativo.

No exemplo a seguir, passei todos os valores necessários para criar uma VM como parâmetros de linha de comando para o comando virt-install.

# virt-install \
-n myRHELVM1 \
--description "Test VM with RHEL 6" \
--os-type=Linux \
--os-variant=rhel6 \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 \
--graphics none \
--cdrom /var/rhel-server-6.5-x86_64-dvd.iso \
--network bridge:br0

No comando virt-install acima, os parâmetros têm o seguinte significado:

  • n: Nome da sua máquina virtual

  • description: Alguma descrição válida sobre sua VM. Por exemplo: servidor de aplicativos, servidor de banco de dados, servidor web, etc.

  • os-type: O tipo de sistema operacional pode ser Linux, Solaris, Unix ou Windows.

  • os-variant: Tipo de distribuição para o tipo OS acima. Por exemplo, para linux, pode ser rhel6, centos6, ubuntu14, suse11, fedora6, etc.

    Para o Windows, isso pode ser win2k, win2k8, win8, win7

  • ram: Memória para a VM em MB

  • vcpu: Número total de CPUs virtuais para a VM.

  • disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10: Caminho em que os arquivos de imagem da VM estão armazenados. Tamanho em GB. Neste exemplo, esse arquivo de imagem da VM tem 10 GB.

  • graphics none: Isso instrui o virt-install a usar um console de texto na porta serial da VM em vez da janela gráfica do VNC. Se você tiver o xmanager configurado, poderá ignorar esse parâmetro.

  • cdrom: Indica o local da imagem de instalação. Você pode especificar o local de instalação do NFS ou http (em vez de –cdcd). Por exemplo: --location=http://.com/pub/rhel6/x86_64/*

  • network bridge:br0: Este exemplo usa o adaptador em ponte br0. Também é possível criar sua própria rede em qualquer porta específica em vez do adaptador em ponte.

    Se você deseja usar o NAT, use algo como abaixo para o parâmetro de rede com o nome de rede virtual conhecido como VMnetwork1. Todos os arquivos de configuração de rede estão localizados em / etc / libvirt / qemu / networks / para as máquinas virtuais. Por exemplo:

    –-network network=VMnetwork1

I_GNU_it_all_along
fonte
6
É bastante estranho como isso não é mencionado na maioria das documentações, mas eles assumem que você já tem uma VM em funcionamento, quando provavelmente está lendo o tutorial exatamente porque não. De qualquer forma, obrigado. :)
Teekin