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


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

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

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

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

  • Выполните действия, описанные в статье Создание виртуальной машины Windows из специализированного диска с помощью PowerShell для подготовки VHD.
  • Чтобы развернуть расширения виртуальных машин, убедитесь, что агент виртуальной машины .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. Получите путь к вашему файлу VHD на компьютере. Выполните следующий командлет:

    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.

Как исправить ваш VHD

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

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

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

VHD имеет минимальный виртуальный размер не менее 20 МБ

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

VHD выровнен

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

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

Чтобы изменить размер диска, используйте диспетчер Hyper-V или PowerShell.

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

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

Чтобы изменить размер диска, используйте диспетчер Hyper-V или PowerShell.

Создание одной виртуальной машины

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

Загрузка в учетную запись для хранения данных

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

Портал для создания URL-адреса SAS и отправки VHD

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

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

  3. Выберите BLOB-объекты на панели учетной записи хранения вашего хранилища. Выберите контейнер, чтобы создать новый контейнер.

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

  5. Если вы собираетесь использовать AzCopy для загрузки образа вместо портала, создайте маркер SAS. Выберите подпись общего доступа в учетной записи хранения, а затем выберите Создать SAS и строку подключения. Скопируйте и запишите URL-адрес SAS службы BLOB-объектов . Вы будете использовать этот URL-адрес при работе с AzCopy для загрузки вашего VHD.

  6. Выберите контейнер и выберите Загрузить. Загрузите файл VHD.

AzCopy VHD

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

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

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

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

    $env: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
    

Заметка

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

Дополнительные сведения об использовании AzCopy и других средств хранения см. в статье Использование средств передачи данных в службе хранилища 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. Выберите тип ОС, соответствующий VHD.
    8. Выберите диск размером (ГиБ) или больше, чтобы обеспечить его соответствие размеру вашего виртуального жесткого диска.

    9. Выберите Создать.

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

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

Перемещение виртуальной машины в Azure Stack Hub: Обзор