1.6. Volúmenes lógicos LVM en un cluster de alta disponibilidad de Red Hat

El complemento de alta disponibilidad de Red Hat proporciona soporte para volúmenes LVM en dos configuraciones de cluster distintas:

  • Volúmenes LVM de alta disponibilidad (HA-LVM) en configuraciones de conmutación por error activas/pasivas en las que sólo un único nodo del clúster accede al almacenamiento en todo momento.
  • Volúmenes LVM que utilizan el demonio lvmlockd para gestionar los dispositivos de almacenamiento en configuraciones activas/activas en las que más de un nodo del clúster requiere acceso al almacenamiento al mismo tiempo. El demonio lvmlockd forma parte del complemento de almacenamiento resistente.

1.6.1. Elección de HA-LVM o volúmenes compartidos

Cuándo utilizar HA-LVM o volúmenes lógicos compartidos gestionados por el demonio lvmlockd debe basarse en las necesidades de las aplicaciones o servicios que se están implementando.

  • Si varios nodos del cluster requieren acceso simultáneo de lectura/escritura a los volúmenes LVM en un sistema activo/activo, entonces debe utilizar el demonio lvmlockd y configurar sus volúmenes como volúmenes compartidos. El demonio lvmlockd proporciona un sistema para coordinar la activación y los cambios de los volúmenes LVM en todos los nodos de un clúster de forma simultánea. El servicio de bloqueo del demonio lvmlockd proporciona protección a los metadatos LVM cuando varios nodos del cluster interactúan con los volúmenes y realizan cambios en su disposición. Esta protección depende de la configuración de cualquier grupo de volúmenes que se active simultáneamente en varios nodos del clúster como un volumen compartido.
  • Si el clúster de alta disponibilidad está configurado para gestionar los recursos compartidos de forma activa/pasiva con un solo miembro que necesita acceder a un volumen LVM determinado a la vez, entonces puede utilizar HA-LVM sin el servicio de bloqueo lvmlockd.

La mayoría de las aplicaciones se ejecutarán mejor en una configuración activa/pasiva, ya que no están diseñadas u optimizadas para ejecutarse simultáneamente con otras instancias. La elección de ejecutar una aplicación que no sea compatible con el clúster en volúmenes lógicos compartidos puede resultar en un rendimiento degradado. Esto se debe a que hay una sobrecarga de comunicación de clúster para los propios volúmenes lógicos en estas instancias. Una aplicación con conciencia de clúster debe ser capaz de lograr ganancias de rendimiento por encima de las pérdidas de rendimiento introducidas por los sistemas de archivos de clúster y los volúmenes lógicos con conciencia de clúster. Esto se puede lograr para algunas aplicaciones y cargas de trabajo más fácilmente que para otras. Determinar cuáles son los requisitos del clúster y si el esfuerzo extra hacia la optimización para un clúster activo/activo dará sus frutos es la forma de elegir entre las dos variantes de LVM. La mayoría de los usuarios conseguirán los mejores resultados de HA utilizando HA-LVM.

HA-LVM y los volúmenes lógicos compartidos que utilizan lvmlockd son similares en el hecho de que evitan la corrupción de los metadatos de LVM y sus volúmenes lógicos, que de otro modo podría ocurrir si se permite que varias máquinas realicen cambios superpuestos. HA-LVM impone la restricción de que un volumen lógico sólo puede ser activado de forma exclusiva; es decir, activo en una sola máquina a la vez. Esto significa que sólo se utilizan implementaciones locales (no agrupadas) de los controladores de almacenamiento. Evitar la sobrecarga de coordinación del clúster de esta manera aumenta el rendimiento. Un volumen compartido que utiliza lvmlockd no impone estas restricciones y un usuario es libre de activar un volumen lógico en todas las máquinas de un clúster; esto obliga a utilizar controladores de almacenamiento compatibles con el clúster, lo que permite poner encima sistemas de archivos y aplicaciones compatibles con el clúster.