Azure Virtual Machine 修復コマンドを使用して Linux VM を修復する

Azure の Linux 仮想マシン (VM) でブートまたはディスク エラーが発生した場合は、ディスク自体に対して軽減策を実行する必要がある場合があります。 一般的な例として、VM の正常な起動を妨げる失敗したアプリケーション更新が挙げられます。 この記事では、Azure Virtual Machine 修復コマンドを使用してディスクを別の Linux VM に接続してエラーを修正し、元の VM を再構築する方法について説明します。

重要

  • この記事のスクリプトは、Azure Resource Managerを使用する VM にのみ適用されます。
  • スクリプトを実行するには、VM からの送信接続 (ポート 443) が必要です。
  • 一度に実行できるのは 1 つのスクリプトだけです。
  • 実行中のスクリプトを取り消すことはできません。
  • スクリプトを実行できる最大時間は 90 分で、その後タイムアウトします。
  • 修復 VM で作成されたタグは変更しないでください。 タグは、restore コマンドが正しく機能するために必要です。
  • Azure Disk Encryption を使用する VM の場合、シングル パス暗号化 (KEK の有無にかかわらず) で暗号化されたマネージド ディスクのみがサポートされます。

修復プロセスの概要

Azure Virtual Machine 修復コマンドを使用して VM の OS ディスクを変更できるようになりました。VM を削除して再作成する必要はなくなりました。

VM の問題をトラブルシューティングするには、次の手順に従います。

  1. Azure Cloud Shellを起動する
  2. az extension add/update を実行する
  3. az vm repair create を実行する
  4. az vm repair run を実行するか、軽減手順を実行します。
  5. az vm repair restore を実行する

使用可能なすべての VM 修復コマンドとパラメーターを表示するには、 az vm repair に関するページを参照してください。

コマンドを実行するには、サブスクリプションに次の種類のリソースを作成できるロールが必要です。

  • リソース グループ
  • Azure仮想マシン
  • リソース タグ
  • 仮想ネットワーク
  • ネットワーク セキュリティ グループ
  • ネットワーク インターフェイス
  • ディスク
  • パブリック IP アドレス (省略可能)

修復プロセスの例

  1. Azure Cloud Shellを起動する

    Azure Cloud Shellは、この記事の手順を実行するために使用できる無料の対話型シェルです。 これには、アカウントで使用するようにプレインストールおよび構成された一般的な Azure ツールが含まれています。 20 分を超える修復スクリプトを実行する場合は、コマンドをローカルで実行することもできます。 コマンドをローカルで実行するには、Azure CLI バージョン 2.0.67 以降のバージョンが必要です。 を実行 az --version してバージョンを見つけます。 Azure CLI をインストールまたはアップグレードする必要がある場合は、「 Azure CLI のインストール」を参照してください。

    Cloud Shellを開くには、コード ブロックの右上隅にある [してみる] を選択します。 に移動して、別のブラウザー タブでCloud Shellをhttps://shell.azure.com開くこともできます。

    [コピー] を選択してコード ブロックをコピーし、コードをCloud Shellに貼り付けて、Enter キーを押して実行します。

    CLI をローカルにインストールして使用する場合、このクイックスタートには Azure CLI バージョン 2.0.67 以降が必要です。 を実行 az --version してバージョンを見つけます。 Azure CLI をインストールまたはアップグレードする必要がある場合は、「 Azure CLI のインストール」を参照してください。

    現在Azure portalにログインしているアカウントとは異なるアカウントでCloud Shellにログインする必要がある場合は、az login reference を使用az loginできます。 アカウントに関連付けられているサブスクリプションを切り替えるには、az account set reference を使用az account set --subscriptionできます。

  2. コマンドを初めて使用する az vm repair 場合は、vm-repair CLI 拡張機能を追加します。

    az extension add -n vm-repair
    

    以前にコマンドを az vm repair 使用したことがある場合は、vm-repair 拡張機能に更新プログラムを適用します。

    az extension update -n vm-repair
    
  3. az vm repair create を実行します。 このコマンドは、非機能 VM の OS ディスクのコピーを作成し、新しいリソース グループに修復 VM を作成し、OS ディスクのコピーをアタッチします。 修復 VM は、指定された非機能 VM と同じサイズとリージョンになります。 すべての手順で使用されるリソース グループと VM 名は、機能しない VM 用になります。 VM で Azure Disk Encryption を使用している場合は、 を使用 --unlock-encrypted-vm して暗号化されたディスクのロックを解除し、修復 VM にアタッチされたときにアクセスできるようにします。 詳細については、「 ディスクで ADE が有効になっていることを確認する」を参照してください。

重要

実行コマンドと復元コマンドでは、create コマンドで使用されるのと同じケースを使用してすべての入力を入力し、修復 VM 上のタグをメモするか参照して、使用されたものを確認する必要があります。

VM の修復の例

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --verbose
  1. az vm repair run を実行します。 このコマンドは、修復 VM を介して、アタッチされたディスクで指定された修復スクリプトを実行します。 使用しているトラブルシューティング ガイドで実行 ID が指定されている場合は、ここで使用します。 それ以外の場合は、 を使用 az vm repair list-scripts して、使用可能な修復スクリプトを表示できます。 ここで使用するリソース グループと VM 名は、手順 3 で使用する機能しない VM 用です。 修復スクリプトに関する追加情報については、 修復スクリプト ライブラリを参照してください。

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id lin-hello-world --verbose
    

    必要に応じて、修復 VM を使用して必要な手動軽減手順を実行し、手順 5 に進むことができます。

  2. az vm repair restore を実行します。 このコマンドは、修復された OS ディスクを VM の元の OS ディスクと交換します。 ここで使用するリソース グループと VM 名は、手順 3 で使用する機能しない VM 用です。

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

ブート診断を確認して有効にする

次の例では、myResourceGroup という名前のリソース グループの myVMDeployed という名前の VM で診断拡張機能を有効にします。

Azure CLI

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

次の手順

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

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