Mematikan Server Ubuntu yang berjalan di VirtualBox tanpa kepala

16

Saya menjalankan Server Ubuntu menggunakan VBoxHeadless. Bagaimana cara mengirim sinyal shutdown ACPI melalui VirtualBox dan membuat Server Ubuntu menghormatinya dan mematuhi sinyal shutdown?

Oxwivi
sumber
Apakah Anda ingin mematikan host dari tamu atau Anda ingin mematikan tamu saja?
Takkat
@Takkat Tamu saja.
Oxwivi

Jawaban:

23

Jika Anda ingin mematikan Ubuntu tamu Anda memiliki dua opsi:

Mematikan tamu menggunakan VBoxManage

Mesin virtual dapat dikontrol oleh baris perintah menggunakan VBoxManagealat baris perintah:

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

Untuk mematikan ACPI, OS virtual harus mampu melakukannya, dan VirtualBox juga perlu mengaktifkan dukungan ACPI untuk VM.

  • Aktifkan opsi VirtualBox ACPI:

    VBoxManage memodifikasivm [nameofmachine] --acpi aktif
  • Instal dukungan ACPI di Ubuntu VM:

    sudo apt-get install acpid

Mematikan tamu dari SSH

Cara yang lebih aman untuk mematikan mesin jika Anda memiliki akses SSH adalah dengan mengeluarkan

user@virtualmachine: sudo poweroff

Ini akan dilakukan untuk mematikan dan mematikan OS tamu Anda dengan aman.

Takkat
sumber
Saya ingin menggunakan VM sebagai server LAMP untuk tujuan pengujian. Jadi setelah pengaturan awal, saya ingin menghindari berinteraksi dengannya sepenuhnya (seperti SSH). Tapi sepertinya tidak ada cara bersih untuk shutdown dengan VirtualBox.
Oxwivi
Tunggu, sekarang setelah Anda sebutkan VBoxManage, saya memeriksa halaman manualnya - ada opsi yang sesuai VBoxManage controlvm <uuid>|<name> acpipowerbutton. Apakah Server Ubuntu akan menghormati sinyal dan shutdown?
Oxwivi
Saya pikir paket acpiditu diperlukan. Meskipun saya perlu memeriksa apakah itu diinstal secara default di Server Ubuntu.
Oxwivi
Saya menggunakan trik acpipowerbutton untuk mematikan beberapa Mesin Virtual Windows dari cron dan bekerja dengan sangat baik. Sayangnya, saya tidak pernah mencoba menggunakannya untuk mematikan server linux.
Javier Rivera
1
Silakan tambahkan itu ke jawabannya.
Oxwivi
0

Saya menemukan ini di sini dan mengujinya - berfungsi dengan baik.

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

menganggap samba diinstal pada host.

Kylea
sumber