Linux VM での休止状態のトラブルシューティング

重要

Microsoft Azure Virtual Machines - 休止機能は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

仮想マシンを休止状態にすると、VM の状態を OS ディスクに保持できます。 この記事では、Linux の休止状態機能に関する問題、休止状態が有効な Linux VM の作成に関する問題、Linux VM の休止状態に関する問題をトラブルシューティングする方法について説明します。

休止機能に関する一般的なトラブルシューティング ガイドについては、「Azure で休止状態のトラブルシューティングを行う」を参照してください。

Linux VM を休止状態にできない

VM を休止状態にできない場合は、まず、その VM で休止状態が有効になっているかどうかを確認します

VM で休止状態が有効になっている場合は、ゲスト OS で休止状態が正常に有効になっているかどうかを確認します。 拡張機能を使用してゲスト OS で休止状態を有効にした場合、拡張機能の状態を確認できます。

Linux VM のプロビジョニングが成功したことを示す状態表示とステータス メッセージのスクリーンショット。

ゲスト Linux VM を休止状態にできない

拡張機能を使用してゲスト OS で休止状態を有効にした場合、拡張機能の状態を確認できます。

Linux VM のプロビジョニングが成功したことを示す状態表示とステータス メッセージのスクリーンショット。

hibernation-setup-tool を使用してゲストを休止状態用に構成した場合は、次のコマンドを使用して、ツールが正常に実行されたかどうかを確認できます。

systemctl status hibernation-setup-tool 

成功した場合は、状態 "Inactive (dead)" が返され、"Swap file for VM hibernation set up successfully" というログ メッセージが表示されます

例:

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

ゲスト OS が休止状態用に構成されていない場合は、問題を解決するための適切なアクションを実行します。 たとえば、領域不足のためにゲストで休止状態を構成できない場合、問題を解決するには、OS ディスクのサイズを変更します。

Debian イメージで Azure 拡張機能が無効になる

現在、Azure 拡張機能は Debian イメージに対して既定で無効になっています (詳細については 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 の cloud init 入力フィールドのスクリーンショット。

または、hibernation-setup-tool をお使いの Linux VM にインストールして、ゲストで休止状態を有効にすることもできます。