En este post voy a hablar de una tecnología que surgió con la versión 6 de vSphere, Virtual Volumes.
Para empezar, que son los Virtual Volumes? Son un tipo de objeto de Virtual Machine, que se crean y se almacenan de forma nativa en el Array de Storage. Los VVols se almacenan en contenedores de almacenamiento y se asignan a archivos / objetos de máquinas virtuales tales como intercambio de VM, VMDK y sus derivados.
Existen cinco tipos diferentes de objetos Virtual Volumes y cada uno de ellos se asigna a un archivo de máquina virtual diferente y específico:
- Config: El raiz de la máquina, Ficheros de configuración, logs, etc.
- Data: El equivalente a los ficheros Disk File de las máquinas virtuales (VMDK)
- Memory: Para Snapshots
- Swap: Memoria Swap de la máquina virtual
- Other: Objetos específicos de vSphere
En definitiva, la diferencia es que tradicionalmente, los datos de una máquina virtual se almacenan como una colección de archivos en un almacén de datos VMFS o NFS, que a su vez es una LUN o Sistema de Archivos en el Storage. Con VVol Datastores, cada archivo se almacena en un objeto de almacenamiento dedicado, denominado Virtual Volume, en el “Storage Array“.
Para entender la infraestructura completa de Virtual Volumes tenemos que nombras los componentes que hacen posible esta tecnología.
Que componentes son:
- Vendor Provider (VP)
- Storage Container (SC)
- VVol Datastore
- Protocol Endpoints (PE)
A continuación iremos detallando aspectos de cada componente.
Vendor Provider (VP)
Vendor Provider, es también conocido como “vSphere Storage APIs for Storage Awareness (VASA) Provider“, es un componente de software por parte del almacenamiento que actúa como un servicio de reconocimiento de almacenamiento para vSphere y que hace de mediador en la comunicación out-of-band entre vCenter Server y Host ESXi con el sistema de almacenamiento. Los proveedores de almacenamiento son desarrollados exclusivamente por los vendedores proveedores.
Los hosts ESXi y vCenter Server se conectan al Vendor Provider y obtienen información sobre la topología, las capacidades y el estado del almacenamiento disponible. Posteriormente vCenter Server provee la información recogida a los clientes, exponiendo las capacidades del Almacenamiento sobre las cuales se podrán crear SPBM (Storage Policy Based Management).
Los”Vendor Provider (VASA) son instalados y configurados:
- Automáticamente a través del Fabricante de la cabina de almacenamiento a través de un plugin.
- Manualmente a través del Virtual Center.
Storage Container (SC)
A diferencia de las LUN o Repositorios NFS, VVols no requiere de volúmenes preconfigurados en la parte de Storage. Para ello, VVols utiliza Storage Container, el cual es un Pool de Almacenamiento (RAW) o una agregación de almacenamiento que el Sistema de Almacenamiento (Cabina) provee a VVols.
Storage Container son usados para definir:
- Atribuciones y restricciones de la capacidad de almacenamiento.
- Configuraciones de la política de almacenamiento basada en capacidades de servicio de datos
Protocol EndPoint (PE)
Aunque los sistemas de almacenamiento administran todos los aspectos de los volúmenes virtuales, los hosts ESXi no tienen acceso directo a los volúmenes virtuales en la parte del almacenamiento. En su lugar, los hosts ESXi utilizan un Proxy de E/S lógico, denominado Protocol Endpoint, para comunicarse con VVols y archivos de disco virtual encapsulados en los VVols. En definitiva, se utiliza para establecer una ruta de datos a petición de las máquinas virtuales a sus respectivos VVols.
Protocol Endpoint es compatible con todos los protocolos de SAN y NAS:
- iSCSI
- NFS
- Fiber Channell (FC)
- Fiber Channell Over Ethernet (FCoE)
Virtual Datastore
Representa un Storage Container en la parte de Virtual Center Server. Después de que vCenter Server descubre los Storage Containers exportados por los sistemas de almacenamiento, deben de ser montados para poder utilizarlos. Para ello utilizaremos el asistente de creación de Datastores en vSphere Web Client para asignar un Storage Container a un Virtual Datastore. El Virtual Datastore que crea corresponde directamente al contenedor de almacenamiento específico y se convierte en la representación del contenedor en vCenter Server y vSphere Web Client. Y diremos, esto es lo mismo que cualquier Datastore, y no!!!! Podemos hacer browse y listar los VVols por nombres de máquinas virtuales, soporta Unmounting y Mounting, a diferencia de los Datastores tradicionales, no podremos redimensionar el Virtual Datastore, será configurable desde la parte del Array de Storage.
Ahora bien, el dibujo final, con todos los componentes unidos sería el siguiente:
Para terminar como hemos dicho antes, VVols se apoya en Storage Policy Based Management (SPBM), de manera que toda máquina virtual que se ejecute en VVols tiene que tener asignada una Storage Policy para VVols. Por ejemplo, EMC Unity realiza un seguimiento de todos los diferentes tipos de VVols y los asigna a la VM a la que pertenecen. Esto permite que los servicios de datos se apliquen sólo a los VVols que están asociados con una VM particular, en lugar de a todas las máquinas virtuales en todo el almacén de datos.
En siguientes post intentaremos profundizar más en esta tecnología.
Espero que os haya gustado y muchas gracias por compartir 🙂