Compartir vía


Tutorial: Creación y uso de discos con Virtual Machine Scale Sets con Azure PowerShell

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.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Captura de pantalla que muestra un ejemplo de la opción Pruébelo para Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Botón para iniciar Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Captura de pantalla que muestra el botón de Cloud Shell en Azure Portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

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. 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 la máquina virtual, se pueden asociar dos discos de datos.

Tipos de disco de máquina virtual

En la tabla siguiente se proporciona una comparación de los cinco tipos de disco para ayudarle a decidir cuál usar.

Disco Ultra SSD prémium v2 SSD Premium SSD estándar HDD estándar
Tipo de disco SSD SSD SSD SSD HDD
Escenario Cargas de trabajo de uso intensivo de E/S, como SAP HANA, bases de datos de nivel superior (por ejemplo, SQL y Oracle) y otras cargas de trabajo con muchas transacciones. Cargas de trabajo de producción y sensibles al rendimiento que requieren constantemente baja latencia, un alto número de IOPS y rendimiento elevado Cargas de trabajo delicadas de producción y rendimiento Servidores web, aplicaciones empresariales poco utilizadas y desarrollo y pruebas Copia de seguridad, no crítico, acceso poco frecuente
Tamaño máximo del disco 65 536 GiB 65 536 GiB 32 767 GiB 32 767 GiB 32 767 GiB
Rendimiento máx. 4000 MB/s 1200 MB/s 900 MB/s 750 MB/s 500 MB/s
IOPS máx. 160 000 80 000 20.000 6,000 2 000, 3 000*
¿Se puede usar como disco del sistema operativo? No No

*Solo se aplica a los discos con rendimiento extra habilitado (versión preliminar).

Para ver un vídeo que cubre algunas diferencias de alto nivel entre los distintos tipos de disco, así como algunas formas de determinar cuáles afectan a los requisitos de su carga de trabajo, consulte Opciones de almacenamiento en bloque con Azure Disk Storage y Elastic SAN.

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

Cree una instancia de Virtual Machine Scale Sets con New-AzVmss. Cuando se le solicite, escriba el nombre de usuario y la contraseña de las instancias de máquina virtual. Para distribuir el tráfico a las instancias individuales de VM, también se crea un equilibrador de carga. El equilibrador de carga incluye reglas para distribuir el tráfico en el puerto TCP 80, y permitir el tráfico de Escritorio remoto en el puerto TCP 3389 y la conexión remota de PowerShell en el puerto TCP 5985.

Se crean dos discos con el parámetro -DataDiskSizeGb. El primer disco tiene un tamaño de 64 GB y, el segundo disco, de 128 GB: Cuando se le solicite, proporcione sus propias credenciales administrativas para las instancias de máquina virtual en el conjunto de escalado:

New-AzResourceGroup -Name "myResourceGroup" -Location "East US"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS" `
  -OrchestrationMode "Flexible" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -DataDiskSizeInGb 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 conectar discos a un conjunto de escalado existente. Use el conjunto de escalado creado en el paso anterior para agregar otro disco con Add-AzVmssDataDisk. En el ejemplo siguiente, se conecta un disco adicional de 128 GB a un conjunto de escalado existente:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -CreateOption Empty `
  -Lun 2 `
  -DiskSizeGB 128

# Update the scale set to apply the change
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

Como alternativa, si desea agregar un disco de datos a una instancia individual de un conjunto de escalado, use Add-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId 1
Add-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -LUN 2 -DiskSizeInGB 1 -CreateOption Empty -StorageAccountType Standard_LRS
Update-AzVmssVM -VirtualMachineScaleSetVM $VirtualMachine

Enumeración de los discos conectados

Para ver información acerca de los discos conectados a un conjunto de escalado, use Get-AzVmss de la siguiente manera:

Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"

En la propiedad VirtualMachineProfile.StorageProfile, se muestra la lista de 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:

DataDisks[0]                            :
  Lun                                   : 0
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 64
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[1]                            :
  Lun                                   : 1
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[2]                            :
  Lun                                   : 2
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS

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 Remove-AzVmssDataDisk y especifique el LUN del disco. Los LUN se muestran en la salida de Get-AzVmss, en la sección anterior. En el ejemplo siguiente, se desconecta el LUN 3 del conjunto de escalado:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Detach a disk from the scale set
Remove-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -Lun 2

# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

También, si desea quitar un disco de datos de una instancia individual de un conjunto de escalado, puede usar Remove-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "c91dfbd9"
Remove-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -Lun 2
Update-AzVmssVM -VirtualMachineScaleSetVM -VM $VirtualMachine

Limpieza de recursos

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

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Pasos siguientes

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

  • 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.