Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Introducción a Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para obtener más información, consulte Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para obtener más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.