Azure Stack HCI バージョン 23H2 の Azure portal デプロイ検証に関する問題のトラブルシューティング

適用対象: Azure Stack HCI、2405 以降を実行しているバージョン 23H2

この記事では、Azure portal を使用して Azure Stack HCI クラスターのデプロイ中に発生したデプロイ検証の問題をトラブルシューティングする方法について説明します。

エラー - デプロイ検証エラー

Azure Portal を使用して Azure Stack HCI バージョン 23H2 をデプロイすると、デプロイ検証エラーが発生する可能性があります。 "Azure Stack HCI ネットワーク - ネットワーク要件の確認" 検証タスクが失敗し、次のエラーが発生します。

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 スイッチの削除を検出していません。

マルチステップ解決プロセスには、次の手順が含まれます。

Note

この記事のすべての手順は、シード ノードで実行する必要があります。

シード ノードからロックを削除する

シード ノードからロックを削除するには、次の手順に従います。

  1. ロックを削除するには、Azure portal で、リソース グループまたは Machines - Azure Arc 内でオブジェクトに移動します。
  2. 左側のウィンドウで、 Settings > Locks に移動します。 DoNotDelete という名前のロックが表示されます。 これは、ノードのオンボード時に作成される自動リソース ロックです。
  3. ロックに対して 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.

検証エラーを削除する

ロックが削除された状態で、次の手順に従って検証エラーを削除します。

  1. シード ノードに接続します。 次の PowerShell コマンドを実行します。

    Get-VMSwitch
    
  2. Get-VMSwitch コマンドの出力で、ネットワーク検証手順中に作成され、"ConvergedSwitch(compute_management)"のような名前のスイッチなど、予期しない VM スイッチを確認します。 スイッチの正確な名前は、選択したネットワーク インテントの構成によって異なります。

  3. 意図的に作成しなかった 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 リソースをクリーンアップします。

  1. Azure にアクセスできるクライアントで、AZ CLI のインストールまたはインストールを確認します。 Windows に Azure CLI をインストールする

    • インストールを確認するには、次のコマンドを実行します。 az
    • インストールされている場合は、使用可能なコマンドを含む "Welcome to Azure CLI!" メッセージが出力されます。
  2. Azure CLI を使用して Azure にサインインします。 次のコマンドを実行します。

    az login --tenant <tenant ID> --use-device-code
    

    詳細については、 Azure CLI を使用して対話形式でサインインします

  3. 特定のサブスクリプションを設定するには、次のコマンドを実行します。

    az account set --subscription "<Subscription ID>"
    

    上記のコマンド例の値を、 <Subscription ID>の適切な値に置き換えます。

  4. 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"

  5. edgeDevices データを出力して動作した show コマンドを確認し、"switchDetails"を確認した後、シード ノードから適切に更新できるように、ARM からリソースをdeleteします。

    Note

    edgeDevices データの削除は安全な操作ですが、明示的に指定されている場合にのみ実行する必要があります。 この操作は、推奨されない限り実行しないでください。

  6. 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であるため、同じ文字列を使用できます。 実際には、コンソールの "上矢印" だけで、 showdeleteに置き換えることができます。

    出力例を次に示します。

    `az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    実行時に、このコマンドからの出力はありません。 コマンドが動作し、コマンド プロンプトが返されるか、エラーが表示されます。 エラーは表示されませんが、表示される場合は、より多くのトラブルシューティングが必要になります。

  7. 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 データをもう一度更新します。

クラウド データを更新するには、次の手順に従います。

  1. シード ノードで DeviceManagementService を再起動します。 次の PowerShell コマンドを実行します。

     Restart-Service DeviceManagementService
    
  2. 数分待ってから、クラウド edgeDevices データが更新され、現在の状態が反映されていることを確認します。 show コマンドをもう一度実行し、出力を確認します。 出力に予期しない VM スイッチが含まれていないことを確認します。つまり、次のようになります。

    "switchName": "ConvergedSwitch(managementcompute)", "switchType": "External"

Azure portal を使用してデプロイを再起動する

デバイスとクラウドのデータが同期に戻ったら、Azure portal に移動してデプロイの入力を提供できます。 前の手順では、キャッシュされた情報が以前の試行から除外されます。

Azure Portal で次の手順に従います。

  1. [ Basics タブで、入力を (ドロップダウンからもう一度選択して) 上部のフィールドに入力します。

  2. ページの下部にあるノードをオフにします。

  3. 再選択されたノードを再検証します。

  4. 後続のページの情報を確認します。 次の変更が表示されます。

    • 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 エラーは表示されません。
  5. 他の検証の問題が発生しない場合は、デプロイを開始します。

シード ノード リソースのロックを再作成する

軽減策が完了したら、リソースのロックを再作成することを強くお勧めします。

ロックを再作成するには、次の手順に従います。

  1. Azure portal で、リソース グループまたは Machines - Azure Arc 内でオブジェクトに移動します。
  2. Settings > Locks に移動します。
  3. ページの上部にある [ + 追加 を選択します。
    1. Lock 名に「DoNotDelete」と入力します。
    2. Lock の種類ドロップダウンから Delete を選択します。
  4. OK を選択してロックを保存します。