Перемещение специализированной виртуальной машины из локальной среды в Azure Stack Hub

Внимание!

В этой статье содержится ссылка на CentOS, дистрибутив Linux, который находится на грани окончания срока службы (EOL). Пожалуйста, рассмотрите использование и спланируйте соответствующим образом. Дополнительные сведения см. в руководстве по окончании жизненного циклов CentOS.

Вы можете добавить образ виртуальной машины из локальной среды. Вы можете создать образ в виде виртуального жесткого диска (VHD) и отправить его в учетную запись хранения в экземпляре Azure Stack Hub. Затем можно создать виртуальную машину из виртуального жесткого диска.

Специализированный образ диска — это копия виртуального жесткого диска (VHD) из существующей виртуальной машины, которая содержит учетные записи пользователей, приложения и другие данные о состоянии исходной виртуальной машины. Обычно это формат, в котором виртуальные машины переносятся в Azure Stack Hub. Специализированные виртуальные жесткие диски хорошо подходят для миграции виртуальных машин из локальной среды в Azure Stack Hub.

Перемещение изображения

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

  • Выполните действия, описанные в статье Подготовка виртуального жесткого диска Windows или VHDX для отправки в Azure для правильной подготовки виртуального жесткого диска. Для Azure Stack Hub необходимо использовать виртуальный жесткий диск.

    Примечание

    Не выполняйте подготовку виртуальной машины к использованию с помощью Sysprep.

  • Удалите все гостевые инструменты и агенты виртуализации, которые установлены на виртуальной машине (такие как инструменты VMware).
  • Убедитесь, что виртуальная машина настроена на получение IP-адреса и параметров DNS от DHCP-сервера. Таким образом, сервер будет получать IP-адрес в виртуальной сети при запуске.
  • Убедитесь, что протокол RDP/SSH включен, а брандмауэр разрешает обмен данными.
  • Чтобы развернуть расширения виртуальной машины, убедитесь, что агент .msi виртуальной машины доступен. Инструкции см. в статье Общие сведения об агенте виртуальной машины Azure. Если агент виртуальной машины отсутствует в виртуальном жестком диске, развертывание расширения завершится ошибкой. Вам не нужно задавать профиль ОС во время подготовки или задавать .$vm.OSProfile.AllowExtensionOperations = $true

Проверка виртуального жесткого диска

Перед отправкой виртуального жесткого диска необходимо убедиться, что виртуальный жесткий диск соответствует требованиям. Виртуальные жесткие диски, которые не соответствуют требованиям, не будут загружаться в Azure Stack Hub.

  1. Вы будете использовать модули PowerShell, найденные с Hyper-V. Активация Hyper-V устанавливает, поддерживающие модули PowerShell. Вы можете проверка, что у вас есть модуль, открыв PowerShell с запросом с повышенными привилегиями и выполнив следующий командлет:

    Get-Command -Module hyper-v
    

    Если у вас нет команд Hyper-V, см. статью Работа с Hyper-V и Windows PowerShell.

  2. Получите путь к виртуальному жесткому диску на компьютере. Выполните следующий командлет:

    get-vhd <path-to-your-VHD>
    

    Командлет вернет объект VHD и отобразит атрибуты, например:

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. Объект VHD проверка, который соответствует требованиям к Azure Stack Hub.

    Кроме того, Azure Stack Hub поддерживает только образы из виртуальных машин поколения 1 (1).

  4. Если виртуальный жесткий диск несовместим с Azure Stack Hub, необходимо вернуться к исходному образу и Hyper-V, создать виртуальный жесткий диск, соответствующий требованиям, и отправить его. Чтобы свести к минимуму возможные повреждения в процессе отправки, используйте AzCopy.

Исправление виртуального жесткого диска

Для совместимости виртуального жесткого диска с Azure Stack Hub необходимо выполнить следующие требования.

VHD имеет фиксированный тип

Определение. Используйте get-vhd командлет для получения объекта VHD.
Исправление. Вы можете преобразовать VHDX-файл в VHD, динамически расширяющийся диск в диск фиксированного размера, но вы не можете изменить поколение виртуальной машины. Используйте диспетчер Hyper-V или PowerShell для преобразования диска.

Минимальный размер виртуального жесткого диска составляет не менее 20 МБ.

Определение. Используйте get-vhd командлет для получения объекта VHD.
Исправление. Используйте диспетчер Hyper-V или PowerShell для изменения размера диска.

VHD выравнивается

Определение. Используйте get-vhd командлет для получения объекта VHD.
Исправление. Размер виртуальной машины должен быть кратным 1 (1) МБ.

Виртуальный размер дисков должен быть выровнен до 1 МиБ. Если виртуальный жесткий диск является долей от 1 МиБ, необходимо изменить размер диска до кратного 1 МиБ. Диски, с размером равным долям МиБ, вызывают ошибки при создании образов из отправленного виртуального жесткого диска. Чтобы проверить размер, можно использовать командлет PowerShell Get-VHD, чтобы отобразить "Size", который должен быть кратен 1 МиБ в Azure, и "FileSize", который будет равен "Size" плюс 512 байтам для нижнего колонтитула VHD.

Используйте диспетчер Hyper-V или PowerShell для изменения размера диска.

Длина большого двоичного объекта VHD

Определение: используйте get-vhd командлет для отображения Size
Исправление. Длина большого двоичного объекта VHD = виртуальный размер + длина нижнего колонтитула виртуального жесткого диска (512). Небольшой колонтитул в конце BLOB-объекта описывает свойства VHD-файла. Size Значение должно быть кратно 1 МиБ в Azure, а FileSizeзначение должно быть равно Size + 512 байт для нижнего колонтитула виртуального жесткого диска.

Используйте диспетчер Hyper-V или PowerShell для изменения размера диска.

Виртуальные машины поколения 1

Определение. Чтобы проверить, относится ли виртуальная машина к поколению 1, используйте командлет Get-VM | Format-Table Name, Generation.
Исправление. Вам потребуется повторно создать виртуальную машину в низкоуровневой оболочке (Hyper-V).

Отправка в учетную запись хранения

Вы можете отправить виртуальный жесткий диск с помощью портала или с контейнером, созданным на портале, используйте AzCopy.

Портал для создания URL-адреса SAS и отправки виртуального жесткого диска

  1. Войдите на портал пользователя Azure Stack Hub.

  2. Выберите Учетные записи хранения и выберите существующую учетную запись хранения или создайте новую учетную запись хранения.

  3. Выберите Большие двоичные объекты в колонке учетной записи хранения для учетной записи хранения. Выберите Контейнер для создания контейнера.

  4. Введите имя контейнера, а затем выберите Blob (анонимный доступ на чтение только для больших двоичных объектов).

  5. Если вы собираетесь использовать AzCopy для отправки образа, а не портала, создайте маркер SAS. Выберите ПОДПИСАННЫЙ URL-адрес в учетной записи хранения, а затем щелкните Создать SAS и строка подключения. Скопируйте и запишите URL-адрес SAS службы BLOB-объектов. Этот URL-адрес будет использоваться при использовании AzCopy для отправки виртуального жесткого диска.

  6. Выберите контейнер и нажмите кнопку Отправить. Загрузите свой виртуальный жесткий диск.

AzCopy VHD

Используйте Обозреватель службы хранилища Azure или AzCopy, чтобы снизить вероятность повреждения виртуального жесткого диска в процессе отправки и ускорить отправку. В следующих шагах используется AzCopy на Windows 10 компьютере. AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее.

  1. Если у вас не установлен AzCopy, установите AzCopy. Инструкции по скачиванию и началу работы с AzCopy см. в статье Начало работы с AzCopy. Запишите, где хранится двоичный файл. Вы можете добавить AzCopy в путь , чтобы использовать его, из командной строки PowerShell.

  2. Откройте PowerShell, чтобы использовать AzCopy из оболочки.

  3. Используйте AzCopy, чтобы отправить виртуальный жесткий диск в контейнер в учетной записи хранения.

    set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

Примечание

Отправьте виртуальный жесткий диск с помощью синтаксиса, аналогичного отправке одного файла в виртуальный каталог. Добавьте --blob-type=PageBlob , чтобы убедиться, что виртуальный жесткий диск отправлен как страничный BLOB-объект, а не как блокировать по умолчанию.

Дополнительные сведения об использовании AzCopy и других средств хранения см. в статье Использование средств передачи данных в хранилище Azure Stack Hub.

Создание диска в Azure Stack Hub

  1. Войдите на портал пользователя Azure Stack Hub.

    Если вы являетесь оператором облака, создайте диск платформы, следуйте инструкциям в разделе Добавление образа платформы , чтобы добавить виртуальный жесткий диск через портал администрирования или с помощью конечных точек администратора.

  2. На пользовательском портале выберите Все диски> служб >Добавить.

  3. В разделе Создание управляемого диска:

    1. Введите имя изображения.

    2. Выберите Подписка.

    3. Создайте или добавьте образ в группу ресурсов.

    4. Выберите расположение (также называется регионом) своего ASDK.

    5. Выберите тип учетной записи.

      • Диски ценовой категории "Премиум" (SSD) поддерживаются твердотельными накопителями и обеспечивают согласованную производительность с низкой задержкой. Они обеспечивают оптимальное соотношение цены и производительности и идеально подходят для приложений с интенсивным вводом-выводом и для производственных рабочих нагрузок.
      • Диски уровня "Стандартный" (HDD) поддерживаются магнитными дисками и предпочтительнее использовать для приложений, где доступ к данным осуществляется редко. Диски, избыточные между зонами, поддерживаются хранилищем, избыточным между зонами (ZRS), которое реплицирует данные в нескольких зонах и доступно, даже если одна зона не работает.
    6. Выберите Хранилище BLOB-объектов, тип источника. Вы создаете диск из большого двоичного объекта в учетной записи хранения.

    7. Для источника VHD выберите:

      1. Исходная подписка, в которой находится учетная запись хранения.
      2. Нажмите кнопку Обзор и перейдите к учетной записи хранения, контейнеру и виртуальному жесткому диску. Щелкните Выбрать.
      3. Выберите тип ОС , соответствующий виртуальному жесткому диску.
    8. Выберите размер диска (ГиБ), размер или больше вашего виртуального жесткого диска.

    9. Нажмите кнопку создания.

  4. После создания диска вы можете использовать его для создания новой виртуальной машины.

Дальнейшие действия

Общие сведения о перемещении виртуальной машины в Azure Stack Hub