Создание образа локальной виртуальной машины Azure из образа в учетной записи хранилища Azure
Область применения: Azure Local 2311.2 и более поздних версий
В этой статье описывается, как создавать образы виртуальных машин для локальной версии Azure с использованием исходных образов из учетной записи хранения Azure. Вы можете создавать образы виртуальных машин с помощью портал Azure или Azure CLI, а затем использовать эти образы виртуальных машин для создания виртуальных машин Arc в локальной среде Azure.
Предварительные условия
Перед началом работы убедитесь, что выполнены следующие предварительные требования.
Обязательно просмотрите и выполните предварительные условия.
Для пользовательских образов в учетной записи хранилища Azure у вас есть следующие дополнительные требования:
- У вас должен быть виртуальный жесткий диск, загруженный в учетную запись Azure Storage. Узнайте, как загрузить образ VHD в учетной записи хранения Azure.
- Убедитесь, что вы загружаете VHD или VHDX в качестве образа объекта Page Blob в аккаунт хранения. Поддерживаются только образы блоб-объектов страниц для создания образов виртуальных машин через учетную запись хранения.
- При использовании VHDX:
- Образ VHDX должен быть второго поколения и с включенной безопасной загрузкой.
- Образ VHDX должен быть подготовлен с помощью
sysprep /generalize /shutdown /oobe
. Дополнительные сведения см. в разделе "Параметры командной строки Sysprep".
При использовании клиента для подключения к вашему экземпляру Azure Local см. статью «Подключение к Azure Local через клиент Azure CLI».
Убедитесь, что у вас есть роль конроли́ровщика данны́х храни́лища в той учетной записи хранения, которую вы используете для образа. Дополнительные сведения см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Добавить образ виртуальной машины из учетной записи хранилища Azure
Вы создаете образ виртуальной машины, начиная с образа в учетной записи служба хранилища Azure, а затем используете этот образ для развертывания виртуальных машин в локальной среде Azure.
Выполните следующие действия, чтобы создать образ виртуальной машины с помощью Azure CLI.
Вход и установка подписки
Вход. Тип:
az login --use-device-code
Задайте подписку.
az account set --subscription <Subscription ID>
Задайте некоторые параметры.
- Задайте подписку, группу ресурсов, расположение, путь к изображению в локальной общей папке и тип ОС для образа. Замените параметры в
< >
соответствующими значениями.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Local>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"
Параметры описаны в следующей таблице.
Параметр | Описание |
---|---|
subscription |
Подписка для локальной среды Azure, которую вы связываете с этим изображением. |
resource_group |
Группа ресурсов для локальной среды Azure, связанная с этим изображением. |
location |
Расположение для локального экземпляра Azure. Например, это может быть eastus . |
imageName |
Имя образа виртуальной машины, созданного на основе образа из вашей локальной папки. Примечание. Azure отклоняет все имена, содержащие ключевое слово Windows. |
imageSourcePath |
Путь к SAS URL-адресу Blob изображения в учетной записи хранения. Дополнительные сведения см. в инструкциях по получению SAS-URL BLOB-объекта изображения в учетной записи хранилища. Примечание. Убедитесь, что все амперсанды в пути экранируются с двойными кавычками, и вся строка пути упаковывается в одинарные кавычки. |
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
Выберите настраиваемое расположение для развертывания образа виртуальной машины. Пользовательское расположение должно соответствовать пользовательскому расположению для локальной службы Azure. Получите идентификатор пользовательского расположения для локальной службы Azure. Выполните следующую команду:
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
Создайте образ виртуальной машины, начиная с указанного образа в marketplace. Обязательно укажите предложение, издателя, 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 > $customLocationID=(az customlocation show --resource-group $resource_group --name "mylocal-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 --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
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/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"
}
PS C:\Users\azcli>
Список образов виртуальных машин
Чтобы выбрать образ для управления, необходимо просмотреть список образов виртуальных машин.
Выполните следующие действия, чтобы просмотреть образ виртуальной машины с помощью Azure CLI.
Запустите PowerShell с правами администратора.
Задайте некоторые параметры.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
Список всех образов виртуальных машин, связанных с локальным приложением Azure. Выполните следующую команду:
az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
В зависимости от используемой команды перечислены соответствующие наборы образов, связанных с локальным приложением Azure.
- Если указать только подписку, команда перечисляет все изображения в подписке.
- Если указать подписку и группу ресурсов, команда выводит список всех образов в группе ресурсов.
К этим изображениям относятся:
- Образы виртуальных машин из образов Marketplace.
- Пользовательские образы, которые находятся в вашей учетной записи хранения Azure или в локальной общей папке на вашей системе или на клиенте, подключенном к вашей системе.
Ниже приведен пример выходных данных.
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": "guspinto@contoso.com",
"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 для просмотра свойств изображения:
Запустите PowerShell с правами администратора.
Задайте следующие параметры.
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
Свойства изображения можно просматривать двумя способами: указать идентификатор или указать имя и группу ресурсов. При указании идентификатора образа Marketplace выполните следующие действия.
Задайте следующий параметр.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
Выполните следующую команду, чтобы просмотреть свойства.
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": "guspinto@microsoft.com", "createdByType": "User", "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00", "lastModifiedBy": "guspinto@microsoft.com", "lastModifiedByType": "User" }, "tags": null, "type": "microsoft.azurestackhci/galleryimages" } PS C:\Users\azcli>
Удаление образа виртуальной машины
Может потребоваться удалить образ виртуальной машины, если скачивание завершается сбоем по какой-либо причине или если образ больше не нужен. Выполните следующие действия, чтобы удалить образы виртуальных машин.
Запустите PowerShell с правами администратора.
Настройте следующие параметры:
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
Удалите существующий образ виртуальной машины. Выполните следующую команду:
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>