Share via


Azure Linux 自動修復 (ALAR) を使用して Linux VM を修正する

次回 Azure Linux 仮想マシン (VM) で修復を実行する必要がある場合は、Azure Linux Auto Repair (ALAR) スクリプトを使用してジョブを自動化できます。 ジョブを手動で実行する必要はなくなりました。 これらのスクリプトを使用すると、復旧プロセスが簡略化され、経験の浅いユーザーでも Linux VM を簡単に復旧できます。

ALAR では、「 Azure Virtual Machine 修復コマンドを使用して 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 の起動に関する問題のトラブルシューティング」を参照してください。

カーネル

このアクションにより、既定のカーネルが変更されます。 このスクリプトは、壊れたカーネルを以前にインストールしたバージョンに置き換えます。

カーネル関連のスタートアップ イベントのシリアル コンソールでログに記録される可能性があるメッセージの詳細については、「 カーネル関連のブートの問題から Azure Linux 仮想マシンを回復する方法」を参照してください。

Initrd

このアクションを使用して、破損または誤って作成された initrd または initramfs を修正できます。

正しく作成された initrd または initramfs を取得するには、モジュール hv_vmbushv_netvsc、および hv_storvsc をイメージに追加します。

Initrd 関連のスタートアップの問題は、次のログに記録された症状として表示される可能性があります。

VFS を同期しない動作しない init が見つかりません

どちらの場合も、エラー エントリがログに記録される前に、次の情報がログに記録されます。

アンパックに失敗しました

serialconsole

このアクションにより、Linux カーネルまたは GRUB の正しくないシリアル コンソール構成または形式が正しくないシリアル コンソール構成が修正されます。 このアクションは、次の場合に実行することをお勧めします。

  • VM の起動時に GRUB メニューは表示されません。
  • オペレーティング システムに関連する情報はシリアル コンソールに書き込まれます。

grubfix

このアクションは、GRUB を再インストールし、 grub.cfg ファイルを再生成するために使用できます。

efifix

このアクションを使用して、GEN2 VM から起動するために必要なソフトウェアを再インストールできます。 grub.cfg ファイルも再生成されます。

auditd

監査デーモン構成が原因で起動直後に VM がシャットダウンする場合は、このアクションを使用します。 このアクションにより、(/etc/audit/auditd.conf ファイル内の) 監査デーモン構成が変更されます。これは、パラメーターactionに対して構成された値を にSYSLOG変更HALTすることで、システムのシャットダウンを強制しません。 論理ボリューム・マネージャー (LVM) 環境では、監査ログを含む論理ボリュームがいっぱいで、ボリューム・グループに使用可能なスペースがある場合、論理ボリュームも現在のサイズの 10% 拡張されます。 ただし、LVM 環境を使用していない場合、または使用可能な領域がない場合は、構成ファイルのみが変更されます。

ALAR の使用方法

ALAR スクリプトでは、修復拡張機能 run コマンドとそのオプションが --run-id 使用されます。 自動復旧の --run-id オプションの値は です linux-alar2。 ALAR スクリプトを使用して Linux VM を修正するには、次の手順に従います。

  1. レスキュー 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
    
  2. レスキュー VM で ALAR アクションのいずれかを使用してスクリプトを実行します。

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. OS ディスクを交換し、一時的なリソースを削除します。

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    注:

    元のディスクと新しいディスクは削除されません。

上記のコマンドのパラメーターの説明を次に示します。

  • RG-NAME: 壊れた VM を含むリソース グループの名前。

  • VM-NAME: 壊れた VM の名前。

  • RESCUE-UID: 修復 VM でログイン用に作成されたユーザー。 これは、Azure portal内の新しい VM で作成されたユーザーと同じです。

  • RESCUE-PASS: のパスワード RESCUE-UIDを単一引用符で囲みます。 例: 'password!234'

  • DISK-COPY: 壊れた VM から作成される OS ディスク コピーの名前。

  • ACTION: または fstabなどinitrd、実行するスクリプト化されたタスク。

    注:

    単一または複数の復旧操作を渡すことができます。 複数の操作の場合は、スペースを含まないコンマ (など fstab,initrd) を使用して線を付けます。

制限

クラシック VM はサポートされていません。

次の手順

バグが発生した場合、または ALAR ツールの機能強化を要求する場合は、 GitHub にコメントを投稿してください。

ALAR ツールに関する最新情報は 、GitHub でも確認できます。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。