Cerrar Ubuntu Server que se ejecuta en VirtualBox sin cabeza

16

Estoy usando Ubuntu Server usando VBoxHeadless. ¿Cómo envío la señal de apagado ACPI a través de VirtualBox y hago que Ubuntu Server la respete y cumpla con la señal de apagado?

Oxwivi
fuente
¿Desea cerrar el host del invitado o solo quiere cerrar el invitado?
Takkat
@Takkat Guest solo.
Oxwivi

Respuestas:

23

Si desea cerrar el Ubuntu invitado tiene dos opciones:

Cerrar un invitado usando VBoxManage

Una máquina virtual puede controlarse mediante la línea de comando utilizando la VBoxManageherramienta de línea de comando:

VBoxManage controlvm [nameofmachine] savestate       # saves the state of the VM like in suspend
VBoxManage controlvm [nameofmachine] poweroff        # simply "unplugs" the VM
VBoxManage controlvm [nameofmachine] acpipowerbutton # sends ACPI poweroff signal

Para que ACPI se apague, el SO virtual debe ser capaz de hacerlo, y VirtualBox también puede necesitar habilitar el soporte ACPI para la VM.

  • Habilite las opciones de VirtualBox ACPI:

    VBoxManage modifyvm [nameofmachine] --acpi on
  • Instale el soporte ACPI en Ubuntu VM:

    sudo apt-get install acpid

Cerrar invitado desde SSH

Una forma más segura de apagar la máquina en caso de que tenga acceso SSH sería emitir

user@virtualmachine: sudo poweroff

Esto se encargará de apagar y apagar de forma segura su sistema operativo invitado.

Takkat
fuente
Quiero usar la VM como servidor LAMP para fines de prueba. Entonces, después de la configuración inicial, quería evitar interactuar por completo (como SSH). Pero parece que no hay una forma limpia de apagar con VirtualBox.
Oxwivi el
Espera, ahora que lo has mencionado VBoxManage, verifiqué su página de manual : hay una opción que funciona VBoxManage controlvm <uuid>|<name> acpipowerbutton. ¿Ubuntu Server respetará la señal y el apagado?
Oxwivi el
Creo que acpidse requiere el paquete . Aunque necesitaría verificar si está instalado por defecto en Ubuntu Server.
Oxwivi el
Utilizo el truco del botón acpipower para apagar algunas máquinas virtuales de Windows desde cron y funciona muy bien. Desafortunadamente, nunca he tratado de usarlo para apagar un servidor Linux.
Javier Rivera
1
Por favor agréguelos a la respuesta.
Oxwivi el
0

Encontré esto aquí y lo probé, funciona muy bien.

/usr/bin/net rpc shutdown -f -t 1 -I XXX.XXX.XXX.XXX -U <shutdown_acc>%<password>

asume que samba está instalado en el host.

Kylea
fuente