Cluster Shared Volumes

La manera más fácil de entender el funcionamiento de los Cluster Shared Volumes (CSV), o volúmenes compartidos de clúster, en un failover cluster de Windows Server 2008 R2 es revisar cómo se comportan los failover cluster cuando esta característica no está presente.

En la configuración de un failover cluster se deben asignar, como unidades de almacenamiento, particiones especiales vinculadas a redes de almacenamiento de área, o SAN.

La conexión entre estos sistemas de almacenamiento y los nodos del clúster se debe realizar a través de protocolos especiales, como son iSCSI, Fibre Channel o SAS, y las particiones reciben el nombre de LUN (Logical Unit).

Aunque todos los nodos de un mismo clúster deben poder acceder a las mismas LUNs y de la misma forma, en cada momento el acceso es exclusivo, lo que significa que sólo uno de los nodos puede acceder simultáneamente a una LUN.

Debido a ello cada máquina virtual configurada para poder ser usada en un clúster de conmutación por error de Hyper-V debería residir en una LUN distinta, ya que si varias máquinas virtuales coexisten en la misma LUN cuando una de ellas cae no puede ser accedida por otro nodo del clúster, ya que el resto de máquinas activas, y por lo tanto la LUN, siguen en uso por el primer nodo.

En entornos con varias máquinas virtuales este tipo de implementación (una LUN por máquina virtual) es muy costoso tanto en términos de aprovechamiento de recursos como en términos de administración, y además se ve limitado por la necesidad de asignar letras de sistema distintas a cada LUN.

CSV es una tecnología que permite que múltiples máquinas virtuales de múltiples nodos de un clúster residan todas en la misma LUN, ya que permite que todos los nodos accedan simultáneamente a la LUN, con lo cual se solucionan todos los problemas derivados de la exclusividad de los accesos en clúster a las LUN.


Figura 1.- Esquema de funcionamiento de CSV

Ventajas del uso de clústeres de conmutación por error con almacenamiento de tipo CSV:

i) Administración de almacenamiento más sencilla: como las máquinas virtuales comparten volúmenes, se necesitan configurar y administrar menos LUN para hospedar la misma cantidad de máquinas virtuales.

ii) Conmutación por error independiente de máquinas virtuales: aunque varias máquinas virtuales compartan el mismo volumen, cada una de ellas puede conmutar por error, trasladarse o migrarse, independientemente del resto de máquinas virtuales.

iii) Uso eficaz de recursos: se usa mejor el espacio en disco, ya que no se necesita colocar cada archivo VHD (disco duro virtual) en un disco o LUN independiente, lo que provocaría que el espacio en disco sobrante sólo pudiera ser usado por esa máquina virtual. En su lugar, cualquier archivo VHD de esa LUN puede usar el espacio libre de un volumen compartido de clúster. De esta forma, se reduce la cantidad de espacio que se debe reservar para la expansión y se simplifica el planeamiento de capacidad.

iv) Fin de las restricciones en letras de unidad: no es necesario asignar una letra de unidad a volúmenes compartidos de clúster, por lo que no existen restricciones respecto a la cantidad de letras de unidad disponibles

v) Identificación de rutas: ya no es necesario identificar las rutas a los recursos empleados por máquinas virtuales mediante letras de unidad o mediantes GUID (Identificadores únicos de volumen); la ubicación de recursos se hace mediante rutas de acceso locales que se resuelven de forma idéntica en todos los nodos.

vi) Disponibilidad mejorada: la característica CSV está diseñada para detectar y solventar problemas que, de otro modo, provocarían que el almacenamiento, y por lo tanto el servicio, no se encontrara disponible para las máquinas virtuales. Así por ejemplo, si una ruta de acceso al almacenamiento tiene problemas de conexión, CSV automáticamente intenta usar rutas alternativas, redireccionando el acceso al almacenamiento a través de otro nodo.

vii) Requerimientos hardware: la implementación de CSV no implica requisitos hardware adicionales para el almacenamiento SAN utilizado en el clúster. Sólo precisa ser definido sobre volúmenes con formato NTFS.

Para habilitar un failover cluster de Hyper-V para usar CSV simplemente se debe seleccionar la opción "Habilitar volúmenes compartidos de clúster" en el menú contextual del clúster, en la consola de administración de clústeres de conmutación por error.


Figura 2.- Habilitar CSV en un failover cluster de Windows Server 2008 R2

Al seleccionar la opción se nos advierte de que en los volúmenes que se vayan a usar como volúmenes CSV sólo se admiten archivos creados por Hyper-V.

Una vez habilitada la opción en la consola aparece un nuevo elemento: "Volúmenes compartidos del clúster". Desde el menú contextual de este elemento podemos añadir distintos elementos del almacenamiento SAN como volúmenes CSV al clúster.


Figura 3.- Agregar almacenamiento como volúmenes CSV

Nota: sólo se pueden añadir como volúmenes CSV unidades de almacenamiento SAN (discos, LUNs...) reconocidas previamente por el clúster, es decir, que aparezcan previamente en el elemento "Almacenamiento" de la consola de administración de clústeres de conmutación por error.

Una vez habilitado CSV para el clúster, y agregados volúmenes CSV, los nodos almacenan y tienen acceso a los archivos usados por las máquinas virtuales en clúster ubicados en dichos volúmenes a través de una ruta de acceso local: "C:\ClusterStorage", suponiendo que C es la unidad del sistema.

Cada volumen definido para ser usado como CSV en un entorno de failover cluster de Hyper-V tendrá una ruta ubicada bajo la carpeta local "ClusterStorage".

Por ejemplo, la ruta local "C:\ClusterStorage\VMGroupA" será la que usarán todos los nodos de un failover cluster de Hyper-V para acceder a un volumen CSV llamado VMGroupA ubicado físicamente en la SAN que esté usando el clúster.

Teniendo en cuenta lo anterior es evidente que para que CSV funcione una de las condiciones necesarias es que todos los nodos tengan su partición de sistema en misma letra de unidad.

Es importante recordar que los volúmenes CSV sólo son aptos para el manejo de ficheros relacionados con máquinas virtuales, y que el uso de cualquier otro tipo de archivos en estos volúmenes puede provocar problemas en el funcionamiento del clúster.

También es necesario comprobar que no existan aplicaciones incompatibles con CSV accediendo a esos volúmenes, ya que interferirían con el funcionamiento del servicio de failover cluster.

Nota: los tipos de archivos soportados en volúmenes CSV son: "
.vhd", ".avhd", ".vsv", ".xml", ".bin", ".iso", ".vfd" y ".exp".