Desligando o Ubuntu Server em execução no VirtualBox decapitado

16

Estou executando o Ubuntu Server usando VBoxHeadless. Como envio o sinal de desligamento da ACPI através do VirtualBox e faço o Ubuntu Server respeitá-lo e estar em conformidade com o sinal de desligamento?

Oxwivi
fonte
Deseja encerrar o host do convidado ou deseja encerrar apenas o convidado?
Takkat 23/11
@Takkat Somente para convidados.
Oxwivi

Respostas:

23

Se você deseja desligar o Ubuntu convidado, você tem duas opções:

Encerrando um convidado usando o VBoxManage

Uma máquina virtual pode ser controlada por linha de comando usando a VBoxManageferramenta de linha 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 desligar o ACPI, o sistema operacional virtual precisa ser capaz de fazer isso, e o VirtualBox também pode precisar ativar o suporte ao ACPI para a VM.

  • Habilite as opções do VirtualBox ACPI:

    VBoxManage modifyvm [nameofmachine] --acpi on
  • Instale o suporte a ACPI na VM do Ubuntu:

    sudo apt-get install acpid

Desligando o convidado do SSH

Uma maneira mais segura de desligar a máquina caso você tenha acesso SSH

user@virtualmachine: sudo poweroff

Isso tomará o cuidado de desligar e desligar com segurança o SO convidado.

Takkat
fonte
Eu quero usar a VM como um servidor LAMP para fins de teste. Então, após a configuração inicial, eu queria evitar interagir completamente com ela (como o SSH). Mas parece que não há uma maneira limpa de desligar com o VirtualBox.
Oxwivi
Espere, agora que você mencionou VBoxManage, verifiquei a página de manual - existe uma opção VBoxManage controlvm <uuid>|<name> acpipowerbutton. O Ubuntu Server respeitará o sinal e o desligamento?
Oxwivi
Eu acho que o pacote acpidé necessário. Embora eu precise verificar se está instalado por padrão no Ubuntu Server.
Oxwivi
Eu uso o truque acpipowerbutton para desligar algumas máquinas virtuais Windows do cron e funciona muito bem. Infelizmente, nunca tentei usá-lo para desligar um servidor Linux.
Javier Rivera
11
Por favor, adicione-os à resposta.
Oxwivi
0

Encontrei aqui e testei - funciona muito bem.

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

assume que o samba está instalado no host.

Kylea
fonte