共用方式為


開啟已移轉 VM 的來賓管理 (預覽)

適用於:Azure 本機版本 23H2

本文說明如何在 Azure 本機版本 23H2 上執行的 Arc 虛擬機器 (VM) 移轉後啟用客體管理。

如需其他案例的詳細資訊,請參閱 管理 Azure 本機上的 Arc VM。

輸出屬性可能會根據 VM 是否已移轉而有所不同。

重要

這項功能目前為「預覽」狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

必要條件

開始之前,請先完成下列作業:

  • 您可以存取已部署和註冊的 Azure 本機實例,並已設定 Arc 資源網橋和自定義位置。

  • 您的系統正在執行 Azure 本機版本 23H2 版本 2405 或更新版本。

  • Azure CLI 會安裝在 Azure 本機實例上。 如需指示,請參閱 安裝適用於 Windows 的 Azure CLI。

  • 以系統管理員身分執行 PowerShell 來 新增 stack-hci-vm Azure 擴充功能:

    • 若要新增 stack-hci-vm 擴充功能,請執行下列 Cmdlet:

      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 入口網站 (建議)

    1. 若要停止從 Azure 入口網站 移轉的 VM,請在 VM 詳細數據頁面上選取 [停止]:

    Azure 入口網站 的螢幕快照,其中顯示如何停止 VM。

    1. 等候並重新整理頁面,以查看 VM 狀態 顯示為 [已停止]。

    使用 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 入口網站 上顯示的電源狀態符合 Hyper-V 管理員上已移轉 VM 的實際電源狀態,不論其為 [開啟] 或 [關閉] :

    Azure 入口網站 檢視

    顯示 Azure 入口網站 中 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
}

已連結 ISO 的 VM 範例狀態,從 Azure 本機系統檢視:

顯示 ISO 附件的螢幕快照。

步驟 3:視需要開啟已移轉的 VM,Azure 入口網站 並確定其具有公用網路連線,如下所示:

  1. 檢查 Azure 入口網站 上的 VM 狀態是否正在執行

    顯示 Azure 入口網站 中 VM 狀態的螢幕快照。

  2. 在 PowerShell 視窗中的 Azure 本機電腦上執行下列命令,檢查 VM powerState 是否 正在執行

    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 上,請開啟 終端機 並執行:

      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 入口網站 中的來賓管理啟用狀態:

    Azure 入口網站 中來賓管理啟用的螢幕快照。

  3. 您現在已準備好新增您選擇的 Azure 擴充功能。

如果您遇到任何問題,請連絡 Microsoft 支援服務 並提供您的記錄和部署詳細數據。

附錄

如果您在使用 --enable-vm-config-agent true執行更新命令之前忘記關閉 Hyper-V 第 1 代 VM,更新命令將會失敗,且 VM 可能會從 Azure 入口網站 變得無法管理:

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

若要解決此問題,請選取 [停止],以停止 Azure 入口網站 中的 VM。 如果無法運作,請從 Azure CLI 執行下列命令:

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

您可能會在 [啟動]、[重新啟動] 和 [停止] 選項停用的 Azure 入口網站 中看到資源無法布建錯誤,但 Hyper-V 管理員應該會顯示 VM 實際上已停止:

顯示資源無法布建錯誤的螢幕快照。

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

下一步