次の方法で共有


移行された VM のゲスト管理を有効にする (プレビュー)

適用対象: Azure Local バージョン 23H2

この記事では、Azure Local バージョン 23H2 で実行されている Arc 仮想マシン (VM) の移行後にゲスト管理を有効にする方法について説明します。

その他のシナリオの詳細については、「 Azure Local での Arc VM の管理」を参照してください。

出力プロパティは、VM が移行されたかどうかによって異なる場合があります。

重要

現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

前提条件

開始する前に、次の手順を完了します。

  • Arc リソース ブリッジとカスタムの場所が構成された、デプロイおよび登録された Azure Local インスタンスにアクセスできます。

  • システムで Azure Local バージョン 23H2 リリース 2405 以降が実行されています。

  • Azure CLI は Azure ローカル インスタンスにインストールされます。 手順については、「 Windows 用 Azure CLI をインストールするを参照してください。

  • 管理者として PowerShell を実行して、 stack-hci-vm Azure 拡張機能を追加します。

    • stack-hci-vm 拡張機能を追加するには、次のコマンドレットを実行します。

      az extension add --name stack-hci-vm --upgrade 
      
    • インストールを確認し、 stack-hci-vm バージョンが 1.1.5 以降であることを確認するには、

      PS C:\Users\AzureStackAdminD> az version
      {
          "azure-cli": ”2.60.0”,
          "azure-cli-core": ”2.60.0”,
          "azure-cli-telemetry": "1.1.0",
          "extensions": {
              "aksarc": ‘1. 2.20" ,
              "arcappliance": "1.1.1", 
              "connectedk8s": "1.6. 2‘ ,
              "customlocation": "0.1.3",
              "k8s-extension": "1.4. 5" ,
              "stack-hci-vm": "1.1.8"
      }
      
  • Arc VM とゲスト管理機能と考慮事項について理解します。「 ゲスト管理を可能にする」を参照してください。

移行された VM でゲスト エージェントを有効にする

次の手順に進む前に、すべての Hyper-V 第 1 世代 VM の電源をオフにする必要があります。 Hyper-V 第 2 世代 VM にはこのような要件はなく、オンまたはオフにすることができ、両方の電源状態が動作することが期待されます。

手順 1: 移行された VM の電源状態を次のように確認します。

  1. Hyper-V 第 1 世代の場合は、VM が停止していることを確認します。 エラー メッセージが停止していない場合は、付録を参照してください。

    Azure portal の使用 (推奨)

    1. Azure portal から移行された VM を停止するには、VM の詳細ページで Stop を選択します。

    VM を停止する方法を示す Azure portal のスクリーンショット。

    1. ページを待って更新すると、VM StatusStopped として表示されます。

    Azure CLI の使用

    1. Azure ローカル コンピューターに接続し、PowerShell ウィンドウを開きます。 Azure CLI でサインオンします。

      az login --use-device-code --tenant $tenantId
      
    2. Azure CLI を使用して VM の電源状態を次のように確認します。

      az stack-hci-vm show --name $vmName --resource-group $rgName --query "properties.status"
      

      サンプル出力:

      PS C : \Users\AzureStackAdminD> az stack-hci-vm show --name <VM name> --resource-group <resource group> --query "properties.status"
      {
          "errorCode":
          "errorMessage" :
          "powerstate": "Stopped",
          "provisioningstatus": null
      }
      
  2. Hyper-V 第 2 世代 VM の場合は、Azure portal に表示される電源状態が、On または Off のいずれであるかに関係なく、Hyper-V マネージャー上の移行された VM の実際の電源状態と一致していることを確認します

    Azure portal のビュー

    Azure portal の VM の電源状態を示すスクリーンショット。

    Hyper-V マネージャー ビュー

    Hyper-V マネージャーでの VM の電源状態を示すスクリーンショット。

手順 2: 移行された VM 上のゲスト エージェントの ISO を次のようにアタッチします。

Azure ローカル コンピューターに接続し、PowerShell で次のコマンドを実行します。 $vmName は、ゲスト エージェントを有効にするために移行された VM の名前であり、 $rgName は、この VM が Azure 上に存在するリソース グループの名前です。

az stack-hci-vm update --name $vmName --resource-group $rgName --enable-vm-config-agent true

サンプル出力:

PS C:\Users\AzureStackAdminD> az stack-hci-vm update --name $vmName -enable-vm-config-agent true --resource-group $resourceGroup
{
"endTime": "2024-08-19T22:01:22.1060463z",
"error": {},
"extendedLocation": null ,
"id": "<ID>",
"identity": null,
"name": "<Name>",
"properties": null,
"resourceld": "<Resource ID>",
"startTime": "2024-08-19T22: 01:09.4898702z" ,
"status": "Succeeded",
"systemData" : null,
"type": null
}

AZURE ローカル システムから表示された、ISO がアタッチされた VM の状態のサンプル:

ISO 添付ファイルを示すスクリーンショット。

手順 3: 必要に応じて、Azure portal で移行された VM を有効にし、次のようにパブリック ネットワーク接続を確保します。

  1. Azure portal 上の VM StatusRunning であることを確認します:

    Azure portal の VM の状態を示すスクリーンショット。

  2. PowerShell ウィンドウで Azure ローカル コンピューターで次のコマンドを実行して、VM powerStateRunning であることを確認します。

    az stack-hci-vm show --name $vmName --resource-group $rgName --query “properties.status” 
    
    PS C: \Users\AzureStackAdminD> az stack-hci-vm show --name <Name> --resource-group <Resource group> --query "properties.status" 
    {
    "errorCode":
    "errorMessage":
    "powerState": "Running",
    "provisioningStatus": null
    }
    

手順 4: 次のように、移行された VM にゲスト エージェント ISO をインストールします。

  1. 該当する OS 固有の手順を使用して VM に接続します。

  2. VM でパブリック ネットワーク接続を確立します。

  3. 次のコマンドを実行して、使用している OS に基づいて VM でゲスト エージェントを有効にします。

    • Linux の場合は、 Terminal を開き、次のコマンドを実行します。

      sudo -- sh -c 'mkdir /mociso && mount -L mocguestagentprov /mociso && bash /mociso/install.sh && umount /mociso && rm -df /mociso'
      

      サンプル出力 (Linux):

      migration@migration-virtual-machine: $ sudo -- sh -c 'mkdir /mociso && mount -L mocguestagentprov /nociso && bash /mociso/install.sh && umount /mociso && rm -df/mociso && eject LABEL=mocguestagentprov'
      [sudo] password for migration:
      mount: /moctso: WARNING: device write-protected, mounted read-only.
      Loading configuration version 've.16.5'...
      The agent could not find the '/opt/mocguestagent/v0.16.5/config.yaml' config file. Looking for older versions to upgrade from...
      Service installed.
      Service started.
      The guest agent was successfully installed.
      
    • Windows の場合は、管理者として PowerShell を開き、次のコマンドを実行します。

        $d=Get-Volume -FileSystemLabel mocguestagentprov;$p=Join-Path ($d.DriveLetter+':\') 'install.ps1';powershell $p 
      

      サンプル出力 (Windows):

PS C:\Users\Administrator> $d=Get-Volume -FilesystemLabel mocguestagentprov;$p=Join-Path ($d.DriveLetter+':\') 'install ps1';powershell $p

Directory : C : \ProgramData\mocguestagent


Mode	LastWriteTime	Length Name
----    -------------   -----------
d------	8/19/2024	5:46 PM	certs
Loading configuration version 'v0.16.5'...
The agent could not find the 'C:\ProgramData\mocguestagent\v0.16.5\config.yaml' config file. Looking for older versions to upgrade from...
Service installed.
Service started.
The guest agent was successfully installed.

ゲスト管理の有効化

ゲスト エージェントの実行後に、次のようにゲスト管理を有効にすることができます。

  1. Azure CLI で次のコマンドを実行して、Azure ローカル インスタンスからのゲスト管理を有効にします。

    az stack-hci-vm update --name $vmName --resource-group $rgName --enable-agent true
    

    サンプル出力:

    PS C:\Users\AzureStackAdminD> az stack-hci-vm update --name $vmName --resource-group $resourceGroup --enable-agent true
    {
    "endTime": "2024-08-19T22:59:13.9583373Z”,
    "error": {},
    "extendedLocation" : null,
    "id": "/<ID>",
    "identity": null,
    "name": "<Name>",
    "properties": null,
    "resourceld": "<Resource ID",
    "startTime": "2024-08-19t22:28:23.8158331Z",
    "status": "Succeeded",
    "systemData": null,
    "type": null
    }
    
  2. Azure portal でゲスト管理の有効化状態を確認します。

    Azure portal でのゲスト管理の有効化のスクリーンショット。

  3. これで、選択した Azure 拡張機能を追加する準備ができました。

問題が発生した場合は、Microsoft サポートに連絡し、ログとデプロイの詳細を指定してください。

付録

--enable-vm-config-agent trueで更新コマンドを実行する前に Hyper-V 第 1 世代 VM をオフにするのを忘れた場合、更新コマンドは失敗し、VM が Azure portal から管理できなくなる可能性があります。

PS C:\Users\AzureStackAdminD> az stack-hci-vm update --name <VM name> -- resource-group <Resource group> --enable-vm-config-agent true
(Failed) moc-operator virtualmachine serviceclient returned an error while reconciling: rpc error: code = Unknown dasc = AddlSODisk for IsoFile mocguestagentprov.iso failed. Error: ErrorCode[32768] ErrorDescription[<VM name>' failed to add device 'Synthetic DVD Drive'. (Virtual machine ID <VM ID>)] ErrorSummaryDescription [Failed to add device 'Synthetic DVD Drive'.]: WMI Error 0x00008000: Failed
Code: Failed
Message: moc-operator virtualmachine serviceclient returned an error while reconciling: rpc error: code = Unknown desc = AddlSODisk for IsoFile mocguestagentprov.iso failed. Error: ErrorCode[32768] ErrorDescription['<VM name>' failed to add device 'Synthetic DVD Drive'. (Virtual machine ID <VM ID>)] ErrorSummaryDescription [Failed to add device 'Synthetic DVD Drive'.]: WMI Error 0x00008000: Failed

これを解決するには、 Stop を選択して Azure portal で VM を停止します。 これが機能しない場合は、Azure CLI から次のコマンドを実行します。

az stack-hci-vm stop --name $vmName --resource-group $rgName

Azure portal で StartRestartStop の選択が無効になっていると、Resource のプロビジョニングに失敗しましたエラーが表示されることがありますが、Hyper-V マネージャーは VM が実際に停止したことを示す必要があります。

[リソースのプロビジョニングに失敗しました] エラーを示すスクリーンショット。

az stack-hci-vm update --name $vmName --resource-group $rgName --enable-vm-config-agent true 

次のステップ