Como iniciar automaticamente a VM criada pelo virt-manager?

10

Eu criei uma máquina virtual com o virt-manager que roda no kvm / qemu. A máquina funciona bem quando iniciada pelo virt-manager. No entanto, eu gostaria de poder iniciar e parar a VM por meio de um script em init.d, para que ela seja ativada e desativada junto com o host. Eu preciso que o virt-manager mostre que a máquina está em execução e possa conectar-se ao console por lá.

Quando uso a linha de comando produzida ps -eaf | grep kvmapós a inicialização do vm por meio do virt-manager, recebo algumas mensagens do console sobre dispositivos de caracteres redirecionados, mas a máquina inicia e executa corretamente. No entanto, não recebo nenhuma indicação do virt-manager de que ele foi iniciado. Como posso modificar a linha de comando para que o virt-manager pegue a VM em execução? Existe mais alguma coisa na linha de comando que deve mudar ao iniciar fora do virt-manager?

A linha de comando é (ligeiramente reformatada para facilitar a leitura):

/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 512 -smp 1 -name BORON \
-uuid fa7e5fbd-7d8e-43c4-ebd9-1504a4383eb1 \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/BORON.monitor,server,nowait \
-monitor chardev:monitor -localtime -boot c \
-drive file=/dev/FS1/BORON,if=ide,index=0,boot=on,format=raw \
-net nic,macaddr=52:54:00:20:0b:fd,vlan=0,name=nic.0 \
-net tap,fd=41,vlan=0,name=tap.0 -chardev pty,id=serial0 -serial chardev:serial0 \
-parallel none -usb -usbdevice tablet -vnc 127.0.0.1:1 -k en-us -vga cirrus
Jeff Shattock
fonte

Respostas:

17

Quanto a iniciar / parar automaticamente e você estiver usando o virsh, você pode fazer isso assim (como usuário privilegiado)

virsh autostart Domain

Não sei por que o virt manager não está fornecendo nenhuma saída. Ele tem uma conexão com a máquina que hospeda a máquina, certo? Ele deve mostrar uma lista de domínios se estiver conectado.

Tim Bielawa
fonte
13

Abra a tela da VM, clique em Exibir-> Detalhes

insira a descrição da imagem aqui

Selecione Opções de inicialização e marque Iniciar máquina virtual na inicialização do host

insira a descrição da imagem aqui

Phyxx
fonte
1
Isso de alguma forma não funciona para mim ..
Afriza N. Arief
10

A resposta de Tim é o caminho a seguir, virshpermite que você faça muitas coisas úteis, exceto isso.

Para definir uma máquina virtual para ser iniciada automaticamente, use:

# virsh autostart <domain-id>

A <domain-id>é ou número da máquina virtual, UUID ou um "nome amigável" como "debian1", que entrou em virt-manager.

Para obter uma lista de máquinas virtuais (números e nomes), use:

# virsh list --all

No meu caso, recebo:

 Id Name                 State
----------------------------------
  1 other                running
  2 other-clone          running

Então eu usei:

# virsh autostart other
Tomasz Gandor
fonte
8

instale o virsh então

virsh list                    (this will print list of your VMs)
virsh dominfo your_vm_name    (get info about selected VM)
virsh autostart your_vm_name  (set autostart of selected VM)
HVNSweeting
fonte
se a VM travou no grub, faça o virt-viewer your_vm_name e inicialize. Depois disso, altere / etc / default / grub, verifique isso GRUB_TIMEOUT=0. entãoupdate-grub
HVNSweeting
6

Você também pode colocar um link simbólico para o convidado domxml em /etc/libvirt/qemu/autostart:

Será assim para uma VM chamada "test":
test.xml -> /etc/libvirt/qemu/test.xml

dyasny
fonte
1

Você também pode usar o KVM_AutoBoot ( https://github.com/eduardolucioac/kvm_autoboot ) para iniciar uma ou várias máquinas virtuais na inicialização do servidor usando o KVM (libvirt). Também é possível definir um intervalo entre o início de uma máquina virtual e a próxima.

Obrigado! = D

Eduardo Lucio
fonte