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


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

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

В этой статье описывается, как использовать интерфейс командной строки Azure Command-Line для создания образов виртуальной машины для локальной среды Azure с помощью существующих локальных виртуальных машин Azure. Вы будете использовать диск операционной системы (ОС) локальной виртуальной машины Azure для создания образа коллекции в локальной среде Azure.

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

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

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

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

Это важно

При запуске Sysprep на локальной виртуальной машине Azure виртуальная машина станет непригодной для использования. Sysprep сбрасывает системное удостоверение, удаляет профили пользователей, может аннулировать активацию продукта Windows и может привести к нестабильности приложений, использующих конфигурацию конкретного компьютера. Это действие необратимо.

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

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

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

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

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

    az account set --subscription <Subscription ID>
    

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

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

$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Local>"
$custom_location = "<Custom location for your Azure Local>"
$osType = "<OS of source VM>"
$imageName = "<VM image name>"
$sourceVmName = "<Name of source VM  in the Storage account>"

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

Параметр Описание
subscription Подписка на локальную инстанцию Azure, связанную с этим изображением.
resource_group Группа ресурсов для локального экземпляра Azure, который вы связываете с этим изображением.
location Местоположение для локальной среды Azure. Например, это может быть eastus.
custom-location Идентификатор пользовательского местоположения для Azure Local.
name Имя образа виртуальной машины, созданного на основе образа в локальном общем хранилище.
Примечание. Azure отклоняет все имена, содержащие ключевое слово Windows.
source-vm Имя существующей локальной виртуальной машины Azure, которую вы будете использовать для создания образа виртуальной машины.
os-type Операционная система, связанная с источником изображения. Это может быть Windows или Linux.

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

PS C:\Users\azcli> $subscription = "mysub-id"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $custom_location = "mylocal-cl"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-image"
PS C:\Users\azcli> $sourceVmName = "mysourcevm"

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

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

az stack-hci-vm image create -resource-group $resource_group --location $location --custom-location $custom_location --os-type $osType --source-vm $sourceVmName --name $imageName

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

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

{
  "extendedLocation": {
    "name": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryImages/mylocal-image",
  "location": "eastus",
  "name": "mylocal-image",
  "properties": {
    "cloudInitDataSource": null,
    "containerId": null,
    "hyperVGeneration": null,
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "sourceVirtualMachineId": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.HybridCompute/machines/mysourcevm/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
    "status": {
      "downloadStatus": {
        "downloadSizeInMb": null
      },
      "errorCode": "",
      "errorMessage": "",
      "progressPercentage": null,
      "provisioningStatus": {
        "operationId": null,
        "status": null
      }
    },
    "version": {
      "name": null,
      "properties": {
        "storageProfile": {
          "osDiskImage": {
            "sizeInMb": null
          }
        }
      }
    }
  },
  "resourceGroup": "mylocal-rg",
  "systemData": {
    "createdAt": "2024-09-26T20:16:17.625002+00:00",
    "createdBy": "a5e473cb-e3e7-4035-b4da-290a65350ae1",
    "createdByType": "Application",
    "lastModifiedAt": "2024-09-26T20:16:17.625002+00:00",
    "lastModifiedBy": "a5e473cb-e3e7-4035-b4da-290a65350ae1",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}

Список образов виртуальных машин

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

Выполните следующие действия, чтобы получить список образов виртуальной машины с помощью 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.

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

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

    • Образы виртуальных машин из образов, предоставленных на торговой площадке.
    • Пользовательские образы, которые находятся в вашей учетной записи хранения 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": "[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>

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