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


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

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

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

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

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

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

  • For custom images in a local share on your Azure Local, you'll have the following extra prerequisites:

    • You should have a VHD/VHDX uploaded to a local share on your system.
    • The VHDX image must be Gen 2 type and secure boot enabled.
    • Образ VHDX должен быть подготовлен с помощью sysprep /generalize /shutdown /oobe. Дополнительные сведения см. в разделе "Параметры командной строки Sysprep".
    • Изображение должно находиться на общем кластерном томе, который доступен всем машинам в экземпляре. Поддерживаются операционные системы Windows и Linux.

Add VM image from image in local share

Вы создаете образ виртуальной машины, начиная с образа в локальной общей папке системы, а затем используете этот образ для развертывания виртуальных машин в локальной среде 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>"
    $imageName = <VM image name>
    $imageSourcePath = <path to the source image>
    $osType = "<OS of source image>"
    

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

    Параметр Описание
    subscription Группа подписок для Azure Local, которую вы связываете с этим изображением.
    resource_group Группа ресурсов для локальной среды Azure, связанная с этим изображением.
    location Местоположение для вашего Azure Local. Например, это может быть eastus.
    image-path Name of the VM image created starting with the image in your local share.
    Примечание. Azure отклоняет все имена, содержащие ключевое слово Windows.
    name Путь к исходному образу галереи (в формате VHDX) на вашей системе. Например, C:\OSImages\winos.vhdx. Ознакомьтесь с требованиями исходного образа.
    os-type Операционная система, связанная с исходным изображением. Это может быть Windows или Linux.

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

    PS C:\Users\azcli> $subscription = "<Subscription ID>"
    PS C:\Users\azcli> $resource_group = "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. Выберите настраиваемое расположение для развертывания образа виртуальной машины. The custom location should correspond to the custom location for your Azure Local. Get the custom location ID for your Azure Local. Выполните следующую команду:

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

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --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 $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --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"
}

PS C:\Users\azcli>

List VM images

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

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

  1. Запустите PowerShell с правами администратора.

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

    $subscription = "<Subscription ID associated with your Azure Local>"
    $resource_group = "<Resource group name for your Azure Local>"
    
  3. Список всех образов виртуальных машин, связанных с локальным приложением Azure. Выполните следующую команду:

    az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
    

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

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

    К этим изображениям относятся:

    • VM images from marketplace images.
    • Пользовательские изображения, которые находятся в вашем аккаунте Azure Storage или в локальной общей папке на вашей системе или на клиенте, подключенном к вашей системе.

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

PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[
  {
    "extendedLocation": {
      "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
      "type": "CustomLocation"
    },
    "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
    "location": "eastus",
    "name": "winServer2022Az-01",
    "properties": {
      "hyperVGeneration": "V2",
      "identifier": {
        "offer": "windowsserver",
        "publisher": "microsoftwindowsserver",
        "sku": "2022-datacenter-azure-edition-core"
      },
      "imagePath": null,
      "osType": "Windows",
      "provisioningState": "Succeeded",
      "status": {
        "downloadStatus": {
          "downloadSizeInMB": 6710
        },
        "progressPercentage": 100,
        "provisioningStatus": {
          "operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
          "status": "Succeeded"
        }
      },
      "storagepathId": null,
      "version": {
        "name": "20348.2031.231006",
        "properties": {
          "storageProfile": {
            "osDiskImage": {
              "sizeInMB": 130050
            }
          }
        }
      }
    },
    "resourceGroup": "mylocal-rg",
    "systemData": {
      "createdAt": "2023-10-30T21:44:53.020512+00:00",
      "createdBy": "[email protected]",
      "createdByType": "User",
      "lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
      "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
      "lastModifiedByType": "Application"
    },
    "tags": {},
    "type": "microsoft.azurestackhci/marketplacegalleryimages"
  }
]
PS C:\Users\azcli>

Для получения дополнительной информации об этой команде CLI см. az stack-hci-vm image list.

Просмотр свойств образа виртуальной машины

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

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

  1. Запустите PowerShell с правами администратора.

  2. Задайте следующие параметры.

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Свойства изображения можно просматривать двумя способами: указать идентификатор или указать имя и группу ресурсов. При указании идентификатора образа Marketplace выполните следующие действия.

    1. Задайте следующий параметр.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
      
    2. Выполните следующую команду, чтобы просмотреть свойства.

      az stack-hci-vm image show --ids $mktplaceImageID

      Ниже приведен пример выходных данных для этой команды:

      PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID
      Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
      {
        "extendedLocation": {
          "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/mylocal-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage",
        "location": "eastus",
        "name": "mylocal-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "mylocal-rg",
        "systemData": {
          "createdAt": "2022-08-05T20:52:38.579764+00:00",
          "createdBy": "[email protected]",
          "createdByType": "User",
          "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00",
          "lastModifiedBy": "[email protected]",
          "lastModifiedByType": "User"
        },
        "tags": null,
        "type": "microsoft.azurestackhci/galleryimages"
      }
      PS C:\Users\azcli> 
      

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

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

  1. Запустите PowerShell с правами администратора.

  2. Настройте следующие параметры:

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Markeplace image name>"    
    
  3. Удалите существующий образ виртуальной машины. Выполните следующую команду:

    az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
    

Вы можете удалить изображение двумя способами:

  • Укажите имя и группу ресурсов.
  • Укажите идентификатор.

После удаления образа можно убедиться, что изображение удалено. Ниже приведен пример выходных данных при удалении образа, указав имя и группу ресурсов.

PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $mktplaceImage = "mymylocal-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'mylocal-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

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