Azure Local Version 23H2 の Azure portal デプロイ検証に関する問題のトラブルシューティング
適用対象: 2405 以降を実行している Azure Local バージョン 23H2
この記事では、Azure Portal を使用して Azure Local のデプロイ中に発生したデプロイ検証の問題をトラブルシューティングする方法に関するガイダンスを提供します。
エラー - デプロイ検証エラー
Azure Portal を使用して Azure Local バージョン 23H2 をデプロイすると、デプロイ検証エラーが発生する可能性があります。 "Azure Local Network - Check network requirements" 検証タスクは、次のエラーで失敗します。
Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified for
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].
Azure portal デプロイの [ Networking ] タブに移動すると、 Network Intent 構成内に次のエラーが表示される可能性があります。
The selected physical network adapter is not binded to the management virtual switch.
原因
この問題は、8 月 6 日以降にトリガーされるデプロイで発生します。 この問題は、システムでデプロイ検証がトリガーされ、検証結果が失敗し、以降の検証の再試行が発生した場合に発生します。
この問題は、次の理由で発生します。
- デバイスの検証により、ネットワーク関連のテスト用の VM スイッチが作成され、テストの終了時に削除されます。
DeviceManagementExtension
拡張機能が VM スイッチの削除を検出していません。
推奨される解決方法
マルチステップ解決プロセスには、次の手順が含まれます。
- シード ノードからロックを削除する
- 検証エラーを削除する
- VM スイッチ情報が正しくない Edge デバイス Azure リソースをクリーンアップする
- クラウド データを更新する
- Azure portal を使用してデプロイを再起動する
- シード ノード リソースのロックを再作成する
Note
この記事のすべての手順は、シード ノードで実行する必要があります。
シード ノードからロックを削除する
シード ノードからロックを削除するには、次の手順に従います。
- ロックを削除するには、Azure portal で、リソース グループまたは Machines - Azure Arc 内でオブジェクトに移動します。
- 左側のウィンドウで、 Settings > Locks に移動します。 DoNotDelete という名前のロックが表示されます。 これは、ノードのオンボード時に作成される自動リソース ロックです。
- ロックに対して Delete を選択します。
ロックを削除せずに次のセクションの手順を実行しようとすると、 Delete コマンドは次のエラーで失敗します。
Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default
--verbose
スイッチを使用して実行する場合の出力例を次に示します。
(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
検証エラーを削除する
ロックが削除された状態で、次の手順に従って検証エラーを削除します。
シード ノードに接続します。 次の PowerShell コマンドを実行します。
Get-VMSwitch
Get-VMSwitch
コマンドの出力で、ネットワーク検証手順中に作成され、"ConvergedSwitch(compute_management)"
のような名前のスイッチなど、予期しない VM スイッチを確認します。 スイッチの正確な名前は、選択したネットワーク インテントの構成によって異なります。意図的に作成しなかった VM スイッチが存在する場合は、スイッチを削除します。 次の PowerShell コマンドを実行します。
Remove-VMSwitch -Name "<VM Switch Name>" -Force
必ず、
Get-VMSwitch
コマンドの VM スイッチ名を使用してください。 VM スイッチを意図的に作成しなかった場合、Get-VMSwitch
コマンドの結果はありません。 このエラーは、ネットワーク検証ステップによって VM スイッチがクリーンアップされたが、DeviceManagementExtension
がクリーンアップを検出しなかったために発生します。
クリーンアップ手順に進みます。
VM スイッチ情報が正しくない Edge デバイス Azure リソースをクリーンアップする
デバイスの VM スイッチが削除されたら、Azure CLI を使用して、正しくない VM スイッチ情報を含む Edge デバイス ARM リソースをクリーンアップします。
Azure にアクセスできるクライアントで、AZ CLI のインストールまたはインストールを確認します。 Windows に Azure CLI をインストールする
- インストールを確認するには、次のコマンドを実行します。
az
- インストールされている場合は、使用可能なコマンドを含む
"Welcome to Azure CLI!"
メッセージが出力されます。
- インストールを確認するには、次のコマンドを実行します。
Azure CLI を使用して Azure にサインインします。 次のコマンドを実行します。
az login --tenant <tenant ID> --use-device-code
詳細については、 Azure CLI を使用して対話形式でサインインします
特定のサブスクリプションを設定するには、次のコマンドを実行します。
az account set --subscription "<Subscription ID>"
上記のコマンド例の値を、
<Subscription ID>
の適切な値に置き換えます。VM スイッチ情報が正しく格納されていない
edgeDevices
リソース内に格納されているデータを出力します。 次のコマンドを実行します。az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
上記のコマンド例の値を、
<Subscription ID>
、<Resource Group Name>
、<Machine Name>
の適切な値に置き換えます。出力例を次に示します。
az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
このコマンドの出力には、コマンドで使用される <Machine Name> に関する詳細が表示されます。 出力の下部には、
"switchDetails"
のセクションがあります。これは、多くの場合、次のように表示されます (これは、デバイスで作成およびクリーンアップされた検証 VM スイッチですが、DeviceManagementExtension と更新されたクラウド側では検出されませんでした)。"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
edgeDevices
データを出力して動作したshow
コマンドを確認し、"switchDetails"
を確認した後、シード ノードから適切に更新できるように、ARM からリソースをdelete
します。Note
edgeDevices
データの削除は安全な操作ですが、明示的に指定されている場合にのみ実行する必要があります。 この操作は、推奨されない限り実行しないでください。VM スイッチ情報が正しく格納されていない
edgeDevices
リソースを削除します。 次のコマンドを実行します。az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
値 ( <> 文字も必ず削除してください) を、次の適切な値に置き換えます。
<subGUID>
<resourceGROUPNAME>
<Machine Name>
これは
show
と同じリソース--ids
であるため、同じ文字列を使用できます。 実際には、コンソールの "上矢印" だけで、show
をdelete
に置き換えることができます。出力例を次に示します。
`az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
実行時に、このコマンドからの出力はありません。 コマンドが動作し、コマンド プロンプトが返されるか、エラーが表示されます。 エラーは表示されませんが、表示される場合は、より多くのトラブルシューティングが必要になります。
show
コマンドをもう一度実行して、リソースの削除を確認します。 出力例を次に示します。(ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found. Code: ResourceNotFound Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
クラウド edgeDevices
データを更新する
ARM リソースと意図しない VM スイッチがすべて削除された状態で、クラウド側の edgeDevices
データをもう一度更新します。
クラウド データを更新するには、次の手順に従います。
シード ノードで
DeviceManagementService
を再起動します。 次の PowerShell コマンドを実行します。Restart-Service DeviceManagementService
数分待ってから、クラウド
edgeDevices
データが更新され、現在の状態が反映されていることを確認します。show
コマンドをもう一度実行し、出力を確認します。 出力に予期しない VM スイッチが含まれていないことを確認します。つまり、次のようになります。"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Azure portal を使用してデプロイを再起動する
デバイスとクラウドのデータが同期に戻ったら、Azure portal に移動してデプロイの入力を提供できます。 前の手順では、キャッシュされた情報が以前の試行から除外されます。
Azure Portal で次の手順に従います。
[ Basics タブで、入力を (ドロップダウンからもう一度選択して) 上部のフィールドに入力します。
ページの下部にあるノードをオフにします。
再選択されたノードを再検証します。
後続のページの情報を確認します。 次の変更が表示されます。
- Networking ページに、以前に表示された可能性のある
The selected physical network adapter is not binded to the management virtual Switch
エラーが表示されなくなります。 - 最後の Validation ページで、元の問題を超えた場合、
deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address
エラーは表示されません。
- Networking ページに、以前に表示された可能性のある
他の検証の問題が発生しない場合は、デプロイを開始します。
シード ノード リソースのロックを再作成する
軽減策が完了したら、リソースのロックを再作成することを強くお勧めします。
ロックを再作成するには、次の手順に従います。
- Azure portal で、リソース グループまたは Machines - Azure Arc 内でオブジェクトに移動します。
- Settings > Locks に移動します。
- ページの上部にある [ + 追加 を選択します。
- Lock 名に「DoNotDelete」と入力します。
- Lock の種類ドロップダウンから Delete を選択します。
- OK を選択してロックを保存します。