Поделиться через


Включение гостевого управления для перенесенных виртуальных машин

Область применения: Azure Local 2503 и более поздних версий

В этой статье описывается, как включить управление гостевыми операциями после миграции для локальных виртуальных машин Azure, управляемых с помощью Arc.

Дополнительные сведения о других сценариях см. в статье "Управление локальными виртуальными машинами Azure".

Выходные свойства могут отличаться в зависимости от того, были ли перенесены виртуальные машины.

Предварительные условия

Прежде чем начать, выполните следующие действия:

Включение гостевого агента на перенесенных виртуальных машинах

Перед выполнением следующих действий необходимо отключить все виртуальные машины hyper-V поколения 1. Нет такого требования для виртуальных машин поколения 2 Hyper-V, они могут быть включены или отключены, и оба состояния питания, как ожидается, будут работать.

Шаг 1. Проверьте состояние питания перенесенных виртуальных машин следующим образом:

  1. Для Hyper-V поколения 1 убедитесь, что виртуальная машина остановлена. Если сообщение об ошибке не устранено, см. приложение.

    Использование портала Azure (рекомендуется)

    1. Чтобы остановить миграцию виртуальной машины с портала Azure, выберите "Остановить " на странице сведений о виртуальной машине:

    Снимок экрана: портал Azure, показывающий, как остановить виртуальную машину.

    1. Подождите и обновите страницу, чтобы увидеть состояние виртуальной машины отображается как остановленное.

    Использование Azure CLI

    1. Подключитесь к локальному компьютеру Azure и откройте окно PowerShell. Войдите с помощью Azure CLI.

      az login --use-device-code --tenant $tenantId
      
    2. Проверьте состояние питания виртуальной машины с помощью Azure CLI следующим образом:

      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. Для виртуальных машин поколения 2 Hyper-V убедитесь, что состояние питания, отображаемое на портале Azure, соответствует фактическому состоянию мощности перенесенной виртуальной машины в диспетчере Hyper-V независимо от того , включена ли она или отключена:

    Представление портала Azure

    Снимок экрана: состояние питания виртуальной машины на портале Azure.

    Hyper-V Вид менеджера

    Снимок экрана: состояние питания виртуальной машины в диспетчере Hyper-V.

Шаг 2. Присоединение ISO для гостевого агента на перенесенной виртуальной машине следующим образом:

Подключитесь к локальному компьютеру Azure и выполните следующую команду в PowerShell, где $vmName имя перенесенной виртуальной машины для включения гостевого агента и $rgName имя группы ресурсов, в которой эта виртуальная машина находится в 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-файлом, просматриваемый из локальной системы Azure:

Снимок экрана: вложение ISO.

Шаг 3. Включите перенесенную виртуальную машину при необходимости на портале Azure и убедитесь, что у нее есть подключение к общедоступной сети следующим образом:

  1. Убедитесь, что Статус виртуальной машины на портале Azure Работает:

    Снимок экрана: состояние виртуальной машины на портале Azure.

  2. Убедитесь, что виртуальная машина powerStateзапущена , выполнив следующую команду на локальном компьютере Azure в окне PowerShell:

    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. Установите ISO гостевого агента на перенесенной виртуальной машине следующим образом:

  1. Подключитесь к виртуальной машине, используя шаги, специфичные для вашей ОС.

  2. Установите подключение к общедоступной сети на виртуальной машине.

  3. Выполните следующую команду, чтобы включить гостевой агент на виртуальной машине на основе используемой операционной системы:

    • Если в 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, выполнив следующую команду в Azure CLI.

    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 по своему усмотрению.

При возникновении проблем обратитесь к служба поддержки Майкрософт и укажите журналы и сведения о развертывании.

Приложение

Если вы забыли отключить виртуальную машину Hyper-V поколения 1 перед выполнением команды обновления с помощью --enable-vm-config-agent true, команда обновления завершится ошибкой, и виртуальная машина может стать неуправляемой из портала 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, нажав кнопку "Остановить". Если это не работает, выполните следующую команду из Azure CLI:

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

Ошибка не удалось подготовить ресурс может появиться на портале Azure с отключенными параметрами «Пуск», «Перезапуск» и «Остановить», однако в диспетчере Hyper-V должно быть показано, что виртуальная машина фактически остановлена:

Снимок экрана с ошибкой: не удалось подготовить ресурс.

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

Следующие шаги