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 の問題をトラブルシューティングするには、次の手順に従います。
- Azure Cloud Shellを起動する
- az extension add/update を実行する
- az vm repair create を実行する
- az vm repair run を実行するか、軽減手順を実行します。
- az vm repair restore を実行する
使用可能なすべての VM 修復コマンドとパラメーターを表示するには、 az vm repair に関するページを参照してください。
コマンドを実行するには、サブスクリプションに次の種類のリソースを作成できるロールが必要です。
- リソース グループ
- Azure仮想マシン
- リソース タグ
- 仮想ネットワーク
- ネットワーク セキュリティ グループ
- ネットワーク インターフェイス
- ディスク
- パブリック IP アドレス (省略可能)
修復プロセスの例
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
できます。コマンドを初めて使用する
az vm repair
場合は、vm-repair CLI 拡張機能を追加します。az extension add -n vm-repair
以前にコマンドを
az vm repair
使用したことがある場合は、vm-repair 拡張機能に更新プログラムを適用します。az extension update -n vm-repair
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
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 に進むことができます。
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/
次の手順
- VM への接続に問題がある場合は、「 Azure 仮想マシンへの RDP 接続のトラブルシューティング」を参照してください。
- VM で実行されているアプリケーションへのアクセスに関する問題については、「 Azure の仮想マシンでのアプリケーション接続の問題のトラブルシューティング」を参照してください。
- Resource Manager の使用方法の詳細については、「Azure Resource Manager の概要」をご覧ください。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示