Перемещение виртуальной машины из Azure в Azure Stack Hub
Вы можете передать виртуальный жесткий диск (VHD) с виртуальной машины, созданной в Azure, в экземпляр Azure Stack Hub.
Подготовка и скачивание виртуального жесткого диска из Azure
Найдите раздел, который соответствует вашим потребностям при подготовке виртуального жесткого диска.
- Выполните действия, описанные в статье Создание виртуальной машины Windows на специализированном диске с помощью PowerShell , чтобы подготовить виртуальный жесткий диск.
- Чтобы развернуть расширения виртуальной машины, убедитесь, что агент виртуальной машины .msi доступным.
Дополнительные сведения и инструкции см. в статье Общие сведения об агенте виртуальных машин Azure. Перед перемещением виртуальной машины убедитесь, что расширение установлено на виртуальной машине. Если агент виртуальной машины отсутствует в виртуальном жестком диске, развертывание расширения завершится ошибкой. Вам не нужно задавать профиль ОС во время подготовки или задавать .$vm.OSProfile.AllowExtensionOperations = $true
Проверка виртуального жесткого диска
Перед отправкой виртуального жесткого диска необходимо убедиться, что виртуальный жесткий диск соответствует требованиям. Виртуальные жесткие диски, которые не соответствуют требованиям, не будут загружаться в Azure Stack Hub.
Вы будете использовать модули PowerShell, найденные с Hyper-V. Активация Hyper-V устанавливает, поддерживающие модули PowerShell. Вы можете проверка, что у вас есть модуль, открыв PowerShell с запросом с повышенными привилегиями и выполнив следующий командлет:
Get-Command -Module hyper-v
Если у вас нет команд Hyper-V, см. статью Работа с Hyper-V и Windows PowerShell.
Получите путь к виртуальному жесткому диску на компьютере. Выполните следующий командлет:
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 :
Объект VHD проверка, который соответствует требованиям к Azure Stack Hub.
- VHD имеет фиксированный тип.
- Минимальный размер виртуального жесткого диска составляет не менее 20 МБ.
- Виртуальный жесткий диск выравнивается.
- Длина большого двоичного объекта VHD = виртуальный размер + длина нижнего колонтитула виртуального жесткого диска (512).
Кроме того, Azure Stack Hub поддерживает только образы из виртуальных машин поколения 1 (1).
Если виртуальный жесткий диск несовместим с 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 и отправки виртуального жесткого диска
Войдите на портал пользователя Azure Stack Hub.
Выберите Учетные записи хранения и выберите существующую учетную запись хранения или создайте новую учетную запись хранения.
Выберите Большие двоичные объекты в колонке учетной записи хранения для учетной записи хранения. Выберите Контейнер для создания контейнера.
Введите имя контейнера, а затем выберите Blob (анонимный доступ на чтение только для больших двоичных объектов).
Если вы собираетесь использовать AzCopy для отправки образа, а не портала, создайте маркер SAS. Выберите ПОДПИСАННЫЙ URL-адрес в учетной записи хранения, а затем выберите Создать SAS и строку подключения. Скопируйте и запишите URL-адрес SAS службы BLOB-объектов. Этот URL-адрес будет использоваться при использовании AzCopy для отправки виртуального жесткого диска.
Выберите контейнер и нажмите кнопку Отправить. Загрузите свой виртуальный жесткий диск.
AzCopy VHD
Используйте Обозреватель службы хранилища Azure или AzCopy, чтобы снизить вероятность повреждения виртуального жесткого диска в процессе отправки и ускорить отправку. В следующих шагах используется AzCopy на компьютере с Windows 10. AzCopy — это служебная программа командной строки, которую можно использовать для копирования больших двоичных объектов или файлов в учетную запись хранения или из нее.
Если у вас не установлен AzCopy, установите AzCopy. Инструкции по скачиванию и началу работы с AzCopy см. в статье Начало работы с AzCopy. Запишите, где хранится двоичный файл. Вы можете добавить AzCopy в путь , чтобы использовать его, из командной строки PowerShell.
Откройте PowerShell, чтобы использовать AzCopy из оболочки.
Используйте 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
Примечание
Отправьте виртуальный жесткий диск с помощью синтаксиса, аналогичного отправке одного файла в виртуальный каталог. Добавьте --blob-type=PageBlob
, чтобы убедиться, что виртуальный жесткий диск отправлен как страничный BLOB-объект, а не как блокировать по умолчанию.
Дополнительные сведения об использовании AzCopy и других средств хранения см. в статье Использование средств передачи данных в хранилище Azure Stack Hub.
Создание виртуальной машины
Пользовательские образы бывают двух видов: специализированные и обобщенные.
Войдите на портал пользователя Azure Stack Hub.
Если вы являетесь оператором облака, создайте диск платформы, следуйте инструкциям в разделе Добавление образа платформы , чтобы добавить виртуальный жесткий диск через портал администрирования или с помощью конечных точек администратора.
На пользовательском портале выберите Все диски> служб >Добавить.
В разделе Создание управляемого диска:
Введите имя изображения.
Выберите Подписка.
Создайте или добавьте образ в группу ресурсов.
Выберите расположение (также называется регионом) своего ASDK.
Выберите тип учетной записи.
- Диски ценовой категории "Премиум" (SSD) поддерживаются твердотельными накопителями и обеспечивают согласованную производительность с низкой задержкой. Они обеспечивают оптимальное соотношение цены и производительности и идеально подходят для приложений с интенсивным вводом-выводом и для производственных рабочих нагрузок.
- Диски уровня "Стандартный" (HDD) поддерживаются магнитными дисками и предпочтительнее использовать для приложений, где доступ к данным осуществляется редко. Диски, избыточные между зонами, поддерживаются хранилищем, избыточным между зонами (ZRS), которое реплицирует данные в нескольких зонах и доступно, даже если одна зона не работает.
Выберите Хранилище BLOB-объектов, тип источника. Вы создаете диск из большого двоичного объекта в учетной записи хранения.
Для источника VHD выберите:
- Исходная подписка, в которой находится учетная запись хранения.
- Нажмите кнопку Обзор и перейдите к учетной записи хранения, контейнеру и виртуальному жесткому диску. Щелкните Выбрать.
- Выберите тип ОС , соответствующий виртуальному жесткому диску.
Выберите размер диска (ГиБ), размер или больше вашего виртуального жесткого диска.
Нажмите кнопку создания.
После создания диска вы можете использовать его для создания новой виртуальной машины.
Дальнейшие действия
Общие сведения о перемещении виртуальной машины в Azure Stack Hub