Tutorial: Administración de discos de Azure con la CLI de AzureTutorial - Manage Azure disks with the Azure CLI

Las máquinas virtuales (VM) de Azure usan discos para almacenar el sistema operativo, las aplicaciones y los datos.Azure virtual machines (VMs) use disks to store the operating system, applications, and data. Cuando se crea una máquina virtual es importante elegir un tamaño de disco y la configuración adecuada para la carga de trabajo esperada.When you create a VM, it is important to choose a disk size and configuration appropriate to the expected workload. En este tutorial se muestra cómo implementar y administrar los discos de una máquina virtual.This tutorial shows you how to deploy and manage VM disks. Aprenderá sobre los siguientes temas:You learn about:

  • Discos del SO y temporales.OS disks and temporary disks
  • Discos de datos.Data disks
  • Discos Estándar y Premium.Standard and Premium disks
  • Rendimiento de disco.Disk performance
  • Conectar y preparar los discos de datosAttaching and preparing data disks
  • Cambiar el tamaño de los discos.Resizing disks
  • Instantáneas de disco.Disk snapshots

Discos de Azure predeterminadosDefault Azure disks

Cuando se crea una máquina virtual de Azure, se conectan dos discos automáticamente a la máquina virtual.When an Azure virtual machine is created, two disks are automatically attached to the virtual machine.

Disco del sistema operativo: el tamaño de los discos del sistema operativo puede llegar a los 2 TB y hospedan el sistema operativo de las máquinas virtuales.Operating system disk - Operating system disks can be sized up to 2 TB, and hosts the VMs operating system. El disco del sistema operativo lleva de forma predeterminada la etiqueta /dev/sda .The OS disk is labeled /dev/sda by default. La configuración de almacenamiento en caché del disco del sistema operativo está optimizada para el rendimiento del sistema operativo.The disk caching configuration of the OS disk is optimized for OS performance. Debido a esta configuración, el disco del sistema operativo no se debe usar para aplicaciones o datos.Because of this configuration, the OS disk should not be used for applications or data. Para aplicaciones y datos, use discos de datos, que se explican más adelante en este tutorial.For applications and data, use data disks, which are detailed later in this tutorial.

Disco temporal: los discos temporales usan una unidad de estado sólido que se encuentra en el mismo host de Azure que la máquina virtual.Temporary disk - Temporary disks use a solid-state drive that is located on the same Azure host as the VM. Los discos temporales son muy eficiente y se pueden usar para operaciones tales como el procesamiento temporal de los datos.Temp disks are highly performant and may be used for operations such as temporary data processing. Sin embargo, si la máquina virtual se mueve a un nuevo host, los datos almacenados en un disco temporal se eliminarán.However, if the VM is moved to a new host, any data stored on a temporary disk is removed. El tamaño del disco temporal se determina por el tamaño de la máquina virtual.The size of the temporary disk is determined by the VM size. Los discos temporales llevan la etiqueta /dev/sdb y tienen un punto de montaje de /mnt.Temporary disks are labeled /dev/sdb and have a mountpoint of /mnt.

Discos de datos de AzureAzure data disks

Para instalar aplicaciones y almacenar datos, se pueden agregar más discos de datos.To install applications and store data, additional data disks can be added. Los discos de datos deben usarse en cualquier situación donde desee un almacenamiento de datos duradero y con capacidad de respuesta.Data disks should be used in any situation where durable and responsive data storage is desired. El tamaño de la máquina virtual determina cuántos discos de datos se pueden conectar a una máquina virtual.The size of the virtual machine determines how many data disks can be attached to a VM. Para cada CPU virtual de la máquina virtual, se pueden asociar cuatro discos de datos.For each VM vCPU, four data disks can be attached.

Tipos de disco de máquina virtualVM disk types

Azure proporciona dos tipos de discos: Estándar y Premium.Azure provides two types of disks, standard and Premium.

Disco estándarStandard disk

Standard Storage está respaldado por unidades de disco duro y ofrece un almacenamiento rentable al mismo tiempo que tiene un rendimiento superior.Standard Storage is backed by HDDs, and delivers cost-effective storage while still being performant. Los discos estándar son ideales para cargas de trabajo de desarrollo y prueba rentables.Standard disks are ideal for a cost effective dev and test workload.

Disco PremiumPremium disk

Los discos Premium están respaldados por un disco de latencia reducida y alto rendimiento basado en SSD.Premium disks are backed by SSD-based high-performance, low-latency disk. Es perfecto para máquinas virtuales que ejecutan cargas de trabajo de producción.Perfect for VMs running production workload. Premium Storage es compatible con las máquinas virtuales de las series DS, DSv2, GS y FS.Premium Storage supports DS-series, DSv2-series, GS-series, and FS-series VMs. Al seleccionar el tamaño de un disco, el valor se redondea al alza al siguiente tipo.When you select a disk size, the value is rounded up to the next type. Por ejemplo, si el tamaño del disco es inferior a 128 GB, el tipo de disco es P10.For example, if the disk size is less than 128 GB, the disk type is P10. Si el tamaño de disco está entre 129 y 512 GB, el tamaño es un P20.If the disk size is between 129 GB and 512 GB, the size is a P20. Cualquier tamaño por encima de 512 GB equivale a un tipo P30.Over, 512 GB, the size is a P30.

Rendimiento del disco PremiumPremium disk performance

Tamaños de SSD PremiumPremium SSD sizes  P4P4 P6P6 P10P10 P15P15 P20P20 P30P30 P40P40 P50P50 P60P60 P70P70 P80P80
Tamaño de disco en GiBDisk size in GiB 3232 6464 128128 256256 512512 10241,024 2 0482,048 4 0964,096 81928,192 16 38416,384 32 76732,767
IOPS por discoIOPS per disk 120120 240240 500500 11001,100 2,3002,300 5.0005,000 75007,500 75007,500 16 00016,000 18 00018,000 20.00020,000
Rendimiento de disco.Throughput per disk 25 MiB/s25 MiB/sec 50 MiB/s50 MiB/sec 100 MiB/s100 MiB/sec 125 MiB/s125 MiB/sec 150 MiB/s150 MiB/sec 200 MiB/s200 MiB/sec 250 MiB/s250 MiB/sec 250 MiB/s250 MiB/sec 500 MiB/s500 MiB/sec 750 MiB/s750 MiB/sec 900 MiB/s900 MiB/sec

Aunque la tabla anterior identifica las IOPS máximas por disco, se puede obtener un mayor nivel de rendimiento dividiendo varios discos de datos.While the above table identifies max IOPS per disk, a higher level of performance can be achieved by striping multiple data disks. Por ejemplo, una máquina virtual Standard_GS5 puede conseguir 80 000 IOPS como máximo.For instance, a Standard_GS5 VM can achieve a maximum of 80,000 IOPS. Para más información sobre el número máximo de IOPS por máquina virtual, consulte los tamaños de máquinas virtuales Linux.For detailed information on max IOPS per VM, see Linux VM sizes.

Inicio de Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell es un shell interactivo gratuito que puede usar para ejecutar los pasos de este artículo.Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Tiene las herramientas comunes de Azure preinstaladas y configuradas para usarlas en la cuenta.It has common Azure tools preinstalled and configured to use with your account.

Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código.To open Cloud Shell, select Try it from the upper right corner of a code block. También puede ir a https://shell.azure.com/powershell para iniciar Cloud Shell en una pestaña independiente del explorador.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, luego, presione Entrar para ejecutarlos.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Creación y conexión de discosCreate and attach disks

Los discos de datos se pueden crear y conectar en el momento de creación de la máquina virtual o a una máquina virtual existente.Data disks can be created and attached at VM creation time or to an existing VM.

Conexión del disco en el momento de creación de la máquina virtualAttach disk at VM creation

Cree un grupo de recursos con el comando az group create.Create a resource group with the az group create command.

az group create --name myResourceGroupDisk --location eastus

Cree una máquina virtual mediante el comando az vm create.Create a VM using the az vm create command. En el ejemplo siguiente, se crea una máquina virtual denominada myVM, se agrega una cuenta de usuario denominada azureuser y se generan claves SSH, si no existen.The following example creates a VM named myVM, adds a user account named azureuser, and generates SSH keys if they do not exist. El argumento --datadisk-sizes-gb se usa para especificar que se debe crear y conectar un disco adicional a la máquina virtual.The --datadisk-sizes-gb argument is used to specify that an additional disk should be created and attached to the virtual machine. Para crear y conectar más de un disco, use una lista delimitada por espacios de valores de tamaño de disco.To create and attach more than one disk, use a space-delimited list of disk size values. En el ejemplo siguiente, se crea una máquina virtual con dos discos de datos, ambos de 128 GB.In the following example, a VM is created with two data disks, both 128 GB. Dado que los tamaños de disco son de 128 GB, estos discos se configuran ambos como P10s, que proporcionan el número máximo de 500 IOPS por disco.Because the disk sizes are 128 GB, these disks are both configured as P10s, which provide maximum 500 IOPS per disk.

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image UbuntuLTS \
  --size Standard_DS2_v2 \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

Conexión del disco a máquina virtual existenteAttach disk to existing VM

Para crear y conectar un nuevo disco a una máquina virtual existente, use el comando az vm disk attach.To create and attach a new disk to an existing virtual machine, use the az vm disk attach command. En el ejemplo siguiente se crea un disco Premium con un tamaño de 128 gigabytes y se conecta a la máquina virtual que creó en el último paso.The following example creates a premium disk, 128 gigabytes in size, and attaches it to the VM created in the last step.

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \
    --new

Preparación de los discos de datosPrepare data disks

Después de que se ha conectado un disco a la máquina virtual, es necesario configurar el sistema operativo para usar el disco.Once a disk has been attached to the virtual machine, the operating system needs to be configured to use the disk. En el ejemplo siguiente se muestra cómo configurar manualmente un disco.The following example shows how to manually configure a disk. Este proceso también se puede automatizar mediante cloud-init, que se trata en un tutorial posterior.This process can also be automated using cloud-init, which is covered in a later tutorial.

Cree una conexión SSH con la máquina virtual.Create an SSH connection with the virtual machine. Reemplace la dirección IP de ejemplo por la dirección IP pública de la máquina virtual:Replace the example IP address with the public IP of the virtual machine.

ssh 10.101.10.10

Cree particiones del disco con fdisk.Partition the disk with fdisk.

(echo n; echo p; echo 1; echo ; echo ; echo w) | sudo fdisk /dev/sdc

Escriba un sistema de archivos en la partición con el comando mkfs.Write a file system to the partition by using the mkfs command.

sudo mkfs -t ext4 /dev/sdc1

Monte el disco nuevo para que sea accesible en el sistema operativo.Mount the new disk so that it is accessible in the operating system.

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

Ahora se puede acceder al disco mediante el punto de montaje datadrive, que se puede comprobar con el comando df -h.The disk can now be accessed through the datadrive mountpoint, which can be verified by running the df -h command.

df -h

El resultado muestra la nueva unidad montada en /datadrive.The output shows the new drive mounted on /datadrive.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        30G  1.4G   28G   5% /
/dev/sdb1       6.8G   16M  6.4G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

Para asegurarse de que la unidad se vuelve a montar tras un reinicio, se debe agregar al archivo /etc/fstab.To ensure that the drive is remounted after a reboot, it must be added to the /etc/fstab file. Para ello, obtenga el UUID del disco con la utilidad blkid.To do so, get the UUID of the disk with the blkid utility.

sudo -i blkid

El resultado muestra el UUID de la unidad, en este caso /dev/sdc1.The output displays the UUID of the drive, /dev/sdc1 in this case.

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="ext4"

Agregue una línea similar a la siguiente al archivo /etc/fstab.Add a line similar to the following to the /etc/fstab file.

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  ext4    defaults,nofail   1  2

Ahora que se ha configurado el disco, cierre la sesión de SSH.Now that the disk has been configured, close the SSH session.

exit

Tomar una instantánea de discoTake a disk snapshot

Cuando se toma una instantánea de un disco, Azure crea una copia de solo lectura y de un momento dado del disco.When you take a disk snapshot, Azure creates a read only, point-in-time copy of the disk. Las instantáneas de máquina virtual de Azure resultan útiles para guardar rápidamente el estado de una máquina virtual antes de realizar cambios en la configuración.Azure VM snapshots are useful to quickly save the state of a VM before you make configuration changes. Si se produce un error, se puede restaurar la máquina virtual mediante una instantánea.In the event of an issue or error, VM can be restored using a snapshot. Cuando una máquina virtual tiene más de un disco, se toma una instantánea de cada uno con independencia de los demás.When a VM has more than one disk, a snapshot is taken of each disk independently of the others. Para realizar copias de seguridad coherentes con la aplicación, considere la posibilidad de detener la máquina virtual antes de tomar instantáneas de disco.To take application consistent backups, consider stopping the VM before you take disk snapshots. Como alternativa, use el servicio Azure Backup, que permite realizar copias de seguridad automatizadas mientras se ejecuta la máquina virtual.Alternatively, use the Azure Backup service, which enables you to perform automated backups while the VM is running.

Creación de una instantáneaCreate snapshot

Antes de crear una instantánea de un disco de máquina virtual, se necesitan el identificador o el nombre del disco.Before you create a virtual machine disk snapshot, the ID or name of the disk is needed. Use el comando az vm show para devolver el identificador del disco.Use the az vm show command to return the disk ID. En este ejemplo, el identificador del disco se almacena en una variable para que se pueda usar en un paso posterior.In this example, the disk ID is stored in a variable so that it can be used in a later step.

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

Ahora que tiene el identificador del disco de la máquina virtual, el siguiente comando crea una instantánea del disco.Now that you have the ID of the virtual machine disk, the following command creates a snapshot of the disk.

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

Creación del disco a partir de la instantáneaCreate disk from snapshot

Esta instantánea se puede convertir en un disco, que se puede usar para volver a crear la máquina virtual.This snapshot can then be converted into a disk, which can be used to recreate the virtual machine.

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

Restauración de la máquina virtual a partir de la instantáneaRestore virtual machine from snapshot

Para demostrar la recuperación de la máquina virtual, elimine la máquina virtual existente.To demonstrate virtual machine recovery, delete the existing virtual machine.

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

Cree una nueva máquina virtual en el disco de instantáneas.Create a new virtual machine from the snapshot disk.

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

Reconexión de un disco de datosReattach data disk

Todos los discos de datos se deben volver a conectar a la máquina virtual.All data disks need to be reattached to the virtual machine.

En primer lugar, busque el nombre del disco de datos mediante el comando az disk list.First find the data disk name using the az disk list command. En este ejemplo se coloca el nombre del disco en una variable denominada datadisk, que se usa en el paso siguiente.This example places the name of the disk in a variable named datadisk, which is used in the next step.

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

Use el comando az vm disk attach para adjuntar el disco.Use the az vm disk attach command to attach the disk.

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

Pasos siguientesNext steps

En este tutorial, ha aprendido sobre temas relacionados con los discos de máquina virtual; por ejemplo:In this tutorial, you learned about VM disks topics such as:

  • Discos del SO y temporales.OS disks and temporary disks
  • Discos de datos.Data disks
  • Discos Estándar y Premium.Standard and Premium disks
  • Rendimiento de disco.Disk performance
  • Conectar y preparar los discos de datosAttaching and preparing data disks
  • Cambiar el tamaño de los discos.Resizing disks
  • Instantáneas de disco.Disk snapshots

Siga con el siguiente tutorial para aprender sobre la automatización de la configuración de la máquina virtual.Advance to the next tutorial to learn about automating VM configuration.