Creación de una imagen de máquina virtual local de Azure mediante la imagen en la cuenta de Azure Storage
Se aplica a: 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 la cuenta de Azure Storage. Puede crear imágenes de máquina virtual mediante 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 Local.
Requisitos previos
Antes de comenzar, asegúrese de que se completan los siguientes requisitos previos.
Asegúrese de revisar y completar los requisitos previos.
Para imágenes personalizadas en la cuenta de Azure Storage, tiene los siguientes requisitos previos adicionales:
- Debe tener un disco duro virtual cargado en la cuenta de Azure Storage. Consulte cómo cargar una imagen de disco duro virtual en la cuenta de Azure Storage.
- Asegúrese de que va a cargar el VHD o VHDX como una imagen de blob en páginas en la cuenta de almacenamiento. Solo se admiten imágenes de blobs en páginas para crear imágenes de máquina virtual a través de la cuenta de Almacenamiento.
- Si usa un VHDX:
- La imagen VHDX debe ser de tipo Gen 2 y arranque seguro habilitado.
- 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.
Si usa un cliente para conectarse a la instancia local de Azure, consulte Conexión a Azure Local a través del cliente de la CLI de Azure.
Asegúrese de que tiene el rol Colaborador de datos de Storage Blob en la cuenta de almacenamiento que usa para la imagen. Para más información, vea Asignación de un rol de Azure para el acceso a datos de blob.
Adición de una imagen de máquina virtual desde la cuenta de Azure Storage
Cree una imagen de máquina virtual a partir de una imagen en la cuenta de Azure Storage 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
Conéctese a una máquina en Azure Local.
Inicia sesión. Escriba:
az login --use-device-code
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>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"
Los parámetros se describen en la tabla siguiente:
Parámetro | Descripción |
---|---|
subscription |
Suscripción para Azure Local que asocia a esta imagen. |
resource_group |
Grupo de recursos para Azure Local que se asocia a esta imagen. |
location |
Ubicación de la instancia local de Azure. Por ejemplo, podría ser eastus . |
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. |
imageSourcePath |
Ruta de acceso a la dirección URL de SAS del blob de la imagen en la cuenta de almacenamiento. Para más información, consulte instrucciones sobre cómo obtener una dirección URL de SAS de blob de la imagen en la cuenta de almacenamiento. Nota: Asegúrese de que todas las amperadas de la ruta de acceso se escapen con comillas dobles y la cadena de ruta de acceso completa se ajusta entre comillas simples. |
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 = "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'
Creación de una imagen de máquina virtual a partir de una imagen en la cuenta de Azure Storage
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 $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
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.
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
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 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 la cuenta de Azure Storage y del ancho de banda de red disponible para la descarga.
Este es una salida de ejemplo:
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>
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.
Ejecute PowerShell como administrador.
Configure algunos parámetros.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
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.
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": "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 sobre este comando de la 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:
Ejecute PowerShell como administrador.
Establezca los parámetros siguientes.
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
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:
Establezca el siguiente parámetro.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
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.
Ejecute PowerShell como administrador.
Establezca los siguientes parámetros:
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
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>