En el día de hoy vamos a hablar de como gestionar el almacenamiento en una infraestructura VDI. Para aquellos que no conozcan a que nos estamos refiriendo, VDI es el acrónimo de Virtual Desktop Infrastructure y hace referencia a aplicar el concepto de virtualización al entorno de escritorio (ordenadores personales) separándolo de la máquina física y utilizando un modelo cliente-servidor.
De este modo, VDI virtualiza imágenes de escritorio que pueden ser desplegadas desde un servidor de alojamiento centralizado a terminales de usuario (thin-clients). Esto permite reducir costes operativos y mejorar la seguridad.
Poco a poco las grandes empresas, con una gran cantidad de terminales físicos, están implementando este modelo con el objetivo de ahorrar costes y facilitar la administración y gestión de dichos equipos. Pero el éxito de implementar una infraestructura VDI depende de que la experiencia del usuario en el día a día no se vea afectada, y en este sentido el almacenamiento es uno de los factores con mayor impacto.
El almacenamiento que se establezca debe ser capaz de soportar picos de utilización en el almacenamiento. Por ejemplo, los denominados boot storms (arranque simultaneo de aplicaciones o sistemas operativos por parte de múltiples usuarios) producen altos picos de lectura/escritura en el almacenamiento. También pueden producir un aumento en la utilización la aplicación de parches, actualizaciones de antivirus, cierres de sesión de usuarios, etc.
A la hora de diseñar una infraestructura VDI es necesario comprender los requisitos de los usuarios. Para ello es imprescindible disponer de estadísticas reales de aquellos usuarios que vayan a ser “virtualizados”. Existen varios productos en el mercado que permiten obtener datos de los equipos de los usuario y facilitan el poder determinar las necesidades.
La principal unidad de medida para el almacenamiento son los IOPS y deben adaptarse a los datos tomados de los equipos. Existen múltiples factores que pueden afectar a esta medida, como por ejemplo la existencia o no de caché, el tamaño de bloque, existencia de RAID, etc. Pero la base del cálculo de los IOPS de una cabina se derivan de factores hardware como: velocidad de rotación (rpm), latencia y tiempo de búsqueda.
Por ejemplo, un disco típico de 7200 RPM suele dar 75 IOPS, mientras que un disco de 15K RPM 175 IOPS o un disco de estado sólido 5.00o IOPS.
Como comentábamos antes, no se debe diseñar el almacenamiento VDI para gestionar las cargas medias de E/S, debe ser capaz de poder soportar los picos de carga. Por lo tanto, tener la suficiente capacidad de almacenamiento es un factor importante, pero el poder dar un rendimiento suficiente lo es más.
Linked clones
Utilizar linked clones puede ahorrarnos el uso de capacidad de almacenamiento. El concepto se basa en tener una máquina virtual “maestra” que mantiene una imagen base del sistema operativo que utilizan los equipos de los usuarios. De este modo, todos los escritorios virtuales leen desde la misma imagen y escriben sobre un fichero dedicado a cada uno de ellos. Estos ficheros, llamados ficheros delta, normalmente son de un tamaño pequeño.
Aunque la utilización de linked clones a simple vista tenga ventajas, por el contrario pueden ser más complicadas de mantener que imágenes de disco completas para cada escritorio.
Asignación de RAM
Otro truco que puede mejorar el rendimiento es la cantidad de RAM asignada a una máquina virtual. Si no se asigna la suficiente cantidad de RAM, el sistema operativo comenzará a paginar sobre disco, lo cual puede incrementar el número de E/S a disco.
Pero asignar mucha RAM también puede tener efectos perniciosos sobre el rendimiento del almacenamiento, ya que es posible que causen swapping a nivel de la capa de virtualización si el Host tiene más memoria asignada que la realmente tiene físicamente (overcommitting).
Aceleradores y cachés
En el mercado existen dispositivos de caché y aceleradores SAN que nos dan más IOPS. Además nos permiten ahorrar dinero en la adquisición de la cabina de almacenamiento ya que podemos comprar un sistema más económico.
Utilizar cachés de lectura lo suficientemente grandes, pueden mejorar el rendimiento en las boot storms.
Evitar picos de uso
Por último, evitar lo más posible la aparición de picos de uso. Aunque las denominadas boot storms no pueden ser evitadas, otras operaciones como el parcheado o actualización de antivirus pueden ser escalonadas en el tiempo. En lo que respecta a los antivirus, el procesado puede ser trasladado de la capa de sistema operativo del escritorio a la capa de virtualización donde se ejecuta más eficientemente.