Wie starte ich automatisch eine von virt-manager erstellte VM?

10

Ich habe eine virtuelle Maschine mit virt-manager erstellt, die auf kvm / qemu läuft. Die Maschine funktioniert gut, wenn sie über virt-manager gestartet wird. Ich möchte jedoch in der Lage sein, die VM über ein Skript in init.d zu starten und zu stoppen, damit sie zusammen mit dem Host auf und ab geht. Ich muss virt-manager zeigen lassen, dass der Computer läuft, und dort eine Verbindung zu seiner Konsole herstellen können.

Wenn ich die Befehlszeile verwende, die durch Ausführen ps -eaf | grep kvmnach dem Starten der VM über virt-manager erstellt wird, erhalte ich einige Konsolenmeldungen zu umgeleiteten Zeichengeräten, aber der Computer wird ordnungsgemäß gestartet und ausgeführt. Ich bekomme jedoch keinen Hinweis vom Virt-Manager, dass es begonnen hat. Wie kann ich die Befehlszeile ändern, damit virt-manager die laufende VM aufnimmt? Gibt es noch etwas an der Befehlszeile, das sich ändern sollte, wenn Sie außerhalb von virt-manager starten?

Die Befehlszeile ist (zur besseren Lesbarkeit leicht neu formatiert):

/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
quelle

Antworten:

16

Soweit Sie automatisch starten / stoppen und virsh verwenden, können Sie dies wie folgt tun (als privilegierter Benutzer).

virsh autostart Domain

Ich bin mir nicht sicher, warum der Virt-Manager Ihnen keine Ergebnisse liefert. Es hat eine Verbindung zum Computer-Hosting-Computer, oder? Es sollte eine Liste der Domänen angezeigt werden, wenn eine Verbindung besteht.

Tim Bielawa
quelle
13

Öffnen Sie die VM-Anzeige und klicken Sie auf Ansicht-> Details

Geben Sie hier die Bildbeschreibung ein

Wählen Sie Startoptionen und aktivieren Sie das Kontrollkästchen Virtuelle Maschine beim Start des Hosts starten

Geben Sie hier die Bildbeschreibung ein

Phyxx
quelle
1
Das funktioniert irgendwie nicht für mich ..
Afriza N. Arief
10

Die Antwort von Tim ist der richtige Weg, virshmit dem Sie viele nützliche Dinge tun können, außer dem.

Um festzulegen, dass eine virtuelle Maschine automatisch gestartet wird, verwenden Sie:

# virsh autostart <domain-id>

Das <domain-id>ist entweder der virtuellen Maschine Nummer, UUID oder einen „freundlichen Namen“ wie „debian1“, die Sie in eingegeben virt-manager.

Verwenden Sie Folgendes, um eine Liste der virtuellen Maschinen (Nummern und Namen) abzurufen:

# virsh list --all

In meinem Fall bekomme ich:

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

Also habe ich verwendet:

# virsh autostart other
Tomasz Gandor
quelle
8

installiere dann virsh

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
quelle
Wenn die VM bei grub hängen bleibt, virt-viewer your_vm_name und starte. Ändern Sie danach / etc / default / grub und stellen Sie sicher, dass GRUB_TIMEOUT=0. dannupdate-grub
HVNSweeting
6

Sie können auch einen Symlink zum Gast-Domxml platzieren in /etc/libvirt/qemu/autostart:

Wird für eine VM mit dem Namen "test" folgendermaßen aussehen:
test.xml -> /etc/libvirt/qemu/test.xml

dyasny
quelle
0

Sie können auch KVM_AutoBoot ( https://github.com/eduardolucioac/kvm_autoboot ) verwenden, um eine oder mehrere virtuelle Maschinen beim Serverstart mit KVM (libvirt) zu starten. Es ist auch möglich, ein Intervall zwischen dem Start einer virtuellen Maschine und dem nächsten zu definieren.

Vielen Dank! = D.

Eduardo Lucio
quelle