Tutorial: Creación y uso de discos con conjuntos de escalado de máquinas virtuales con la CLI de Azure

Los conjuntos de escalado de máquinas virtuales usan discos para almacenar el sistema operativo, las aplicaciones y los datos de las máquinas virtuales. Al crear y administrar un conjunto de escalado, es importante elegir un tamaño de disco y la configuración adecuada para la carga de trabajo esperada. Este tutorial explica cómo crear y administrar discos de máquina virtual. En este tutorial, obtendrá información sobre lo siguiente:

  • Discos del SO y temporales.
  • Discos de datos.
  • Discos Estándar y Premium.
  • Rendimiento de disco.
  • Conexión y preparación de los discos de datos

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

  • En este artículo se necesita la versión 2.0.29 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.

Discos de Azure predeterminados

Cuando se crea o se escala un conjunto de escalado, se conectan automáticamente dos discos a cada instancia de máquina virtual.

Disco del sistema operativo: hospeda el sistema operativo de las instancias de máquina virtual. Pueden tener un tamaño de hasta 2 terabytes. El disco del sistema operativo lleva de forma predeterminada la etiqueta /dev/sda . La configuración de almacenamiento en caché del disco del sistema operativo está optimizada para el rendimiento del sistema operativo. Debido a esta configuración, el disco del sistema operativo no debe hospedar aplicaciones o datos. Para aplicaciones y datos, use discos de datos, que se detallan más adelante en este artículo.

Disco temporal: los discos temporales usan una unidad de estado sólido que se encuentra en el mismo host de Azure que la instancia de máquina virtual. Los discos temporales son discos de gran rendimiento y se pueden usar para operaciones tales como el procesamiento temporal de los datos. Sin embargo, si la instancia de máquina virtual se mueve a un nuevo host, los datos almacenados en un disco temporal se eliminarán. El tamaño del disco temporal se determina por el tamaño de la instancia de máquina virtual. Los discos temporales llevan la etiqueta /dev/sdb y tienen un punto de montaje de /mnt.

Discos de datos de Azure

Se pueden agregar discos de datos adicionales si necesita instalar aplicaciones y almacenar datos. Los discos de datos deben usarse en cualquier situación donde desee un almacenamiento de datos duradero y con capacidad de respuesta. Cada disco de datos tiene una capacidad máxima de 4 TB. El tamaño de la instancia de máquina virtual determina cuántos discos de datos se pueden conectar. Para cada vCPU de máquina virtual, se pueden conectar dos discos de datos hasta un máximo de 64 discos por máquina virtual.

Tipos de disco de máquina virtual

Azure proporciona dos tipos de disco.

Disco estándar

Standard Storage está respaldado por unidades de disco duro y ofrece un almacenamiento rentable con un buen rendimiento. Los discos estándar son ideales para cargas de trabajo de desarrollo y prueba rentables.

Disco Premium

Los discos Premium están respaldados por un disco de latencia reducida y alto rendimiento basado en SSD. Estos discos se recomiendan para las máquinas virtuales que ejecutan cargas de trabajo de producción. Premium Storage es compatible con las máquinas virtuales de las series DS, DSv2, GS y FS. Al seleccionar el tamaño de un disco, el valor se redondea al alza al siguiente tipo. Por ejemplo, si el tamaño del disco es inferior a 128 GB, el tipo de disco es P10. Si el tamaño de disco está entre 129 y 512 GB, el tamaño es un P20. Cualquier tamaño por encima de 512 GB equivale a un tipo P30.

Creación y conexión de discos

Puede crear y conectar discos durante la creación de un conjunto de escalado o a un conjunto de escalado existente.

A partir versión 2019-07-01 de la API, puede establecer el tamaño del disco del sistema operativo en un conjunto de escalado de máquinas virtuales con la propiedad storageProfile.osDisk.diskSizeGb. Después del aprovisionamiento, es posible que tenga que expandir o volver a particionar el disco para hacer uso de todo el espacio. Obtenga más información sobre cómo expandir el volumen del sistema operativo en Windows o Linux.

Conexión de discos durante la creación del conjunto de escalado

Importante

A partir de noviembre de 2023, los conjuntos de escalado de máquinas virtuales creados con PowerShell y la CLI de Azure tendrán como valor predeterminado el modo de orquestación flexible si no se especifica ningún modo de orquestación. Para obtener más información sobre este cambio y las acciones que debe realizar, vaya a Cambio importante para clientes de PowerShell/CLI de VMSS: Centro de comunidad de Microsoft

En primer lugar, cree un grupo de recursos con el comando az group create. En este ejemplo se crea un grupo de recursos denominado myResourceGroup en la región eastus.

az group create --name myResourceGroup --location eastus

Cree un conjunto de escalado de máquinas virtuales con el comando az vmss create. En el ejemplo siguiente se crea un conjunto de escalado denominado myScaleSet y se generan claves SSH si estas no existen aún. Se crean dos discos con el parámetro --data-disk-sizes-gb. Es el primer disco tiene un tamaño de 64 GB y, el segundo disco, de 128 GB:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image Ubuntu2204 \
  --orchestration-mode Flexible \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 64 128

Se tardan unos minutos en crear y configurar todos los recursos del conjunto de escalado y las instancias de máquina virtual.

Conexión de un disco a un conjunto de escalado existente

También puede asociar discos adicionales a cada instancia de un conjunto de escalado existente. Use el conjunto de escalado creado en el paso anterior para agregar otro disco con az vmss disk attach. En el ejemplo siguiente, se conecta un disco adicional de 128 GB:

az vmss disk attach \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --size-gb 128

Como alternativa, si desea agregar un disco de datos a una instancia individual de un conjunto de escalado, use az vm disk attach.

az vm disk attach \
  --vm-name myScaleSet_Instance1 \
  --resource-group myResourceGroup \
  --size-gb 30 \
  --name disk_name \
  --new

Enumeración de los discos conectados

Para ver información acerca de los discos conectados a un conjunto de escalado, use az vmss show y consulte virtualMachineProfile.storageProfile.dataDisks:

az vmss show \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --query virtualMachineProfile.storageProfile.dataDisks

Se muestra información sobre el tamaño del disco, la capa de almacenamiento y el LUN (número de unidad lógica). La salida del ejemplo siguiente muestra los tres discos de datos conectados con el conjunto de escalado:

[
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 64,
    "lun": 0,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 1,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 2,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  }
]

Desconexión de un disco

Cuando ya no se necesita un disco determinado, se puede desconectar del conjunto de escalado. El disco se quita de todas las instancias de máquina virtual del conjunto de escalado. Para desconectar un disco de un conjunto de escalado, use az vmss disk detach y especifique el LUN del disco. Los LUN se muestran en la salida de az vmss show, en la sección anterior. En el ejemplo siguiente, se desconecta el LUN 2 del conjunto de escalado:

az vmss disk detach \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --lun 2

También puede usar az vm disk detach para desasociar un disco desde una instancia individual.

az vm disk detach \
  --vm-name myScaleSet_Instance1
  --name disk_name

Limpieza de recursos

Para quitar el conjunto de escalado y los discos, elimine el grupo de recursos y todos sus recursos con az group delete. El parámetro --no-wait devuelve el control a la petición de confirmación sin esperar a que finalice la operación. El parámetro --yes confirma que desea eliminar los recursos sin pedir confirmación adicional.

az group delete --name myResourceGroup --no-wait --yes

Pasos siguientes

En este tutorial, aprendió a crear y utilizar discos con conjuntos de escalado con la CLI de Azure:

  • Discos del SO y temporales.
  • Discos de datos.
  • Discos Estándar y Premium.
  • Rendimiento de disco.
  • Conexión y preparación de los discos de datos

Vaya al siguiente tutorial para aprender a usar una imagen personalizada para las instancias de máquina virtual de su conjunto de escalado.