Создание образа локальной виртуальной машины Azure из образа в учетной записи хранилища Azure

Область применения: гиперконвергентные развертывания локальной среды Azure

В этой статье описывается, как создать виртуальные машины Azure Local с поддержкой Azure Arc, используя исходные образы из учетной записи служба хранилища Azure. Образы виртуальных машин можно создавать с помощью портала Azure или Azure CLI. Затем используйте эти образы виртуальных машин для создания Azure Local виртуальных машин.

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

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

  • Обязательно просмотрите и выполните предварительные условия.

  • Для пользовательских образов в учетной записи хранилища Azure у вас есть следующие дополнительные требования:

    • Образ использует операционную систему, которую поддерживает агент подключенного компьютера Azure Arc .

      Замечание

      Не все операционные системы, перечисленные на странице поддерживаемых серверов с поддержкой Azure Arc, поддерживаются для включения Arc (гостевого управления) в локальной среде Azure. Для гостевого управления требуется поддержка Hyper-V сокета (сокет HV), что ограничивает поддерживаемый набор ОС.

    • У вас должен быть виртуальный жесткий диск, загруженный в учетную запись служба хранилища Azure. Узнайте, как загрузить образ VHD в аккаунт хранилища Azure.
    • Убедитесь, что вы загружаете VHD или VHDX в качестве образа объекта Page Blob в аккаунт хранения. Поддерживаются только образы блоб-объектов страниц для создания образов виртуальных машин через учетную запись хранения.
    • При использовании VHDX:
      • Образ VHDX должен быть второго поколения и с включенной безопасной загрузкой.
      • Образ VHDX должен быть подготовлен с помощью sysprep /generalize /shutdown /oobe. Дополнительные сведения см. в разделе "Параметры командной строки Sysprep". Это верно для образов виртуальных машин Windows и Linux.

Добавить образ виртуальной машины из учетной записи хранилища Azure

Вы создаете образ виртуальной машины, начиная с образа в учетной записи служба хранилища Azure. Затем используйте этот образ для развертывания виртуальных машин в локальной среде Azure.

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

Вход и установка подписки

  1. Подключитесь к компьютеру на локальном экземпляре Azure.

  2. Войдите и введите следующую команду:

    az login --use-device-code
    
  3. Задайте подписку.

    az account set --subscription <Subscription ID>
    

Задайте некоторые параметры.

  1. Задайте подписку, группу ресурсов, расположение, путь к изображению и тип ОС. Замените параметры < > значениями.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Local>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = '"<Blob SAS URL path to the source image in the storage account>"'

Замечание

Для $imageSourcePath экранируйте строку двойными кавычками, а затем заключите её в одинарные кавычки следующим образом: '""'

Параметры описаны в следующей таблице.

Параметр Описание
subscription Подписка на Azure Local, которую вы связываете с образом виртуальной машины учетной записи хранения.
resource_group Группа ресурсов для Azure Local, которую вы связываете с образом виртуальной машины для учетной записи хранения.
location Расположение вашего локального экземпляра Azure. Например: eastus.
imageName Имя образа виртуальной машины, созданного на основе образа из вашей локальной папки.
Примечание. Azure отклоняет все имена, содержащие ключевое слово Windows.
imageSourcePath Путь URL-адреса SAS BLOB-объектов к исходному образу в учетной записи хранения. Инструкции см. в разделе "Создание маркеров SAS".
Примечание: Экранируйте строку пути с двойными кавычками, а затем заключите её в одинарные кавычки так следующим образом: '""'
os-type Операционная система, связанная с исходным образом. Например, Windows или Linux.

Ниже приведен пример выходных данных.

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-storacctimage"
PS C:\Users\azcli> $imageSourcePath = '"https://vmimagevhdsa1.blob.core.windows.net/vhdcontainer/Windows_InsiderPreview_ServerStandard_en-us_VHDX_25131.vhdx?sp=r"&"st=2022-08-05T18:41:41Z"&"se=2022-08-06T02:41:41Z"&"spr=https"&"sv=2021-06-08"&"sr=b"&"sig=X7A98cQm%2FmNRaHmTbs9b4OWVv%2F9Q%2FJkWDBHVPyAc8jo%3D"'

Добавление образа виртуальной машины из файла образа в аккаунте хранения Azure

  1. Выберите настраиваемое расположение для развертывания образа виртуальной машины. Пользовательское расположение должно соответствовать пользовательскому расположению для локальной службы Azure. Получите идентификатор пользовательского расположения для локальной службы Azure. Выполните следующую команду:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
    
  2. Создайте образ виртуальной машины, начиная с указанного образа из учетной записи хранения Azure. Обязательно укажите предложение, издатель, номер SKU и версию образа.

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
    

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

В этом примере можно указать путь к хранилищу с помощью флага --storage-path-id . Этот флаг гарантирует, что данные рабочей нагрузки (включая виртуальную машину, её образ и диск данных, не относящийся к ОС) сохраняются по указанному пути к хранилищу.

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

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

Ниже приведен пример выходных данных.

PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid

{
  "extendedLocation": {
    "name": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-storacctimage",
  "location": "eastus",
  "name": "windos",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {
        "downloadSizeInMB": 7876
      },
        "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "cdc9c9a8-03a1-4fb6-8738-7a8550c87fd1*31CE1EA001C4B3E38EE29B78ED1FD47CCCECF78B4CEA9E9A85C0BAEA5F6D80CA",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/mylocal-storagepath",
    "version": null
  },
  "resourceGroup": "mylocal-rg",
  "systemData": {
    "createdAt": "2023-11-03T20:17:10.971662+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-03T21:08:01.190475+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}

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