Creación de un disco administrado a partir de una instantánea con la CLI (Linux)

En este artículo se proporcionan dos scripts de CLI de Azure para crear un disco administrado a partir de una instantánea. El primer script crea un disco administrado con claves administradas por la plataforma y el segundo crea un disco administrado con claves administradas por el cliente. Después de crear discos de datos y sistema operativo a partir de sus respectivas instantáneas, puede usar los discos para crear una máquina virtual o restaurar datos en una máquina virtual existente.

Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.

Requisitos previos

Creación de discos administrados a partir de instantáneas

Inicio de Azure Cloud Shell

Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.

Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede ir a https://shell.azure.com para iniciar Cloud Shell en una pestaña independiente del explorador.

Cuando se abra Cloud Shell, compruebe que Bash está seleccionado para el entorno. En las sesiones siguientes se usará la CLI de Azure en un entorno de Bash. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, luego, presione ENTRAR para ejecutarlos.

Inicio de sesión en Azure

Cloud Shell se autentica de forma automática en la cuenta inicial con la que ha iniciado sesión. Use el siguiente script para iniciar sesión con otra suscripción y reemplace subscriptionId por el identificador de suscripción de Azure.

Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Para más información, vea establecer la suscripción activa o inicio de sesión de forma interactiva

Discos con claves administradas por la plataforma

Use este script para crear un disco administrado con claves administradas por la plataforma. Proporcione la suscripción, el grupo de recursos, la instantánea de origen, el nuevo nombre de disco, el tamaño del disco y el tipo de almacenamiento. Para Premium SSD v2 y Ultra Disk, también debe especificar una zona de disponibilidad. El script establece la suscripción, obtiene el identificador de recurso de instantánea y crea el disco administrado a partir de la instantánea en la misma ubicación.

#Provide the subscription Id of the subscription where you want to create Managed Disks
subscriptionId="<subscriptionId>"

#Provide the name of your resource group
resourceGroupName=myResourceGroupName

#Provide the name of the snapshot that will be used to create Managed Disks
snapshotName=mySnapshotName

#Provide the name of the new Managed Disks that will be create
diskName=myDiskName

#Provide the size of the disks in GB. It should be greater than the VHD file size.
diskSize=128

#Provide the storage type for Managed Disk. Acceptable values are Standard_LRS, Premium_LRS, PremiumV2_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, and StandardSSD_ZRS.
storageType=Premium_LRS

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1

#Set the context to the subscription Id where Managed Disk will be created
az account set --subscription $subscriptionId

#Get the snapshot Id 
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)

#Create a new Managed Disks using the snapshot Id
#Note that managed disk will be created in the same location as the snapshot
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create --resource-group $resourceGroupName --name $diskName --sku $storageType --size-gb $diskSize --source $snapshotId

Discos con claves administradas por el cliente

Use este script para crear un disco administrado con claves administradas por el cliente. Además de la suscripción, el grupo de recursos, la instantánea y los nuevos valores de disco, proporcione el conjunto de cifrado de disco de destino y su grupo de recursos. El script obtiene la información de la instantánea y del conjunto de cifrado de disco y, a continuación, crea el disco administrado a partir de la instantánea con el conjunto de cifrado de disco especificado.

#Provide the subscription Id of the subscription where you want to create managed disks
subscriptionId="<subscriptionId>"

#Provide the name of your resource group
resourceGroupName=myResourceGroupName

#Provide the name of the snapshot that will be used to create managed disks
snapshotName=mySnapshotName

#Provide the name of the new managed disks that will be create
diskName=myDiskName

#Provide the name of the target disk encryption set
diskEncryptionSetName=myName

#Provide the target disk encryption set resource group
diskEncryptionResourceGroup=myGroup

#Required for Premium SSD v2 and Ultra Disks
#Provide the Availability Zone you'd like the disk to be created in, default is 1
zone=1

#Set the context to the subscription Id where managed disk will be created
az account set --subscription $subscriptionId

#Get the snapshot ID
snapshotId=$(az snapshot show --name $snapshotName --resource-group $resourceGroupName --query [id] -o tsv)

#Get the disk encryption set ID
diskEncryptionSetId=$(az disk-encryption-set show --name $diskEncryptionSetName --resource-group $diskEncryptionResourceGroup --query [id] -o tsv)

#Create a new managed disk using the snapshot ID
#The managed disk is created in the same location as the snapshot
#If you're creating a Premium SSD v2 or an Ultra Disk, add "--zone $zone" to the end of the command
az disk create -g $resourceGroupName -n $diskName --source $snapshotId --disk-encryption-set $diskEncryptionSetId

Impacto en el rendimiento: proceso de copia en segundo plano

Cuando se crea un disco administrado a partir de una instantánea, se inicia un proceso de copia en segundo plano. Puede conectar un disco a una máquina virtual mientras se ejecuta este proceso, pero el rendimiento será peor (los discos de 4k lo sufrirán en la lectura, los de 512e tanto en la lectura como en la escritura), con mayor latencia, menor IOPS y rendimiento hasta que se complete la copia en segundo plano. Para Discos Ultra y SSD Premium v2, use el siguiente comando para comprobar la completionPercent propiedad . La copia en segundo plano se completa cuando el valor alcanza 100.

Importante

No puede usar las secciones siguientes para obtener el estado del proceso de copia en segundo plano para los tipos de disco distintos de Disco Ultra o SSD prémium v2. Otros tipos de disco siempre notificarán el 100 %.

subscriptionId=yourSubscriptionID
resourceGroupName=yourResourceGroupName
diskName=yourDiskName
az account set --subscription $subscriptionId
az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

Limpieza de recursos

Ejecute el siguiente comando para eliminar el grupo de recursos y todos los recursos que contiene.

az group delete --name myResourceGroupName

referencia de comandos de CLI de Azure

Los scripts usan los siguientes comandos de CLI de Azure para crear discos administrados, supervisar el proceso de copia en segundo plano y limpiar los recursos.

Get-Help Notas
az account set Establece la suscripción donde se crea el disco administrado.
az snapshot show (muestra información sobre un snapshot) Obtiene el identificador del recurso de la instantánea de origen.
az disk-encryption-set show (mostrar el conjunto de cifrado de disco) Obtiene la información del conjunto de cifrado de disco de destino de un disco con claves administradas por el cliente.
az disk create Crea un disco administrado a partir de la instantánea de origen.
az disk show Obtiene el porcentaje de finalización de la copia en segundo plano para Premium SSD v2 y disco Ultra.
az group delete (comando para eliminar grupos en Azure) Elimina el grupo de recursos y sus recursos.

Pasos siguientes

Crear una máquina virtual conectando un disco administrado como disco del SO

Para más información sobre la CLI de Azure, consulte la documentación de la CLI de Azure.

Encontrará más ejemplos de scripts de la CLI de máquina virtual y discos administrados en la documentación de Azure sobre máquinas virtuales Linux.