Compartir a través de


Creación de una imagen de máquina virtual local de Azure mediante máquinas virtuales locales de Azure existentes habilitadas por Azure Arc

Se aplica a: Azure Local 2311.2 y versiones posteriores

En este artículo se describe cómo usar la interfaz de Azure Command-Line (CLI) para crear imágenes de máquina virtual (VM) para Azure Local mediante máquinas virtuales locales de Azure existentes. Usará el disco del sistema operativo (SO) de la máquina virtual local de Azure para crear una imagen de galería en Azure Local.

Requisitos previos

Antes de comenzar, asegúrese de que:

Creación de una imagen de máquina virtual a partir de una máquina virtual local de Azure existente

Cree una imagen de máquina virtual a partir del disco del sistema operativo de la máquina virtual local de Azure y, a continuación, use esta imagen para implementar máquinas virtuales en Azure Local.

Siga estos pasos para crear una imagen de máquina virtual mediante la CLI de Azure.

Inicio de sesión y establecimiento de la suscripción

  1. Conéctese a una máquina en Azure Local.

  2. Inicie sesión. Escriba:

    az login --use-device-code
    
  3. Establezca la suscripción.

    az account set --subscription <Subscription ID>
    

Configure algunos parámetros.

Establezca la suscripción, el grupo de recursos, la ubicación, la ruta de acceso a la imagen en el recurso compartido local y el tipo de sistema operativo de la imagen. Reemplace los parámetros de < > por los valores adecuados.

$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>"

Los parámetros se describen en la tabla siguiente:

Parámetro Descripción
subscription Suscripción para la instancia local de Azure que se asocia con esta imagen.
resource_group Grupo de recursos para la instancia local de Azure que usted asocia con esta imagen.
location Ubicación de Azure Local. Por ejemplo, podría ser eastus.
custom-location Id. de ubicación personalizada para Azure Local.
name Nombre de la imagen de máquina virtual creada a partir de la imagen en el recurso compartido local.
Nota: Azure rechaza todos los nombres que contienen la palabra clave Windows.
source-vm Nombre de una máquina virtual local de Azure existente que usará para crear la imagen de máquina virtual.
os-type Sistema operativo asociado a la imagen de origen. Puede ser Windows o Linux.

Este es una salida de ejemplo:

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"

Creación de una imagen de máquina virtual a partir de una máquina virtual local de Azure

Cree la imagen de máquina virtual a partir de una máquina virtual existente. Ejecute el siguiente comando:

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

Se inicia un trabajo de implementación para la imagen de máquina virtual. La implementación de la imagen tarda unos minutos en completarse.

Este es una salida de ejemplo:

{
  "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"
}

Enumerar imágenes de VM

Debe ver la lista de imágenes de máquina virtual para elegir una imagen que se va a administrar.

Siga estos pasos para enumerar la imagen de máquina virtual mediante la CLI de Azure.

  1. Ejecute PowerShell como administrador.

  2. Configure algunos parámetros.

    $subscription = "<Subscription ID associated with your Azure Local>"
    $resource_group = "<Resource group name for your Azure Local>"
    
  3. Enumere todas las imágenes de máquina virtual asociadas a Azure Local. Ejecute el siguiente comando:

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

    Según el comando usado, se mostrará un conjunto correspondiente de imágenes asociadas a Azure Local.

    • Si especifica solo la suscripción, el comando muestra todas las imágenes de la suscripción.
    • Si especifica tanto la suscripción como el grupo de recursos, el comando muestra todas las imágenes del grupo de recursos.

    Estas imágenes incluyen:

    • Imágenes de máquina virtual de imágenes de Marketplace.
    • Imágenes personalizadas que residen en su cuenta de Azure Storage o están en un recurso compartido local en el sistema o en un cliente conectado al sistema.

Este es un resultado de muestra.

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>

Para más información acerca de este comando de CLI, consulte az stack-hci-vm image list.

Visualización de las propiedades de la imagen de máquina virtual

Es posible que desee ver las propiedades de las imágenes de máquina virtual antes de usar la imagen para crear una máquina virtual. Siga estos pasos para ver las propiedades de la imagen:

Siga estos pasos para usar la CLI de Azure para ver las propiedades de una imagen:

  1. Ejecute PowerShell como administrador.

  2. Establezca los parámetros siguientes.

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Puede ver las propiedades de la imagen de dos maneras diferentes: especificar el identificador o especificar el nombre y el grupo de recursos. Siga estos pasos al especificar el identificador de imagen de Marketplace:

    1. Establezca el siguiente parámetro.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
      
    2. Ejecute el siguiente comando para ver las propiedades.

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

      Esta es una salida de ejemplo para este comando:

      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> 
      

Eliminación de la imagen de máquina virtual

Es posible que quiera eliminar una imagen de máquina virtual si se produce un error en la descarga por algún motivo o si la imagen ya no es necesaria. Siga estos pasos para eliminar las imágenes de máquina virtual.

  1. Ejecute PowerShell como administrador.

  2. Establezca los siguientes parámetros:

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Markeplace image name>"    
    
  3. Quite una imagen de máquina virtual existente. Ejecute el siguiente comando:

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

Puede eliminar la imagen de dos maneras:

  • Especifique el nombre y el grupo de recursos.
  • Especifique el identificador.

Después de eliminar una imagen, puede comprobar que la imagen se quita. Esta es una salida de ejemplo cuando se eliminó la imagen especificando el nombre y el grupo de recursos.

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>

Pasos siguientes