Compartir a través de


Creación de una imagen de máquina virtual local de Azure mediante imágenes en un recurso compartido local

Se aplica a: Implementaciones hiperconvergidas de Azure Local 2311.2 y versiones posteriores

En este artículo se describe cómo crear imágenes de máquina virtual (VM) para Azure Local mediante imágenes de origen de un recurso compartido local. Puede crear imágenes de máquina virtual mediante Azure Portal o la CLI de Azure. A continuación, use estas imágenes de máquina virtual para crear máquinas virtuales locales de Azure.

Requisitos previos

Antes de comenzar, asegúrese de completar los siguientes requisitos previos.

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

  • Para imágenes personalizadas en un recurso compartido local en Azure Local, tendrá los siguientes requisitos previos adicionales:

    • Debe tener un VHD/VHDX cargado en un recurso compartido local en su sistema.
    • La imagen VHDX debe ser de tipo Gen 2 y el arranque seguro debe estar activado.
    • El sistema operativo de imagen VHDX debe activarse, incluidos, entre otros, KMS o AVMA.
    • La imagen VHDX debe estar preparada mediante sysprep /generalize /shutdown /oobe. Para obtener más información, consulte Opciones de la línea de comandos de Sysprep.
    • La imagen debe residir en un volumen compartido de clúster disponible para todas las máquinas de la instancia. Se admiten los sistemas operativos Windows y Linux.

Adición de una imagen de máquina virtual a partir de una imagen en un recurso compartido local

Cree una imagen de máquina virtual a partir de una imagen en un recurso compartido local del sistema. 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.

  1. Establezca 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>"
    $resourceGroup = "<Resource group>"
    $customLocationID = "<Custom or extended location of your Azure Local instance>"
    $location = "<Location for your Azure Local>"
    $imageSourcePath = '"<Path to the source image in local share>"'
    $imageName = "<VM image name>"
    $osType = "<OS of source image>"
    $storagePathID = "/subscriptions/<Subscription ID>/resourceGroups/local-rg/providers/Microsoft.AzureStackHCI/storagecontainers/local-sp"
    

    Los parámetros se describen en la tabla siguiente:

    Parámetro (bandera de la CLI) Nombre de la variable Descripción
    subscription $suscripción El grupo de suscripciones para Azure Local que usted asocia con esta imagen.
    resource-group $resourceGroup Grupo de recursos de Azure Local que usted asocia con esta imagen.
    custom-location $customLocationID ID de ARM de la ubicación personalizada o extendida de la instancia de Azure Local.
    location $location Ubicación de la instancia local de Azure. Por ejemplo: eastus.
    image-path $imageSourcePath Ruta de acceso a la imagen de la galería de origen (solo VHDX) en el recurso compartido local. Por ejemplo: C:\OSImages\winos.vhdx. Consulte los requisitos previos de la imagen de origen.
    name $imageName 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.
    os-type $osType Sistema operativo asociado a la imagen de origen. Por ejemplo, Windows o Linux.
    storage-path-id $storagePathID Ruta de almacenamiento asociada donde se guardan los datos y la configuración de la máquina virtual.

    Este es una salida de ejemplo:

    PS C:\Users\azcli> $subscription = "<Subscription ID>"
    PS C:\Users\azcli> $resourceGroup = "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"
    

Adición de una imagen de máquina virtual a partir de una imagen en un recurso compartido local

  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 de Azure Local. Obtenga el identificador de ubicación personalizado de Azure Local. Ejecute el siguiente comando:

    $customLocationID=(az customlocation show --resource-group $resourceGroup --name "<custom location name for system>" --query id -o tsv)
    
  2. Cree la imagen de máquina virtual a partir de una imagen especificada en un recurso compartido local en Azure Local.

    az stack-hci-vm image create --subscription $subscription --resource-group $resourceGroup --custom-location $customLocationID --location $location --image-path $imageSourcePath --name $imageName --os-type $osType --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 el --storage-path-id indicador. Esta marca garantiza que los datos de carga de trabajo (incluida la máquina virtual, la imagen de máquina virtual y el disco de datos que no son del sistema operativo) se colocan en la ruta de acceso de almacenamiento especificada.

Si no se especifica la bandera, los datos de 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 en el recurso compartido local 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 $resourceGroup --name "myhci-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resourceGroup --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": "guspinto@contoso.com",
    "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"
}    

Pasos siguientes