Montando un disco Ultra SSD

Sitio dedicado a Microsoft Azure y otras tecnologías Cloud

Discos Duros Gestionados SSD Ultra

Como decía por Twitter, cada vez es más y más complicado ser arquitecto en Azure ya que no solamente crecen sin parar los servicios, sino también los niveles de prestaciones, los tipos y las operativas.

Así para poder probar los nuevos discos duros gestionados del tipo Ultra SSD, he tenido que echarle más de una hora hasta conseguir configurar la plataforma necesaria. Pero lo he conseguido, y puedo aportar mi granito de arena a la preview privada y compartirlo con todos los lectores.

Ultra SSD, la bestia parda del almacenamiento

Sin duda el handicap principal que tienen los discos duros virtuales que engancho a mis máquinas virtuales es el tema de las IOPS (operaciones de entrada/salida por segundo) y el ancho de banda, el cual está muy lejos de una unidad física o la más pequeña NAS.

Para ello Azure ha modificado la forma en que operan su plataforma de almacenamiento, mejorando la conexión entre los contenedores del servicio de máquinas virtuales y los servicios de discos duros gestionados.

Además también se ha incrementado el backbone del propio Azure, permitiendo realizar conexiones de hasta 100 Gbps, y admitiendo anchos de banda mucho mayores.

Esto se plasma en la nueva categoría de Discos duros gestionados: los Ultra SSD, que tienen importantes ventajas descritas en la siguiente tabla comparativa:

Ultra disk Premium SSD Standard SSD Standard HDD
Disk type SSD SSD SSD HDD
Scenario IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. Production and performance sensitive workloads Web servers, lightly used enterprise applications and dev/test Backup, non-critical, infrequent access
Disk size 65,536 gibibyte (GiB) 32,767 GiB 32,767 GiB 32,767 GiB
Max throughput 2,000 MiB/s 900 MiB/s 750 MiB/s 500 MiB/s
Max IOPS 160,000 20,000 6,000 2,000

Me llama especialmente la atención los tres últimos indices: 64Gb de tamaño, 2Gb de ancho de banda y 160 mil IOPS cada disco duro… vamos, ahora si es una pequeña NAS.

Eso sí, debo obtener unos enormes beneficios para que sea rentable su uso, porque la versión más potnte se come un pastizal de euros al mes.

17.000€ al mes!!

Complejidad y mucho CLI

Ahora mismo está aún en preview privada, y he debido pedir que me unieran al proyecto como tester para poder «catar» esta bestia.

Lo primero es esperar el correo de Azure donde me indican que estoy en el programa, en qué suscripción está dada de alta y la cuota de tamaño asignado (1Gib).

Luego configuro la suscripción en donde voy a realizar las operaciones:

az account set -s "Visual Studio Premium con MSDN"

Ahora pruebo que tenga habilitado el servicio de UltraSSD.

az feature show --namespace Microsoft.Compute --name UltraSSD
{
  "id": "/subscriptions/d1afe0fd-ca41-4b75-857e-e6f68052ad2c/providers/Microsoft.Features/providers/Microsoft.Compute/features/UltraSSD",
  "name": "Microsoft.Compute/UltraSSD",
  "properties": {
    "state": "Registered"
  },
  "type": "Microsoft.Features/providers/features"
}

Y empiezan los problemas con la «letra pequeña»…

El primer intento lo hago por el portal directamente creando un Disk Managed, pero no se me habilita el tipo UltraSSD porque debe poder ponerse en una Zona de disponibilidad; y para ello lanzo el siguiente script que me dice cuales zonas de disponibilidad puedo utilizar:

az vm list-skus --resource-type virtualMachines  --location 'northeurope' --query "[?name=='Standard_D4s_v3'].locationInfo[0].zoneDetails[0].Name" --subscription "Visual Studio Premium con MSDN"
[
  [
    "1",
    "2"
  ]
]

Y ni así. Por mucho que lo he intentado a través del portal, no hay forma de habilitarlo. Osea que toca ir por código y siguiendo los tutoriales que hay dispersos por la documentación de Microsoft.

Scripting a tope

Creo primero un grupo de recursos en el norte de europa, y luego una máquina virtual del tipo DS_v3 en donde le habilito el uso de discos duros SSD. La zona de disponibilidad la configuro en el CPD 1, y que será el que configure más adelante el disco duro gestionado.

az vm create --subscription 'Visual Studio Premium con MSDN' -n 'ultrassddemo' -g 'ultrassddemo' --image Win2016Datacenter --ultra-ssd-enabled true --zone 1 --authentication-type password --admin-password 'AzurePa$$w0rd' --admin-username 'Administrador' --size Standard_D4s_v3 --location 'northeurope'

Aquí te lo muestro legible por personas.

az vm create 
--subscription 'Visual Studio Premium con MSDN' 
-n 'ultrassddemo' 
-g 'ultrassddemo' 
--image Win2016Datacenter 
--ultra-ssd-enabled true 
--zone 1 
--authentication-type password 
--admin-password 'Pa55w.rd' 
--admin-username 'Administrador' 
--size Standard_D4s_v3 
--location 'northeurope'

Ya tengo la máquina virtual levantada, funcionando y con el interfaz de conexión de este tipo de discos duros habilitado. Ahora ya puedo crear el disco duro gestionado del tipo UltraSSD propiamente dicho.

az disk create --subscription 'Visual Studio Premium con MSDN' -n 'ultrassd' -g 'ultrassddemo' --size-gb 4 --location 'northeurope' --zone 1 --sku UltraSSD_LRS --disk-iops-read-write 1000 --disk-mbps-read-write 50

Y aquí para que lo puedan leer humanos:

az disk create 
--subscription 'Visual Studio Premium con MSDN' 
-n 'ultrassd' 
-g 'ultrassddemo' 
--size-gb 4 
--location 'northeurope' 
--zone 1 
--sku UltraSSD_LRS 
--disk-iops-read-write 1000 
--disk-mbps-read-write 50

Es importante tener en cuenta que el coste de este almacenamiento se factura por horas, además de por el consumo. Y que puedo modificar las IOPS y el ancho de banda también para ajustarlos a mis necesidades reales.

Eso sí, si lo uso en única máquina virtual, ahora mismo solo puedo llegar a 80.000 IOPS que es el límite de las E64s_v3.

Pero cuando pueda sacar todos los IOPS de 32 Discos duros, podré superar (en teoría) las 5 millones de operaciones por segundo.

Espero que sea de utilidad.

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.