Virtual Volumes es un nuevo framework de administración de discos virtuales que los expone como una unidad de manejo de datos para los arreglos de almacenamiento. Este nuevo framework hace posible realizar operaciones basadas en arreglos directamente a nivel de discos virtuales. Virtual Volumes se compone de dos implementaciones clave: consumo flexible a nivel lógico y control detallado a nivel de máquina virtual. Veamos ambos más en detalle:
Consumo flexible a nivel lógico
Virtual Volumes virtualiza los dispositivos SAN y NAS abstrayendo los recursos del hardware físico en pools de capacidad (Virtual Datastores) que pueden ser consumidos de forma flexible y formar parte de uno o varios arreglos de almacenamiento. El datastore virtual define los límites de capacidad y acceso lógico y expone un conjunto de servicios de datos accesible por las máquinas virtuales en el pool. Los datastores virtuales son construcciones puramente lógicas que se pueden configurar en el momento que se necesiten sin provocar ningún tipo de disrupción, ya que no es necesario darles formato con un sistema de archivos.
Control detallado a nivel de máquina virtual
Virtual Volumes define un nuevo contenedor de discos virtuales (Virtual Volume) independiente de la representación física de almacenamiento subyacente (LUN, sistema de archivos, etc.). Con Virtual Volumes el disco virtual se convierte en la unidad principal de administración de datos a nivel del arreglo, convirtiendo a un Virtual Datastore en un pool de capacidad centrado en una VM. Por lo tanto es posible ejecutar operaciones de almacenamiento con la granularidad de una VM y proveer servicios de datos a nivel de arreglos de discos, tales como compresión, instantáneas, deduplicación, encriptación, entre otras directamente sobre las máquinas virtuales de forma individual. Esto le da a los administradores niveles de servicio a nivel de almacenamiento sobre una VM en particular. Para lograr este nivel de granularidad, incluso manejando miles de VM's, Virtual Volumes utiliza vSphere Storage Policy-Based Management (SPBM), que es la implementación de un plano de control manejado por políticas en el modelo SDS de VMware.
Operaciones eficientes a través de la automatización
SPBM permite capturar los niveles de servicio de almacenamiento (capacidad, performance, disponibilidad y demás) en forma de plantillas lógicas o políticas para cada máquina virtual a las cual están asociadas. También automatiza el alojamiento de la máquina virtual identificando los datastores disponibles para cumplir con los requerimientos de la política asociada con Virtual Volumes instanciando dinámicamente los servicios de datos necesarios. A través de este funcionamiento de políticas, SPBM también automatiza el nivel de servicio y el ciclo de vida de la máquina virtual.
La meta de Virtual Volumes es ofrecer un modelo operacional más simple para el manejo de las máquinas virtuales en el almacenamiento externo mientras que se pueden utilizar las capacidades disponibles en los sistemas de dichos sistemas de almacenamiento. Virtual Volumes transforma el plano de datos y de control de los sistemas de almacenamiento SAN/NAS alineando el consumo y las operaciones con máquinas virtuales. Es decir, se convierte un sistema de almacenamiento SAN/NAS en un sistema preparado para VMware y se ofrece la capacidad de utilizar toda su funcionalidad para manejar de forma granular y centralizada el almacenamiento de una máquina virtual y su disco. Operaciones como instantáneas, clonado y migración se realizan a nivel VMware liberando al storage externo del trabajo. Para ello se implementó un nuevo mecanismo de administración, monitoreo y comunicación para manejar las operaciones entre el arreglo de almacenamiento y Virtual Volumes a través de vSphere.
Este modelo elimina la complejidad de manejar la infraestructura de almacenamiento y sus servicios de forma independiente al introducir un nuevo plano de control (SPBM) que se centra en la máquina virtual. Así, cada VM recibe lo que necesita en la justa medida.
En el modelo tradicional cada máquina virtual necesita mapearse a una capa de almacenamiento preconfgurada (LUN/Volumen), por lo que cada máquina virtual alojada dentro de esa estructura hereda su clase de servicio. En este caso, si los sistemas necesitan cambiar el método de aprovisionamiento del espacio de almacenamiento la operación se torna crítica en el tiempo y requerirá un análisis cuidadoso de los parámetros de capacidad, manejo de LUN’s, Storage vMotion e incluso de reaprovisionamiento de la aplicación para alcanzar los nuevos requerimientos.
Con Virtual Volumes y SPBM simplemente se asigna una nueva política a la plataforma ya montada y el sistema de almacenamiento automáticamente mueve el sistema al lugar donde aplica dicha política. Esta adaptación fácil y dinámica de aplicaciones individuales permite alcanzar los objetivos y requerimientos simplemente alterando una política.
Arquitectura de vSphere Virtual Volumes
Ya vimos que Virtual Volumes es una arquitectura de almacenamiento lógico mejorada que permite realizar operaciones a nivel de máquina virtual utilizando las capacidades nativas del arreglo de discos externo. Además, elimina la necesidad de aprovisionar y manejar un gran número de LUN’s por cada host con el fin de mantener los niveles de servicio de las aplicaciones. Esto incrementa la versatilidad de la infraestructura de vSphere reduciendo el overhead operacional y permitiendo escalar los servicios de datos a nivel de cada VM.
Virtual Volumes requiere de VMware y del soporte del fabricante del sistema de almacenamiento. De parte de VMware, lo elementos clave son Storage-Policy Based Management (SPBM) y vSphere APIs for Storage Awareness (VASA). De parte del fabricante del sistema de almacenamiento, el equipo debe estar habilitado para el uso con Virtual Volumes y se debe ofrecer compatibilidad con la versión 2.0 del API VASA.
Una vez que el Storage Admin define las capacidades que se pueden consumir se deben mostrar a vSphere a través del API VASA con el fin de que estén disponibles para el administrador vSphere. Este último podrá luego crear las políticas de almacenamiento necesarias derivadas del conjunto de capacidades publicadas por el sistema de almacenamiento.
Para que la conexión de datos del host al storage sea directa (direct data path) se debe construir un nuevo data path denominado Protocol Endpoint (PE). Esto provee un path para que los datos estén separados de la política y la comunicación de la API, permitiendo a los fabricantes personalizar la dependencia del data path con sus capacidades inherentes. Es por esto que con el fin de administrar, monitorear y operar las nuevas características y capacidades introducidas por Virtual Volumes es necesario un nuevo mecanismo que VMware denominó justamente Protocol Endpoints.
Protocol Endpoints (PE)
Protocol Endpoints es un mecanismo de transporte o puntos de acceso que permite controlar el acceso y las comunicaciones entre un host ESXi y el storage. Forman parte del sistema físico y son capaces de establecer data paths a demanda desde las máquinas virtuales hacia sus respectivos volúmenes virtuales. Los Protocol Endpoints heredan las funcionalidades de acceso de las LUN’s actuales y soportan todos los estándares de la industria.
Esto permite al usuario final aprovechar los beneficios de Virtual Volumes sin que existan disrupciones en la configuración existente. El objetivo de los Protocol Endpoints no solo es ofrecer soporte a los protocolos existentes sino también permitir escalar. A diferencia de una LUN que está limitada, un PE puede vincularse a varios Virtual Volumes.
Los Protocol Endpoints son compatibles con todos los estándares SAN/NAS de la industria:
• iSCSI
• NFS v3
• Fiber Channel (FC)
• Fiber Channel over Ethernet (FCoE)
Storage Containers (SC)
Los Virtual Volumes residen en contenedores de almacenamiento o Storage Containers. Son construcciones de almacenamiento lógicas definidas por los Storage Admin. Dichos contenedores se utilizan para definir:
• Lugares y restricciones de capacidad de almacenamiento
• Configuraciones de políticas basadas en las capacidades de servicio basadas en una máquina virtual
Un Storage Container es una construcción lógica dentro del arreglo de discos que coloca un límite definido por el usuario alrededor de un conjunto de características que se presentarán a vSphere como un datastore virtual. Esto permite que el Storage Admin pueda configurar la capacidad en grupos lógicos para que el administrador de vSphere pueda interactuar con los datastores a los que está acostumbrado sin tener que recurrir al entorno físico que se encuentra detrás del Storage Container.
Un Storage Container accesible a través de un host ESXi tiene una relación 1:1 con los contendores de almacenamiento creados en el arreglo de discos. Por ejemplo, si creamos 3 Storage Containers en el storage tendremos 3 datastores de Virtual Volumes disponibles para conectar a nuestros hosts.
De forma similar a Protocol Endpoints, los Storage Containers se configuran por el Storage Admin y luego se descubren de forma automática en vSphere cuando se agregan datastores virtuales.
Vendor Provider (VP)
Vendor Providers (VP) o VASA Provider son componentes de software que interactúan del lado del storage (plug-ins) que se desentienden del servicio de vSphere. Los fabricantes de storage son quienes desarrollan de forma exclusiva los VP.
Los hosts ESXi y vCenter Server se conectan al VP y obtienen información acerca de la topología de almacenamiento definida, capacidades y su estado. Luego, vCenter Server les provee esa información a los clientes de vSphere y expone las capacidades a partir de las cuales el administrador puede crear políticas de almacenamiento en SPBM.
Los Vendor Providers se pueden implementar en forma de appliances virtuales directamente en el plano de administración del storage. Esto significa que el VP comunica las capacidades del arreglo a través de las vSphere Storage APIs, las cuales a su vez las exportan hacia vSphere a través de las APIs VASA para su consumo granular en las máquinas virtuales.
Los Vendor Providers se configuran generalmente por el administrador de vSphere de las siguientes dos maneras:
• Automáticamente a través del plug-in provisto por el fabricante del storage
• Manualmente a través de vCenter Server
Virtual Volumes (VVOLs)
Los Virtual Volumes son un nuevo tipo de objetos de las máquinas virtuales que se crean y almacenan de forma nativa en el storage. Son almacenados en los Storage Containers que mencioné anteriormente y mapeados a los archivos y objetos de la máquina virtual. Estos objetos o archivos pueden ser, por ejemplo, el archivo de swap de la VM, los discos VMDK y sus objetos derivados.
Hay 5 clases diferentes de tipos de objetos de Virtual Volumes, cada uno de los cuales se mapea o asigna de forma específica al archivo en sí de la VM:
• Config-VVOL: el home de la VM, archivos de configuración, logs, etc.
• Data-VVOL: son el equivalente a los VMDKs
• Memory-VVOL: son las instantáneas
• Swap-VVOL: archivo de swap de la VM
• Other-VVOL: tipo genérico para soluciones específicas
Comparación de arquitectura
En las arquitecturas tradicionales de vSphere y de virtualización de almacenamiento para máquinas virtuales, el datastore (básicamente una LUN formateada como VMFS o punto de montaje NFS) cumple dos funciones: ser un endpoint SCSI o NFS para los comandos de lectura y escritura y ser un contenedor de almacenamiento para un variado número de metadatos y archivos de máquinas virtuales.
En la arquitectura de Virtual Volumes, los Protocol Endpoints actúan como un mecanismo de transporte de red y los Storage Containers, definidos lógicamente, actúan como datastores virtuales. Una política de almacenamiento se puede adicionar a un Storage Container y ser transmitido a cada máquina virtual que esté almacenada dentro del mismo.
Sin embargo, las VMs que se encuentran dentro de un Storage Container no tienen que compartir las propiedades globales definidas por la membresía a dicho Storage Container. En vez de eso, cada VM puede tener una política individual asociada que puede ser persistente a través de los diferentes Storage Containers. Esto es posible debido a que son definidos de forma lógica y no están atados a una LUN o grupo de discos estáticos, de esa forma pueden instanciar una VM en cualquier lugar que se satisfaga la política que poseen asociada.
Un Storage Container puede contener áreas de almacenamiento con diferentes configuraciones RAID, diferentes configuraciones de performance y demás, y a su vez desplegar una VM en el lugar apropiado. Esto permite a las VMs tener sus propias políticas de almacenamiento y ser alojadas apropiadamente dentro del contenedor con otras VMs, cada una con su propia política.
Al almacenar un gran número de máquinas virtuales en una única LUN o punto de montaje NFS provisto por un Storage Container se reduce el overhead de configuración y escalabilidad pero se limita la granularidad con la cual los servicios de datos pueden ser aplicados entre los diferentes hosts y el almacenamiento subyacente.
En un modelo de almacenamiento estándar se puede desplegar un gran número de VMs en un datastore simple para reducir el número de LUN’s o NFS y así minimizar el overhead de configuración y escalabilidad. Pero aun con este esquema limita la granularidad de los servicios de datos que pueden brindarse a las máquinas virtuales y requiere perfiles similares en todas las aplicaciones para poder aplicarse de forma adecuada
En un entorno de almacenamiento definido por el software (SDS) con Virtual Volumes, el sistema de almacenamiento provee un Protocol Endpoint que se descubre en el hardware físico. De esta forma el Protocol Endpoint es accesible a través de múltiples paths y el tráfico en esos paths fluirá de acuerdo a la selección de la política aplicada. La selección de políticas de mutlipathing de VMware incluye:
• Most Recently Used
• Round Robin
• Fixed
Un punto de montaje NFS (dirección IP y nombre del recurso compartido) es un Protocol Endpoint para los sistemas NAS. Cada VMDK que se despliegue en NFS estará asociado en una relación 1:1 con Virtual Volumes y cada volumen virtual tendrá su propio Storage Container. Cuando corra sobre NFS, cada VM no solamente tendrá su propio Virtual Volume, sino además su propio Storage Container que estará alojado en el punto de montaje.
Virtual Volumes no reemplaza VMFS ni ningún otro sistema de archivos o protocolo de acceso de almacenamiento soportado por vSphere. El uso de VMFS está disponible y soportado y la plataforma podrá conectarse de forma simultánea tanto a Virtual Volumes como a los arreglos tradicionales basados en LUN’s o SAN/NAS.
Dependiendo de la implementación del fabricante, un arreglo simple podría ser capaz de soportar tanto operaciones de Virtual Volumes como de LUN, pero VVOLs presenta varias ventajas sobre los sistemas de almacenamiento tradicionales, tanto desde la perspectiva de las limitaciones técnicas como también por el impacto operacional que estos ofrecen.
Beneficios de Virtual Volumes
Virtual Volumes ofrece ventajas en las siguientes áreas: operaciones de almacenamiento, entrega de niveles de servicio y utilización de recursos. Veamos cada una de estas áreas:
Operaciones de almacenamiento simplificadas
Tanto para al administrador de vSphere como para el Storage Admin Virtual Volumes simplifica ampliamente el manejo sobre el modelo operacional. Virtual Volumes permite la separación del aprovisionamiento y consumo del almacenamiento para las VMs.
En el modelo VMware Software Defined Storage con Virtual Volumes, el Storage Admin puede configurar una entidad denominada Storage Container. La capacidad y los servicios de datos publicados desde el arreglo de discos por el Storage Admin en el Storage Container son similares a los ítems de menú desde los cuales un administrador de vSphere puede consumir a demanda. El Storage Admin aún mantiene el control de los recursos y el administrador de vSphere solamente puede consumir las capacidades publicadas. Sin embargo, el Storage Admin no necesita determinar qué servicios de datos deberán asignarse a la aplicación. De esta forma, él es responsable de la configuración inicial, pero el administrador de vSphere completa la configuración de ahí en más.
Con Virtual Volumes el administrador de vSphere gana control y es el responsable de definir las diferentes clases de almacenamiento y servicio de las aplicaciones. Sin embardo, las clases de servicio no tienen que existir de antemano en el arreglo físico, sino que ahora serán entidades lógicas controladas y automatizadas completamente por software e interpretadas a través del mecanismo de políticas.
Asociando una o más máquinas virtuales a la política correcta permite el aprovisionamiento e instanciación de los niveles de servicio de almacenamiento que son automatizados por un única VM o un conjunto de ellas. El forzado automático de políticas se vuelve el mecanismo para simplificar, monitorear y asegurar el cumplimiento de los servicios de almacenamiento y no se depende más del Storage Admin para completar las tareas a través del ciclo de vida de las aplicaciones.
La automatización orientada a políticas permite un consumo mucho más ágil por parte de las máquinas virtuales, las cuales finalmente ofrecen un aprovisionamiento mucho más rápido para las nuevas aplicaciones con sus diferentes requerimientos. De esta forma el administrador de vSphere no depende del Storage Admin para cambiar los requerimientos de infraestructura. El administrador de vSphere puede cambiar las políticas en cualquier momento y los cambios a nivel infraestructura se configuran a través de la automatización. Esto permite un ajuste rápido que acompañe los cambios del negocio.
Requerimientos de vSphere
En cuanto a vCenter Server y vSphere Hosts, se requiere vSphere 6.0 para utilizar Virtual Volumes.Requerimientos de almacenamiento
Arreglo de discos
Virtual Volumes requiere un sistema de almacenamiento compatible. En la mayoría de los casos será una solución de software en la forma de appliance virtual que ofrecerán los diferentes fabricantes. Dependiendo del fabricante y su implementación específica, el arreglo de discos puede o no requerir un upgrade de firmware para funcionar con Virtual Volumes. Esto deberá ser revisado para tener la información correcta de configuración.Soporte de fabricantes
Los principales fabricantes que ofrecen soporte a esta tecnología son los siguientes:
• HP
• NetApp
• Dell
• EMC
• IBM
• Nimble Storage
• SolidFire
• Fujitsu
• Tintri
• Pure Storage
• NEC
• Hitachi
Y cada vez se siguen sumando más al ecosistema
Conclusión
Virtual Volumes y SPBM brindan los beneficios del Software Defined Storage a los arreglos SAN/NAS permitiendo el aprovisionamiento orientado a políticas y el control de los servicios de almacenamiento para cada VM de forma individual liberando al subsistema subyacente de la carga de implementación.Virtual Volumes y SPBM exponen los discos virtuales como contenedores de almacenamiento nativos y permiten las operaciones granulares basadas en el arreglo de discos a nivel de disco virtual. A través de la automatización y de establecer a la VM como unidad de datos, los flujos de trabajo del almacenamiento son utilizados de forma mucho más eficiente.
Como se puede ver, se trata de un avance y una tecnología que permite avanzar finalmente hacia el modelo de Almacenamiento Definido por el Software que ofrece tanto a las empresas como a los administradores de infraestructura y de vSphere ventajas más que significativas, permitiendo de esta forma estar a la altura de los cambios de negocio actuales y adaptarse rápidamente a los requerimientos.
Espero que el artículo haya sido de ayuda y me ayuden a difundirlo compartiéndolo en sus redes sociales.
Hasta la próxima