Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.4. Agrupamiento

El almacenamiento en clústeres proporciona una imagen de un sistema de archivos consistente a través de todos los servidores en un clúster, lo cual permite que los servidores lean y escriban a un sistema de archivos único y compartido. Este procedimiento simplifica la administración de almacenamiento al limitar tareas tales como instalar o corregir aplicaciones para un sistema de archivos. Un sistema de archivos amplio en clúster también elimina la necesidad de copias redundantes de datos de aplicaciones, al mismo tiempo que simplifica la copia de seguridad y la recuperación de desastres.
La adición de alta disponibilidad de Red Hat proporciona almacenamiento en clúster junto con el Sistema de archivos global 2 de Red Hat (parte de adición de almacenamiento resistente).

7.4.1. Sistema de archivos global 2

El Sistema de archivos global 2 (GFS2) es un sistema de archivos que interactúa directamente con el sistema de archivos de kernel de Linux. Le permite a varios computadores (nodos) compartir de forma simultánea en un clúster. El sistema de archivos GFS2 es ampliamente auto-ajustable, pero también se puede ajustar de forma manual. Esta sección presenta algunas consideraciones sobre el ajuste manual.
Red Hat Enterprise Linux 6.4 introduce mejoras para administrar la fragmentación de archivos en GFS2. Los archivos creados por Red Hat Enterprise Linux 6.3 o anteriores eran propensos a fragmentarse si los archivos múltiples eran escritos al mismo tiempo por más de un proceso. Esta fragmentación retrasaba la ejecución, sobre todo en las cargas de trabajo que implicaban grandes archivos. Con Red Hat Enterprise Linux 6.4, la escritura simultánea se traduce en menor fragmentación de archivos y por lo tanto, en mejor rendimiento para dichas cargas de trabajo.
Aunque no hay una herramienta de desfragmentación para GFS2 en Red Hat Enterprise Linux, usted puede desfragmentar archivos individuales al identificarlos con la herramienta filefrag, copiarlos en archivos temporales y renombrarlos para remplazar los originales. (Este procedimiento también puede realizarse en versiones anteriores a 6.4 siempre y cuando la lectura se haga de forma secuencial.)
Puesto que GFS2 usa un mecanismo de cerramiento global, el cual requiere comunicación entre nodos de un clúster, el mejor rendimiento se realizará cuando su sistema esté diseñado para evitar la contención de archivo y directorio entre estos nodos. Algunos métodos para evitar contención son los siguientes:
  • Pre-asignar archivos y directorios con fallocate cuando sea posible para optimizar el proceso de asignación y evitar así tener que bloquear las páginas de origen.
  • Minimizar las áreas del sistema de archivos que se comparten entre múltiples nodos para minimizar la invalidación de cache a través de nodos y mejorar el rendimiento. Por ejemplo, si varios nodos montan el mismo sistema de archivos, es muy probable que obtenga un mejor rendimiento si traslada un subdirectorio a un sistema de archivos independiente.
  • Seleccionar un tamaño y número de grupo de recursos óptimo. Esto depende del tamaño de archivos y del espacio libre disponible en el sistema, y afecta la probabilidad de que múltiples nodos intenten usar un grupo de recursos de forma simultánea. Demasiados grupos de recursos pueden demorar la asignación de bloques cuando se localiza el espacio de asignación. Suele ser mejor probar las configuraciones para determinar cuál es mejor para su carga de trabajo.
Sin embargo, la contención no es el único problema que afecta el rendimiento del sistema de archivos GFS2. Otras prácticas para mejorar el rendimiento total, son:
  • Seleccione su hardware de almacenamiento según los patrones de E/S esperados de los nodos de clúster y los requerimientos de rendimiento del sistema de archivos.
  • Use el almacenamiento de estado sólido en donde sea posible disminuir el tiempo de búsqueda.
  • Cree un sistema de archivos con el tamaño apropiado para su carga de trabajo y asegúrese de que el sistema de archivos no esté nunca a una capacidad mayor que 80%. Los sistemas de archivos más pequeños tendrán en forma proporcional, tiempos más cortos de copia de seguridad, pero estarán sujetos a una alta fragmentación si son demasiado pequeños para la carga de trabajo.
  • Establezca tamaños de diarios para cargas de trabajo intensivas de metadatos o cuando los datos puestos en diario estén en uso. Aunque se usa más memoria, mejora el rendimiento, ya que el espacio de diario está disponible para almacenar datos antes de que una escritura sea necesaria.
  • Asegúrese de que los relojes en nodos GFS2 estén sincronizados para evitar problemas con aplicaciones en red. Le recomendamos el uso de NTP ( Protocolo de tiempo de red).
  • A menos que los tiempos de acceso de directorio o archivos sean críticos para la operación de su aplicación, monte el sistema de archivos con las opciones de montaje de noatime y nodiratime.

    Nota

    Red Hat recomienda el uso de la opción noatime con GFS2.
  • Si necesita utilizar cuotas, trate de reducir la frecuencia de transacciones de sincronización de cuotas o utilice la sincronización de cuota difusa para evitar problemas de rendimiento que surgen de constantes actualizaciones de archivos

    Nota

    Las cuotas de conteo difuso permiten a los usuarios y grupos excederse un poco del límite de cuota. Para minimizar este problema, GFS2 reduce de forma dinámica el periodo de sincronización cuando el usuario o grupo se acerca a la cuota límite.
Para obtener mayor información sobre cada aspecto del ajuste de rendimiento de GFS2, consulte la Guía del Sistema de archivos global 2, disponible en http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.