Creación de una imagen de máquina virtual de Azure Stack HCI mediante imágenes de Azure Marketplace

Se aplica a: Azure Stack HCI, versión 23H2

En este artículo se describe cómo crear imágenes de máquina virtual (VM) para Azure Stack HCI mediante imágenes de origen de Azure Marketplace. Puede crear imágenes de máquina virtual mediante el Azure Portal o la CLI de Azure y, a continuación, usar estas imágenes de máquina virtual para crear máquinas virtuales de Arc en Azure Stack HCI.

Requisitos previos

Antes de comenzar, asegúrese de que se han completado los siguientes requisitos previos.

  • Asegúrese de revisar y completar los requisitos previos.

  • Tiene acceso a un sistema de Azure Stack HCI que se implementa, tiene un puente de recursos de Arc y una ubicación personalizada.

    • Vaya a la página Servidor de información general > en el recurso del sistema de Azure Stack HCI. Compruebe que Azure Arc se muestra como Conectado. También debería ver una ubicación personalizada y un puente de recursos de Arc para el clúster.

      Captura de pantalla de la página Información general del recurso de clúster de Azure Stack HCI que muestra Azure Arc como conectado.

Adición de una imagen de máquina virtual desde Azure Marketplace

Cree una imagen de máquina virtual a partir de una imagen de Azure Marketplace y, a continuación, use esta imagen para implementar máquinas virtuales en el clúster de Azure Stack HCI.

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

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

  1. Conéctese a un servidor en el sistema de Azure Stack HCI.

  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.

  1. Establezca los parámetros de la suscripción, el grupo de recursos, la ubicación, el tipo de sistema operativo para la imagen. Reemplace los parámetros de por < > los valores adecuados.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocationName = "<Custom location name>"
    $customLocationID
    /subscriptions/<Subscription ID>/resourcegroups/$resource_group/providers/microsoft.extendedlocation/customlocations/$customLocationName
    $location = "<Location for your Azure Stack HCI cluster>"
    $osType = "<OS of source image>"
    

    Los parámetros se describen en la tabla siguiente:

    Parámetro Descripción
    subscription Suscripción asociada al clúster de Azure Stack HCI.
    resource-group Grupo de recursos para el clúster de Azure Stack HCI que se asocia a esta imagen.
    location Ubicación del clúster de Azure Stack HCI. Por ejemplo, podría ser eastus.
    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 = "<Subscription ID>"
    PS C:\Users\azcli> $resource_group = "myhci-rg"
    PS C:\Users\azcli> $customLocationName = "myhci-cl"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $ostype = "Windows"
    

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

  1. Seleccione una ubicación personalizada para implementar la imagen de máquina virtual. La ubicación personalizada debe corresponder a la ubicación personalizada del clúster de Azure Stack HCI. Obtenga el identificador de ubicación personalizado del clúster de Azure Stack HCI. Ejecute el siguiente comando:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for Azure Stack HCI cluster>" --query id -o tsv)
    
  2. Cree la imagen de máquina virtual a partir de una imagen de Marketplace especificada. Asegúrese de especificar la oferta, el publicador, la SKU y la versión de la imagen de Marketplace. Use la tabla siguiente para buscar las imágenes de Marketplace disponibles y sus valores de atributo:

    Nombre Publicador Oferta SKU Número de la versión
    Windows 11 Empresas multisesión + Aplicaciones Microsoft 365, versión 21H2- Gen2 microsoftwindowsdesktop office-365 win10-21h2-avd-m365-g2 19044.3570.231010
    Windows 10 Enterprise multisesión, versión 21H2 + Aplicaciones Microsoft 365 Gen2 microsoftwindowsdesktop office-365 win11-21h2-avd-m365 22000.2538.231010
    Windows 10 Enterprise multisesión, versión 21H2- Gen2 microsoftwindowsdesktop windows-10 win10-21h2-avd-g2 19044.3570.231001
    Windows 11 Empresas multisesión, versión 21H2- Gen2 microsoftwindowsdesktop windows-11 win11-21h2-avd 22000.2538.231001
    Windows 11 Empresas multisesión, versión 22H2: Gen2 microsoftwindowsdesktop windows-11 win11-22h2-avd 22621.2428.231001
    Windows 11, versión 22H2 Enterprise multisesión + Aplicaciones Microsoft 365 (versión preliminar): Gen2 microsoftwindowsdesktop windows11preview win11-22h2-avd-m365 22621.382.220810
    Windows Server 2022 Datacenter: Azure Edition - Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition 20348.2031.231006
    Windows Server 2022 Datacenter: Azure Edition Core - Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition-core 20348.2031.231006
    Windows Server 2022 Datacenter: Hotpatch de Azure Edition- Gen2 microsoftwindowsserver windowsserver 2022-datacenter-azure-edition-hotpatch 20348.2031.231006
    az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --name "<VM image name>" --os-type $ostype --offer "windowsserver" --publisher "<Publisher name>" --sku "<SKU>" --version "<Version number>" --storage-path-id $storagepathid
    

    Se inicia un trabajo de implementación para la imagen de máquina virtual.

    En este ejemplo, la ruta de acceso de almacenamiento se especificó con la --storage-path-id marca y que se ha asegurado de que los datos de la carga de trabajo (incluida la máquina virtual, la imagen de máquina virtual, el disco de datos que no es del sistema operativo) se colocan en la ruta de acceso de almacenamiento especificada.

    Si no se especifica la marca, los datos de la carga de trabajo se colocan automáticamente en una ruta de acceso de almacenamiento de alta disponibilidad.

La implementación de la imagen tarda unos minutos en completarse. El tiempo necesario para descargar la imagen depende del tamaño de la imagen de Marketplace y del ancho de banda de red disponible para la descarga.

Este es una salida de ejemplo:

PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> $customLocationID
/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --name "myhci-marketplaceimage" --os-type $ostype --offer "windowsserver" --publisher "microsoftwindowsserver" --sku "2022-datacenter-azure-edition-core" --version "20348.2031.231006" --storage-path-id $storagepathid
{
  "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/myhci-marketplaceimage",
  "location": "eastus",
  "name": "myhci-marketplaceimage",
  "properties": {
    "identifier": {
      "offer": "windowsserver",
      "publisher": "microsoftwindowsserver",
      "sku": "2022-datacenter-azure-edition-core"
    },
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {
        "downloadSizeInMB": 6750
      },
      "progressPercentage": 98,
      "provisioningStatus": {
        "operationId": "13be90e0-a780-45bf-a84a-ae91b6e5e468*A380D53083FF6B0A3A157ED7DFD00D33F6B3D40D5559D11AEAED6AD68F7F1A4A",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": {
      "name": "20348.2031.231006",
      "properties": {
        "storageProfile": {
          "osDiskImage": {
            "sizeInMB": 130050
          }
        }
      }
    }
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-10-27T21:43:15.920502+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-10-27T22:06:15.092321+00:00",
    "lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/marketplacegalleryimages"
}

PS C:\Users\azcli>

Enumeración de imágenes de máquina virtual

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 cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Enumere todas las imágenes de máquina virtual asociadas al clúster. Ejecute el siguiente comando:

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

    En función del comando usado, se muestra un conjunto de imágenes correspondiente asociado al clúster de Azure Stack HCI.

    • Si especifica solo la suscripción, el comando enumera todas las imágenes de la suscripción.
    • Si especifica la suscripción y el grupo de recursos, el comando enumera 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 clúster o en un cliente conectado al clúster.

Esta es una salida de ejemplo.

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": "myhci-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>

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 = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Puede ver las propiedades de la imagen de dos maneras diferentes: especifique el identificador o especifique 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/myhci-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/myhci-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage",
        "location": "eastus",
        "name": "myhci-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "myhci-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> 
      

Actualización de la imagen de máquina virtual

Cuando hay disponible una nueva imagen actualizada en Azure Marketplace, las imágenes de máquina virtual del clúster de Azure Stack HCI se vuelven obsoletas y deben actualizarse. La operación de actualización no es una actualización local de la imagen. En su lugar, puede ver qué imágenes de máquina virtual está disponible una imagen actualizada y seleccionar las imágenes que se van a actualizar. Después de actualizar, la operación crear imagen de máquina virtual usa la nueva imagen actualizada.

Para actualizar una imagen de máquina virtual, siga estos pasos en Azure Portal.

  1. Para ver si hay una actualización disponible, seleccione una imagen de máquina virtual en la vista de lista.

    Captura de pantalla que muestra que hay disponible una actualización de imagen de máquina virtual para su descarga.

    En la hoja Información general , verá un banner que muestra la nueva imagen de máquina virtual disponible para su descarga, si hay una disponible. Para actualizar a la nueva imagen, seleccione el icono de flecha.

    Captura de pantalla que muestra una nueva imagen de máquina virtual disponible para su descarga en los detalles de la imagen de máquina virtual.

  2. Revise los detalles de la imagen y, a continuación, seleccione Revisar y crear. De forma predeterminada, la nueva imagen usa los mismos detalles de instancia y grupo de recursos que la imagen anterior.

    El nombre de la nueva imagen se incrementa en función del nombre de la imagen anterior. Por ejemplo, una imagen existente denominada winServer2022-01 tendrá una imagen actualizada denominada winServer2022-02.

    Captura de pantalla que muestra el cuadro de diálogo Revisar y crear para una nueva imagen de máquina virtual.

  3. Para completar la operación, seleccione Crear.

    Captura de pantalla que muestra el cuadro de diálogo Crear imagen para una nueva imagen de máquina virtual.

    Una vez creada la nueva imagen de máquina virtual, cree una máquina virtual con la nueva imagen y compruebe que la máquina virtual funciona correctamente. Después de la comprobación, puede eliminar la imagen de máquina virtual anterior.

    Nota

    En esta versión, no se puede eliminar una imagen de máquina virtual si la máquina virtual asociada a esa imagen se está ejecutando. Detenga la máquina virtual y elimine la imagen de la máquina virtual.

Eliminación de la imagen de máquina virtual

Es posible que desee 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 parámetros siguientes.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery 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 ha quitado. 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 = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-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 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

Pasos siguientes