Come posso inviare un evento di spegnimento a un guest QEMU (OpenBSD)?


15

Sto usando la virtualizzazione esclusivamente per installare OpenBSD sull'hardware nudo e durante l'installazione, il reindirizzamento alla porta seriale non è stato configurato, quindi ho finito con il sistema in esecuzione, ma non ho modo di accedere e fare una pulizia spegnimento.

kvm -m 6144 -smp 4 -drive file=/dev/sda,if=ide \
    -drive file=/dev/sdb,if=scsi -drive file=/dev/sdc,if=scsi \
    -cdrom install52.iso -boot d -nographic

Come posso inviare un evento di spegnimento a questa sessione? AFAIK, Ctrl- a xcome mostrato qui o a pkill kvmnon farebbe ancora un arresto pulito.

In alternativa, come posso passare dalla -nographicmodalità alla -cursesmodalità?

Risposte:


6

Forse Ctrl- a ce system_powerdown?

Dovrebbe funzionare, anche se nel mio caso non sembra funzionare; forse OpenBSD e QEMU ACPI non interagiscono abbastanza bene.


6

libvirtsa come gestirlo. Se non ti dispiace installare libvirtde virsh, allora puoi usare:

virsh list

per mostrare il nome (i) degli ospiti. E, per arrestare con grazia l'ospite con nome guest_001, utilizzare il comando:

virsh shutdown guest_001

5

In linea di principio: l'invio di "system_powerdown" al monitor QEMU (vedere altre risposte) segnalerà lo spegnimento del sistema operativo guest (come se si premesse il pulsante di accensione). Sarà necessario impostare powerdown=YESin /etc/rc.shutdownper davvero spegnere completamente la macchina.

Sfortunatamente nella mia configurazione attuale qui, mentre questo funziona abbastanza bene per macchine hardware reali, il blocco della VM alla ricezione di un powerdownevento. (Questo è con QEMU-KVM 1.1.2 on Debian Wheezy/amd64 and OpenBSD 5.5 amd64 GENERIC.SP) Quindi quello che puoi fare invece è inviare una shutdown -h nowo halt -palla console (OpenBSD).


0

qemu invia un evento di arresto acpi alla VM, se non è in grado di interpretare questa chiamata, non si spegnerà. In Linux questo significa che devi eseguire acpid, come per BSD, suppongo che debba esistere qualcosa di simile


Non ci sono opzioni per inviare eventi di spegnimento non ACPI al SO guest?
CNST

definisci "evento di arresto non acpi"
dyasny l'

1
Ctrl-Alt-Del, APM ecc
CNST

1
nessuno di questi è un arresto. il sistema si arresta senza spegnimento e non si riavvia il riavvio. Forse Alt + SysRQ + o funzionerà (è APM, quindi dubito che la VM con termina dopo aver arrestato tutto, ma ...) la combinazione di tasti può essere inviata tramite la routine sendkey di qemu-monitor
dyasny

Come posso inviare uno di questi in un attimo? Non mi interessa cosa fa la VM; importa solo che l'ospite ottenga uno di questi e fa una sincronizzazione con umount e roba adeguate.
primo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.