Apéndice F. Alta disponibilidad de LVM (HA-LVM)
La adición de alta disponibilidad de Red Hat ofrece soporte para volúmenes LVM de alta disponibilidad (HA-LVM) en una configuración de conmutación. Esto es diferente a las configuraciones active/active activadas por el Gestor de volúmen lógico en clúster (CLVM), el cual es un conjunto de extensiones de agrupamiento para LVM que permiten que un clúster de computadores administre el almacenaje compartido.
Cuando utilice CLVM o HA-LVM debe basarse en las necesidades de aplicaciones o servicios que se emplean.
- Si las aplicaciones reconocen a los clústeres y han sido ajustados para que se ejecuten de forma simultánea en múltiples máquinas, entonces se debe utilizar CLVM. Específicamente, si más de un nodo de su clúster requiere acceso a su almacenaje que luego se comparte entre los nodos activos, entonces debe usar CLVM. CLVM permite al usuario configurar volúmenes lógicos en almacenaje compartido al bloquear el acceso al almacenaje físico mientras un volumen lógico está siendo configurado, y utiliza servicios de bloqueo en clúster para manejar el almacenaje compartido. Para obtener información sobre CLVM y configuración de LVM en general, consulte Administración del gestor de volumen lógico.
- Si las aplicaciones se ejecutan de forma óptima en configuraciones activa/pasiva (conmutación) donde solo un nodo individual que accede al almacenaje está activo en cualquier momento, debe usar agentes de adminitración de volúmenes lógicos de alta disponibilidad (HA-LVM).
La mayoría de las aplicaciones se ejecutarán en una configuración activa/pasiva, ya que no están diseñadas u optimizadas para ejecutarse simultáneamente con otras instancias. Si elige ejecutar una aplicación que no reconozca los clústeres en volúmenes lógicos el rendimiento podría degradarse si el volumen lógico ha sido copiado en espejo. Esto se debe a que hay una sobrecarga de comunicación de clúster para los volúmenes lógicos en dichas instancias. Una aplicación que reconozca los clústeres, debe ser capaz de lograr mejoras en rendimiento por encima de las pérdidas en rendimiento introducidas por los sistemas de archivos de clúster y los volúmenes lógicos que con reconozcan clústeres. Esto es factible para algunas aplicaciones y cargas de trabajo y más fácil para otras. El determinar cuáles son los requerimientos del clúster y si el esfuerzo adicional para mejorar un clúster activo/activo, rinde beneficios, es el camino para elegir entre las dos variantes de LVM. La mayoría de los usuarios lograrán los mejores resultados de alta disponibilidad al usar HA-LVM.
HA-LVM y CLVM son similares en el hecho de que pueden evitar la corrupción de los metadatos de LVM y sus volúmenes lógicos, la cual podría presentarse si múltiples máquinas pudieran hacer cambios de sobreposición. HA-LVM impone la restricción de que un volumen lógico solo puede estar activado exclusivamente; es decir, activo en una sola máquina a la vez. Esto significa que solo se usan las implementaciones (no clúster) de controladores de almacenaje. Al evitar así la sobrecarga de coordinación de clúster, aumenta el rendimiento. CLVM no impone estas restricciones - el usuario es libre de activar un volumen lógico en todas las máquinas en un clúster; esto fuerza el uso de controladores de almacenaje de clúster que permiten que sistemas de archivos con reconocimiento de clúster y aplicaciones se coloquen en la parte superior.
HA-LVM puede configurar el uso de uno de los dos métodos para lograr su mandato de activación de volumen lógico exclusivo.
- El método preferido usa CLVM, pero solo activará volúmenes lógicos de forma exclusiva. Esto tiene la ventaja de una configuración más fácil y de una mejor prevención de errores administrativos (tales como retirar un volumen lógico que no esté en uso). Para usar CLVM, el software de adición de alta disponibilidad y el software de adición de almacenaje resistente, incluyendo el daemon
clvmd
, deben estar en ejecución.El procedimiento para configurar HA-LVM mediante este método se describe en la Sección F.1, “Configuración de conmutación de HA-LVM con CLVM (preferido) ”. - El segundo método usa el bloqueo de máquina local y las etiquetas o "tags" LVM. Este método tiene la ventaja de que no se requiere ningún paquete de clúster LVM; sin embargo, hay más pasos en la configuración y no previene al administrador de retirar un volumen lógico de un nodo erradamente en el clúster donde no esté activo. El procedimiento para configurar HA-LVM con este método se describe en la Sección F.2, “Configuración de conmutación HA-LVM con etiquetas”.
F.1. Configuración de conmutación de HA-LVM con CLVM (preferido)
Para configurar conmutación de HA-LVM (con la variante preferida CLVM), realice los siguientes pasos:
- Asegúrese de que su sistema esté configurado para soportar CLVM, el cual requiere lo siguiente:
- La adición de alta disponibilidad y la adición de almacenaje resistente instalados, incluyendo el paquete
cmirror
si los volúmenes lógicos de CLVM deben ser copiados en espejo. - El parámetro
locking_type
en la sección global del archivo/etc/lvm/lvm.conf
se establece al valor de '3'. - El software de adición de alta disponibilidad y de adición de almacenaje resistente, incluyendo el daemon
clvmd
, deben estar en ejecución. Para copia en espejo de CLVM, también se debe iniciar el serviciocmirrord
.
- Cree el volumen lógico y el sistema de archivos mediante LVM estándar y los comandos de sistema de archivo, como en el siguiente ejemplo:
#
pvcreate /dev/sd[cde]1
#vgcreate -cy shared_vg /dev/sd[cde]1
#lvcreate -L 10G -n ha_lv shared_vg
#mkfs.ext4 /dev/shared_vg/ha_lv
#lvchange -an shared_vg/ha_lv
Para obtener información sobre creación de volúmenes lógicos LVM, consulte Administración del gestor de volumen lógico. - Edite el archivo
/etc/cluster/cluster.conf
para incluir el volumen recién creado como un recurso en uno de sus servicios. También puede usar Conga o el comandoccs
para configurar LVM y los recursos del sistema de archivos para el clúster. La siguiente es una muestra de la sección del gestor de recursos del archivo/etc/cluster/cluster.conf
que configura un volumen lógico CLVM como recurso de clúster:<rm> <failoverdomains> <failoverdomain name="FD" ordered="1" restricted="0"> <failoverdomainnode name="neo-01" priority="1"/> <failoverdomainnode name="neo-02" priority="2"/> </failoverdomain> </failoverdomains> <resources> <lvm name="lvm" vg_name="shared_vg" lv_name="ha-lv"/> <fs name="FS" device="/dev/shared_vg/ha-lv" force_fsck="0" force_unmount="1" fsid="64050" fstype="ext4" mountpoint="/mnt" options="" self_fence="0"/> </resources> <service autostart="1" domain="FD" name="serv" recovery="relocate"> <lvm ref="lvm"/> <fs ref="FS"/> </service> </rm>