¿Qué tan grande puede ser un archivo VMDK en VMware vSAN?

¿Cómo están estimados? ¡Espero que bien! En esta ocasión les traigo una duda que nos planteó un compañero de trabajo hace unos días atrás, a raíz del despliegue de un Syslog Server de 20TB sobre un Cluster vSAN. La consulta en cuestión fue con respecto a cual era el tamaño máximo soportado por vSAN a la hora de desplegar una VM y como distribuía esa cantidad de datos sobre el Datastore. La verdad, debo confesar que en ese momento, el planteo que nos hizo me descolocó un poco. Nunca me había surgido esa duda, un error de mi parte, ya que siempre es mejor entender como funciona una tecnología y así poder sacarle el máximo provecho.

Ahora bien, para comprender como funciona vSAN, primero tenemos que conocer como es su arquitectura. Esto se puede resumir perfectamente con la siguiente imagen:

Cada servidor ESXI va a tener conectado de manera local (o sea dentro del mismo chasis) una cantidad «X» de discos. En la imagen anterior, podemos ver un total de 20 discos locales (5 de color verde y 15 de color gris). Supongamos que cada disco tiene una capacidad de 1TB, en total tendríamos unos 20TB disponibles. Ahora bien, en vSAN existe el concepto de «Disk group» el cual está conformado por un nivel (tier) de Cache/Buffer y otro nivel (tier) de Capacity (capacidad). ¿Qué quiere decir esto? Que los 20TB no van a estar 100% disponibles para el almacenamiento de información, sino que una porción voy a tener que reservarla para la lectura/escritura de datos temporarios. Si bien en la imagen, se ven 5 «disk groups» (cada uno conformado por 1 disco verde de caché/buffer y 3 discos grises de capacidad) siempre lo recomendado es tener dos «disk groups» por cada host ESXI (uno por cada controladora de disco interna).

Para seguir con el ejemplo y no irme por las ramas, vamos a suponer que tenemos un Cluster vSAN conformado por 3 host ESXI, y que los mismos no siguen con las buenas prácticas, o sea que cada uno cuenta con solo un «disk group». Por lo tanto la configuración de cada ESXI quedaría de la siguiente manera:

  • Tier cache/buffer: 5TB (conformado por 5 discos).
  • Tier capacity: 15TB (conformado por 15 discos).

Ahora supongamos que viene un cliente y nos pide desplegar un servidor virtual que en total pesa 20TB y que solo tiene un disco virtual (un solo vmdk). ¿Cómo piensan que vSAN va a distribuir la VM a través del Cluster?. Porque recordemos que en total vamos a tener 45TB de Capacidad (15TB x 3 host) en el Datastore vSAN, pero que individualmente solo dispondremos de 15TB en cada ESXI:

  • Opción A: Va a dividir el VMDK en dos, una porción de 15TB la cual va a ocupar un ESXI por completo y la porción restante (5TB) se va a almacenar en cualquiera de los otros host.
  • Opción B: Va a dividir el VMDK en tres porciones iguales (6.667TB) y las va distribuir entre los ESXI.
  • Opción C: Va a dividir el VMDK en tres porciones, una de 10TB y dos de 5TB para distribuirlas entre los ESXI y de esta manera asegurase de que ninguno ocupe la totalidad de su capacidad.

La realidad es que ninguna de las opciones anteriores. Para entender como funciona vSAN les voy a dejar algunos datos interesantes, tener en cuenta que los cálculos no son exactos y que están «redondeados» para facilitar la comprensión:

  • El tamaño máximo soportado para un VMDK (disco virtual de una VM) en un Cluster vSAN es de 62TB (siempre y cuando la capacidad total del Datastore lo permita). Esto lo pueden ver en el menú de edición de configuración de la VM:

  • Cuando se trata de un VMDK muy grande, vSAN lo va a fragmentar en pequeñas porciones o discos de 255GB. O sea que cualquier disco que supere los 255GB, se va a fragmentar en dos o mas porciones y será distribuido entre todos los ESXI que conforman el Cluster.
  • Si un disco VMDK tiene un tamaño de 62TBva a estar divido en 250 porciones de 255GB (63488GB/255GB=250).
  • Si a ese disco se le aplica una política FTT=1 (RAID 1), la VM en total va a ocupar 500 porciones (250 de la VM original y 250 de la copia o replica). Por lo tanto va a pasar a ocupar unos 124TB de espacio en el Datastore vSAN.
  • Para vSAN es lo mismo si la VM está compuesta por 1 disco de 62TB o por 62 discos de 1TB, ya que de igual modo tendrá que dividirlos en porciones de 255GB.
  • Si la VM solicitada para desplegar pesa unos 20TB y se le aplica FTT=1 (RAID 1), va a pasar a ocupar unos 40TB en el Datastore vSAN y lógicamente va a estar divido en 160 porciones (80 porciones de la original y 80 porciones de la replica) de 255GB. Si hacemos 160 porciones x 255GB=40.800GB.
  • Para ver como están distribuidas dichas porciones dentro de un Cluster vSAN, deben pararse sobre la VM e ir a Monitor>Physical Disk Placement, lo cual les indicará en que host ESXI se encuentra cada porción (en la imagen no se llega a ver el dato del host porque está recortada):

  • A modo de ejemplo, en la captura anterior, la VM tiene un «hard disk 1» de 500GB, por lo tanto fue dividido en dos porciones de 255GB cada una (lo enmarcado en rojo). Pero como la VM tenía una política aplicada de FTT= 1 (RAID 1), se hizo una copia o replica de cada porción correspondiente al disco original (lo enmarcado en azul), por lo que la VM paso a ocupar 1TB de espacio (4x255GB).

Si quieren saber mas sobre el tema les dejo un link super interesante:

https://blogs.vmware.com/virtualblocks/2020/01/16/what-is-maximum-vsan-vmdk-size/

Recuerden que pueden utilizar los HOL (Hands on Labs) de VMware, que son totalmente gratuitos y podrán hacer cualquier tipo de pruebas: https://labs.hol.vmware.com/HOL/catalogs/catalog/1936

¡Bueno gente, hasta acá llegamos con el post del día de hoy! Cualquier consulta que tengas no dudes en contactarme a través de los comentarios o vía mail. Compartilo con colegas, compañeros o amigos. Si la virtualización es tu hobby o si te dedicas de manera profesional, te invito a que te suscribas.

¡Hasta la próxima publicación!

Se autoriza la reproducción de los materiales de este blog citando la fuente e incluyendo un enlace al mismo.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: