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


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

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

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

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

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

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

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

    • У вас должен быть VHD/VHDX, загруженный в локальную общую папку на вашей системе.
    • Образ VHDX должен иметь тип Gen 2 и с включенной безопасной загрузкой.
    • Операционная система образа VHDX должна быть активирована, включая, но не ограничиваясь KMS или AVMA.
    • Образ VHDX должен быть подготовлен с помощью sysprep /generalize /shutdown /oobe. Дополнительные сведения см. в разделе "Параметры командной строки Sysprep".
    • Изображение должно находиться на общем кластерном томе, который доступен всем машинам в экземпляре. Поддерживаются операционные системы Windows и Linux.

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

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

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

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

  1. Подключитесь к машине в вашей локальной среде Azure

  2. Войти. Тип:

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

    az account set --subscription <Subscription ID>
    

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

  1. Задайте подписку, группу ресурсов, расположение, тип ОС для образа. Замените параметры в < > соответствующими значениями.

    $subscription = "<Subscription ID>"
    $resourceGroup = "<Resource group>"
    $customLocationID = "<Custom or extended location of your Azure Local instance>"
    $location = "<Location for your Azure Local>"
    $imageSourcePath = '"<Path to the source image in local share>"'
    $imageName = "<VM image name>"
    $osType = "<OS of source image>"
    $storagePathID = "/subscriptions/<Subscription ID>/resourceGroups/local-rg/providers/Microsoft.AzureStackHCI/storagecontainers/local-sp"
    

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

    Параметр (флаг CLI) Имя переменной Описание
    subscription $подписка Группа подписок для Azure Local, которую вы связываете с этим изображением.
    resource-group $resourceGroup Группа ресурсов для локальной среды Azure, связанная с этим изображением.
    custom-location $customLocationID Идентификатор ARM настраиваемого или расширенного расположения локального экземпляра Azure.
    location $location Местоположение для локального экземпляра Azure. Например: eastus.
    image-path $imageSourcePath Путь к исходному образу коллекции (только VHDX) в локальном общем доступе. Например: C:\OSImages\winos.vhdx. Ознакомьтесь с требованиями исходного образа.
    name $imageName Имя образа виртуальной машины, созданного на основе образа из вашей локальной папки.
    Заметка: Azure отклоняет все имена, содержащие ключевое слово Windows.
    os-type $osType Операционная система, связанная с исходным изображением. Например, Windows или Linux.
    storage-path-id $storagePathID Связанный путь к хранилищу, в котором сохраняются конфигурация виртуальной машины и данные.

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

    PS C:\Users\azcli> $subscription = "<Subscription ID>"
    PS C:\Users\azcli> $resourceGroup = "mylocalrg"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $osType = "Windows"
    PS C:\ClusterStorage\Volume1> $imageName = "mylocal-localimage"
    PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
    

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

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

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

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

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

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

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

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

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

PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resourceGroup --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resourceGroup --custom-location $customLocationID --location $location --image-path $imageSourcePath --name $imageName --os-type $osType --storage-path-id $storagePathID
type="CustomLocation" --location $Location --name $mktplaceImage --os-type $osType --image-path $mktImageSourcePath
Command group 'azurestackhci' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
{
  "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-localimage",
  "location": "eastus",
  "name": "mylocal-localimage",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {},
      "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "82f58893-b252-43db-97a9-258f6f7831d9*43114797B86E6D2B28C4B52B02302C81C889DABDD9D890F993665E223A5947C3",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": {
      "name": null,
      "properties": {
        "storageProfile": {
          "osDiskImage": {}
        }
      }
    }
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-11-02T06:15:10.450908+00:00",
    "createdBy": "[email protected]",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-02T06:15:56.689323+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}    

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