Azure Linux 自動修復 (ALAR) を使用して Linux VM を修正する
適用対象: ✔️ Linux VM
次回 Azure Linux 仮想マシン (VM) で修復を実行する必要がある場合は、Azure Linux Auto Repair (ALAR) スクリプトを自動的に配置することで、ジョブを自動化できます。 ジョブを手動で実行する必要がなくなりました。 これらのスクリプトを使用すると、復旧プロセスが簡略化され、経験の浅いユーザーでも Linux VM を簡単に復旧できます。
ALAR では、Azure 仮想マシンの修復コマンドを使用して Linux VM 修復するで説明されている VM 修復拡張機能を利用します。
ALAR では、次の修復シナリオについて説明します。
- 形式が正しくない /etc/fstab 構文エラーがディスクに見つからない
- /boot/grub/grub.cfg で initrd が破損しているか、initrd 行が見つからない
- 最後にインストールされたカーネルが起動できない
- シリアル コンソールと GRUB シリアルが正しく構成されていないか、見つからない
- GRUB/EFI のインストールまたは構成が破損している
ALAR アクション
fstab
このアクションにより、システムの起動に必要のない /etc/fstab ファイル内のすべての行が削除されます。 最初に、元のファイルのコピーが参照用に作成されます。 OS が起動すると、管理者は fstab を編集して、以前にシステムの再起動を許可しなかったエラーを修正できます。
形式が正しくない /etc/fstab ファイルに関する問題の詳細については、「 fstab エラーが原因で Linux VM が起動する問題を解決する」を参照してください。
kernel
このアクションにより、既定のカーネルが変更されます。 このスクリプトは、破損したカーネルを以前にインストールしたバージョンに置き換えます。
カーネル関連のスタートアップ イベントについてシリアル コンソールに記録される可能性があるメッセージの詳細については、「 カーネル関連のブートの問題から Azure Linux 仮想マシンを復旧する方法を参照してください。
initrd
このアクションを使用して、破損または誤って作成された initrd または initramfs を修正できます。
正しく作成された initrd または initramfs を取得するには、モジュール hv_vmbus
、 hv_netvsc
、および hv_storvsc
をイメージに追加します。
Initrd 関連のスタートアップの問題は、次のログに記録された症状として表示される可能性があります。
どちらの場合も、エラー エントリがログに記録される前に、次の情報がログに記録されます。
serialconsole
このアクションにより、Linux カーネルまたは GRUB のシリアル コンソール構成が正しくないか、形式が正しくありません。 このアクションは、次の場合に実行することをお勧めします。
- VM の起動時に GRUB メニューは表示されません。
- オペレーティング システムに関連する情報はシリアル コンソールに書き込まれます。
grubfix
このアクションを使用して、GRUB を再インストールし、 grub.cfg ファイルを再生成できます。
efifix
このアクションを使用して、GEN2 VM から起動するために必要なソフトウェアを再インストールできます。 grub.cfg ファイルも再生成されます。
auditd
監査デーモンの構成が原因で起動直後に VM がシャットダウンする場合は、このアクションを使用します。 このアクションでは、action
パラメーターに構成されているHALT
値をSYSLOG
に変更することで、監査デーモンの構成 (/etc/audit/auditd.conf ファイル内) が変更されます。これにより、システムのシャットダウンは強制されません。 論理ボリューム マネージャー (LVM) 環境では、監査ログを含む論理ボリュームがいっぱいで、ボリューム グループに使用可能な領域がある場合、論理ボリュームも現在のサイズの 10% 拡張されます。 ただし、LVM 環境を使用していない場合、または使用可能な領域がない場合は、構成ファイルのみが変更されます。
ALAR の使用方法
ALAR スクリプトでは、修復拡張機能 run
コマンドとその --run-id
オプションが使用されます。 自動復旧の --run-id
オプションの値は linux-alar2
。 ALAR スクリプトを使用して Linux VM を修正するには、次の手順に従います。
復旧 VM を作成します。
az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
復旧 VM で ALAR アクションのいずれかを使用してスクリプトを実行します。
az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
OS ディスクをスワップし、一時的なリソースを削除します。
az vm repair restore --verbose -g RG-NAME -n VM-NAME
Note
元のディスクと新しいディスクは削除されません。
上記のコマンドのパラメーターの説明を次に示します。
RG-NAME
: 破損した VM を含むリソース グループの名前。VM-NAME
: 破損した VM の名前。RESCUE-UID
: 修復 VM でログイン用に作成されたユーザー。 これは、Azure portal の新しい VM で作成されたユーザーと同等です。RESCUE-PASS
: 一重引用符で囲まれたRESCUE-UID
のパスワード。 (例:'password!234'
)。DISK-COPY
: 破損した VM から作成される OS ディスク コピーの名前。ACTION
:initrd
やfstab
など、実行するスクリプト化されたタスク。Note
単一または複数の復旧操作を渡すことができます。 複数の操作の場合は、
fstab,initrd
など、スペースのないコンマを使用してそれらを線付けします。
制限事項
クラシック VM はサポートされていません。
次のステップ
バグが発生した場合、または ALAR ツールの機能強化を要求する場合は、 GitHub にコメントを投稿してください。
ALAR ツールに関する最新情報は、 GitHubで確認できます。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。