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


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

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

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

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

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

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

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

    • У вас должен быть виртуальный жесткий диск, загруженный в учетную запись Azure Storage. Узнайте, как загрузить образ 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 Storage и пропускной способности сети, доступной для загрузки.

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

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": "[email protected]",
    "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"
}

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