針對 Linux VM 上的休眠進行疑難解答
藉由讓虛擬機器進入休眠,可將 VM 狀態保存至作業系統磁碟。 本文說明如何針對Linux上休眠功能的問題進行疑難解答、建立已啟用休眠的Linux VM的問題,以及休眠Linux VM的問題。
若要檢視休眠的一般疑難解答指南,請參閱 針對 Azure 中的休眠進行疑難解答。
無法休眠 Linux VM
如果您無法休眠 VM,請先 檢查 VM 上是否已啟用休眠。
如果 VM 已啟用休眠功能,則檢查客體作業系統中是否成功啟用休眠功能。 如果您使用擴充功能來啟用客體OS中的休眠狀態,您可以檢查擴充功能狀態。
客體 Linux VM 無法休眠
如果您使用擴充功能來啟用客體OS中的休眠狀態,您可以檢查擴充功能狀態。
如果使用 hibernation-setup-tool 來設定客體休眠功能,則可以透過此命令檢查工具是否成功執行:
systemctl status hibernation-setup-tool
成功狀態應該會傳回「非作用中 (無效)」,記錄訊息則應會顯示「已成功設定 VM 休眠的分頁檔」
範例:
azureuser@:~$ systemctl status hibernation-setup-tool
● hibernation-setup-tool.service - Hibernation Setup Tool
Loaded: loaded (/lib/systemd/system/hibernation-setup-tool.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2021-08-25 22:44:29 UTC; 17min ago
Process: 1131 ExecStart=/usr/sbin/hibernation-setup-tool (code=exited, status=0/SUCCESS)
Main PID: 1131 (code=exited, status=0/SUCCESS)
linuxhib2 hibernation-setup-tool[1131]: INFO: update-grub2 finished successfully.
linuxhib2 hibernation-setup-tool[1131]: INFO: udev rule to hibernate with systemd set up in /etc/udev/rules.d/99-vm-hibernation.rules. Telling udev about it.
...
...
linuxhib2 hibernation-setup-tool[1131]: INFO: systemctl finished successfully.
linuxhib2 hibernation-setup-tool[1131]: INFO: Swap file for VM hibernation set up successfully
如果並未針對客體作業系統設定休眠,請採取適當動作來解決問題。 例如,如果客體因空間不足而無法設定休眠,請調整客體磁碟的大小來解決問題。
Debian 映像停用 Azure 延伸模組
Debian 映像目前預設停用 Azure 延伸模組 (如需詳細資訊,請參閱:https://lists.debian.org/debian-cloud/2023/07/msg00037.html)。 如果想要透過 LinuxHibernationExtension 啟用 Debian 型 VM 的休眠功能,可以利用 cloud-init 自訂資料,重新啟用對 VM 延伸模組的支援:
#!/bin/sh
sed -i -e 's/^Extensions\.Enabled =.* $/Extensions.Enabled=y/" /etc/waagent.conf
或者,您可以在Linux VM上安裝休眠-setup-tool,以在客體上啟用休眠功能。