Red Hat Training

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

GFS 2 (Sistema de archivos global)

Red Hat Enterprise Linux 5

GFS 2 de Red Hat

Edición 3

Resumen

Este libro proporciona información sobre la instalación, configuración y mantenimiento de Red Hat GFS2 (Red Hat Global File System 2) para Red Hat Enterprise Linux 5.

Introducción

Bienvenido al documento Administración y configuración del sistema de archivos global (GFS). Este libro proporciona información sobre cómo configurar y mantener Red Hat GFS2 (Red Hat Global File System 2). Red Hat GFS2 puede ser ejecutado en un nodo único o como parte de una configuración de cluster en Red Hat Cluster Suite en RHEL 5.3 y posteriores. Para mayor información sobre Red Hat Cluster Suite, consulte Sinopsis de Red Hat Cluster Suite y Configuración y administración de Red Hat Cluster.
Las versiones en HTML y PDF de todas las guías y notas de lanzamiento de Red Hat Enterprise Linux están disponibles en http://www.redhat.com/docs/.

1. Audiencia

Este libro está destinado principalmente a los administradores de sistemas Linux con conocimientos en las siguientes actividades:
  • Procedimientos de administración de sistemas linux, incluyendo la configuración del Kernel
  • Instalación y configuración de redes de almacenaje compartido, tales como canales de fibra SAN

3. Comentarios

Si encuentra algún error o si tiene alguna sugerencia para mejorar este documento, nos gustaría escuchar su opinión. Por favor complete un reporte en Bugzilla (http://bugzilla.redhat.com/bugzilla/) usando el componente rh-cs.
Be sure to mention the manual's identifier:
rh-gfs2(EN)-5 (2009-01-05T15:15)
By mentioning this manual's identifier, we know exactly which version of the guide you have.
En caso de que tenga una sugerencia para mejorar la documentación, trate de ser lo más específico posible. Si encontró algún error, incluya el número de la sección y parte del texto que rodea el error para localizar éste más fácilmente.

Capítulo 1. Sinopsis de GFS2

El sistema de archivos GFS2 de Red Hat es un sistema de archivos nativo que interactúa directamente con la interfaz del sistema de archivos del kernel de Linux (VFS). Un sistema de archivos GFS2 puede ser implementado en un sistema independiente o como parte de una configuración de cluster. Cuando se implementa como un sistema de archivo de cluster, GFS2 emplea metadatos distribuidos y varios diarios.
A GFS2 file system can be created on an LVM logical volume. A logical volume is an aggregation of underlying block devices that appears as a single logical device. For information on the LVM volume manager, see the LVM Administrator's Guide.
Un GFS2 está basado en una arquitectura de 64-bits, la cual en teoría aloja un sistema de archivos de 8 EB. Sin embargo, el tamaño máximo soportado de un sistema de archivos GFS2 es de 25 TB. Si su sistema requiere un sistema de archivos GFS2 mayor de 25 TB, contacte a su representante del servicio de Red Hat.
Al determinar el tamaño de su sistema de archivos, debe considerar sus necesidades de recuperación. Ejecutar el comando fsck en un sistema de archivos muy grande puede tardar mucho y consumir mucha memoria. Además, en el evento de que un disco o subsistema falle, el tiempo de recuperación esta limitado por la velocidad de los medios de copia de seguridad.
Cuando GFS2 de Red Hat está configurado en un Red Hat Cluster Suite, los nodos de GFS2 pueden ser configurados y administrados con las herramientas de Red Hat Cluster Suite. GFS2 de Red Hat proporciona compartición de datos entre los nodos GFS2 de un cluster de Red Hat, con una única visualización consistente del espacio de nombres del sistema de archivos entre todos los nodos de GFS2. Esto le permite a los procesos en nodos diferentes compartir archivos GFS2 del mismo modo que los procesos en el mismo nodo pueden compartir archivos en un sistema de archivos local, sin ninguna diferencia discernible. Para obtener mayor información sobre Red Hat Cluster Suite, consulte el documento Configuración y administración de Red Hat Cluster.
LVM logical volumes in a Red Hat Cluster suite are managed with CLVM, which is a cluster-wide implementation of LVM, enabled by the CLVM daemon, clvmd running in a Red Hat Cluster Suite cluster. The daemon makes it possible to use LVM2 to manage logical volumes across a cluster, allowing all nodes in the cluster to share the logical volumes. to any directory on your system. For information on the LVM volume manager, see the LVM Administrator's Guide.
El módulo de kernel gfs2.ko implementa el sistema de archivos GFS2 y es cargado en los nodos de cluster GFS2.
Este capítulo proporciona información básica que lo ayudará a entender GFS2. Contiene las siguientes secciones:

1.1. Antes de configurar GFS2

Antes de instalar y configurar GFS2, anote las siguientes características claves de su archivo de sistemas GFS2:
Nodos GFS2
Determine cuáles nodos en Red Hat Cluster Suite montarán el sistema de archivos GFS2.
Número de sistemas de archivo
Determine cuántos sistemas de archivos GFS2 deben ser creados inicialmente (más sistemas de archivos pueden ser añadidos posteriormente).
Nombre del sistema de archivos
Determine un nombre único para cada sistema de archivos. Cada sistema de archivos es requerido como una variable de parámetro. Por ejemplo, este libro utiliza los nombres de archivos mydata1 y mydata2 en algunos procedimientos de ejemplo.
Diarios
Determine the number of journals for your GFS2 file systems. One journal is required for each node that mounts a GFS2 file system. GFS2 allows you to add journals dynamically at a later point as additional servers mount a filesystem. For information on adding journals to a GFS2 file system, see Sección 3.6, “Cómo añadir diarios a un sistema de archivos”.
Nodos del servidor GNBD
Si está utilizando GNBD, determine cuántos nodos de servidores GNBD son necesarios. Note el nombre de host y la dirección IP de cada nodo de servidor GNBD para conectar clientes GNBD posteriormente. Para obtener información sobre el uso de GNBD en GFS2, consulte el documento Cómo utilizar GNBD con GFS.
Particiones y dispositivos de almacenaje
Determine los dispositivos de almacenaje y las particiones que serán usadas para crear volúmenes lógicos (a través de CLVM) en los sistemas de archivos.

Nota

Se puede ver problemas de rendimiento con GFS2 cuando muchas operaciones de crear o borrar se emiten desde más de un nodo en el mismo directorio al mismo tiempo. Si esto causa problemas de rendimiento en el sistema, debe localizar la creación y borrado de archivo por un nodo a directorios específicos de ese nodo tanto como sea posible.

1.2. Diferencias entre GFS y GFS2

Esta sección lista los cambios y mejoras que GFS2 ofrece en comparación con GFS.
Migrating from GFS to GFS2 requires that you convert your GFS file systems to GFS2 with the gfs2_convert utility. For information on the gfs2_convert utility, see Apéndice A, Cómo convertir el sistema de archivos de GFS a GFS2.

1.2.1. Nombres de los comandos de GFS2

In general, the functionality of GFS2 is identical to GFS. The names of the file system commands, however, specify GFS2 instead of GFS. Tabla 1.1, “Comandos de GFS y GFS2” shows the equivalent GFS and GFS2 commands.

Tabla 1.1. Comandos de GFS y GFS2

Comandos de GFS Comandos de GFS2 Descripción
mount mount Monta un sistema de archivos. El sistema puede determinar si el sistema de archivos es GFS o GFS2. Para obtener información sobre las opciones de montaje de GFS2 vea las páginas de manual (man) de gfs2_mount(8).
umount umount Desmonta un sistema de archivos.
fsck
gfs_fsck
fsck
fsck.gfs2
Revisa y repara un sistema de archivos sin montar.
gfs_grow gfs2_grow Expande un sistema de archivos montado.
gfs_jadd gfs2_jadd Añade un diario a un sistema de archivos montado
gfs_mkfs
mkfs -t gfs
mkfs.gfs2
mkfs -t gfs2
Crea un sistema de archivos en un dispositivo de almacenaje.
gfs_quota gfs2_quota Maneja las cuotas en un sistema de archivos montado.
gfs_tool gfs2_tool Configura, mejora o recoge la información de un sistema de archivos.
gfs_edit gfs2_edit Muestra, imprime o edita las estructuras internas de un sistema de archivos. El comando gfs2_edit puede ser usado por los sistemas de archivos GFS y GFS2.
Para obtener una lista completa de las opciones soportadas por cada comando del sistema de archivos GFS2, vea las páginas de manual para estos comandos.

1.2.2. Diferencias adicionales entre GFS y GFS2

This section summarizes the additional differences in GFS and GFS2 administration that are not described in Sección 1.2.1, “Nombres de los comandos de GFS2”.

Nombre de rutas dependientes del contexto

GFS2 file systems do not provide support for context-dependent path names, which allow you to create symbolic links that point to variable destination files or directories. For this functionality in GFS2, you can use the bind option of the mount command. For information on managing pathnames in GFS2, see Sección 3.11, “Nombres de rutas dependientes del contexto y montajes enlazados”.

Módulo gfs2.ko

El módulo de kernel que implementa el sistema de archivos GFS es gfs.ko. El módulo de kernel que implementa el sistema de archivos GFS2 es gfs2.ko.

Cómo activar la activación de la cuota en GFS2

In GFS2 file systems, quota enforcement is disabled by default and must be explicitly enabled. To enable and disable quotas for GFS2 file systems, you use the quota=on|off|account option for the mount command. For information on enabling and disabling quota enforcement, see Sección 3.4.4, “Activación/desactivación del cumplimiento de las cuotas”.

Diario de los datos

GFS2 file systems support the use of the chattr command to set and clear the j flag on a file or directory. Setting the +j flag on a file enables data journaling on that file. Setting the +j flag on a directory means "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. Using the chattr command is the preferred way to enable and disable data journaling on a file.

Cómo añadir diarios dinámicamente

In GFS2 file systems, journals are plain (though hidden) files instead of embedded metadata. This means that journals can be dynamically added as additional servers mount a filesystem. For information on adding journals to a GFS2 file system, see Sección 3.6, “Cómo añadir diarios a un sistema de archivos”.

atime_quantum parameter removed

El sistema de archivos GFS2 no soporta el parámetro modificador atime_quantum, el cual puede ser utilizado por el sistema de archivos GFS para especificar la frecuencia de actualizaciones atime. En su lugar GFS2 soporta la opciones de montaje relatime y noatime. La opción de montaje relatime se recomienda para lograr una conducta similar para establecer el parámetro atime_quantum en GFS.

La opción data= del comando mount

Cuando se montan sistemas de archivos GFS2 se puede especificar la opción data=ordered o data=writeback de mount. Cuando se establece data=ordered, los datos del usuario modificados por una transacción son volcados al disco antes de que la transacción sea enviada al disco. Esto evita que el usuario vea, después de una falla, bloques sin inicializar en un archivo. Cuando se establece data=writeback, los datos del usuario son escritos en disco en cualquier momento después de ser ensuciado. Esto no ofrece las misma garantías que el modo ordered, pero puede ser un poco más rápido en algunas cargas de trabajo. El modo predeterminado es ordered.

El comando gfs2_tool

gfs2_tool soporta una serie de opciones para GFS2 diferentes a las que el comando gfs_tool soporta para GFS:
  • El comando gfs2_tool soporta un parámetro journals que imprime información sobre la configuración actual de los diarios, incluyendo cuántos diarios contiene el sistema de archivos.
  • El comando gfs2_tool no soporta la opción counters, la cual utiliza el comando gfs_tool para mostrar estadísticas de GFS.
  • The gfs2_tool command does not support the inherit_jdata flag. To flag a directory as "inherit jdata", you can set the jdata flag on the directory or you can use the chattr command to set the +j flag on the directory. Using the chattr command is the preferred way to enable and disable data journaling on a file.

El comando gfs2_edit

gfs2_edit soporta una serie de opciones para GFS2 diferentes a las que el comando gfs_edit soporta para GFS.

1.2.3. Mejoras de rendimiento en GFS2

Hay muchas funcionalidades del sistema de archivos GFS2 que no resultan en diferencias en la interfaz de usuario en comparación con el sistema de archivos GFS pero que mejoran el rendimiento del sistema de archivos.
Un sistema de archivos GFS2 proporciona un mejor rendimiento de la siguiente manera:
  • Mejor rendimiento para uso extremo en directorios únicos.
  • Operaciones de sincronización de E/S más rápidas
  • Lecturas de caché más rápidas (sin gasto de bloqueo)
  • Aumento en la velocidad de E/S directa con archivos asignados con anterioridad (si el tamaño de E/S es razonablemente grande, tal como bloques de 4M)
  • Mayor velocidad en las operaciones de E/S en general
  • La ejecución del comando df es más rápida porque las llamadas statfs son más rápidas.
  • El modo atime ha sido mejorado para reducir el número de operaciones de escritura E/S generadas por atime cuando se compara con GFS.
Los sistemas de archivos GFS2 proporcionan un soporte más amplio y más directo de las siguientes maneras:
  • GFS2 es parte del desarrollo principal del kernel (integrado en 2.6.19).
  • GFS2 soporta las siguientes funcionalidades:
    • atributos de SELinux extendidos.
    • el ajuste de los atributos lsattr() y chattr() a través de las llamadas ioctl() estándar.
    • marcas de tiempo en nano segundos
Un sistema de archivos GFS2 proporciona las siguientes mejoras en la eficacia interna del sistema de archivos.
  • GFS2 utiliza menos memoria del kernel
  • GFS2 no requiere números de generación de metadatos.
    La asignación de los metadatos de GFS2 no requiere lecturas. Las copias de bloques de metadatos en varios diarios se administra mediante la remoción de bloques desde un diario antes de liberar el bloqueo.
  • GFS2 incluye un administrador de registro más simple que no tiene conocimiento sobre los cambios de cuotas o inodos sin enlazar.
  • Los comandos gfs2_grow y gfs2_jadd utilizan bloqueo para prevenir la ejecución simultanea de varias ocurrencias de éstos.
  • El código ACL ha sido simplificado para llamadas como creat() y mkdir().
  • Inodos sin enlace, cambios de cuota y cambios de statfs se recobran sin remontar el diario.

Capítulo 2. Cómo iniciar

Este capítulo describe los procedimientos a seguir para la configuración de GFS2 y contiene las siguientes secciones:

2.1. Tareas previas

Before setting up Red Hat GFS2, make sure that you have noted the key characteristics of the GFS2 nodes (refer to Sección 1.1, “Antes de configurar GFS2”). Also, make sure that the clocks on the GFS2 nodes are synchronized. It is recommended that you use the Network Time Protocol (NTP) software provided with your Red Hat Enterprise Linux distribution.

Nota

Los relojes del sistema en los nodos de GFS2 deben tener una diferencia de pocos minutos entre ellos para prevenir actualizaciones innecesarias de la marca de tiempo del inodo. La actualización innecesaria de la marca de tiempo impacta de forma severa el rendimiento del cluster.

2.2. Tareas de configuración inicial

La configuración inicial de GFS2 está conformada por las siguientes tareas:
  1. Configuración de volúmenes lógicos.
  2. Creación del sistema de archivos GFS2.
  3. Montaje del sistema de archivos.
Siga los siguientes pasos para establecer GFS2 inicialmente.
  1. Con LVM, cree un volumen lógico para cada sistema de archivos GFS2 de Red Hat.

    Nota

    Puede usar los scripts en init.d incluidos con Red Hat Cluster Suite para automatizar la activación y desactivación de los volúmenes lógicos. Para obtener mayor información sobre los scripts init.d, consulte Configuración y administración de Red Hat Cluster.
  2. Create GFS2 file systems on logical volumes created in Step 1. Choose a unique name for each file system. For more information about creating a GFS2 file system, refer to Sección 3.1, “Cómo crear un sistema de archivos”.
    Se puede utilizar cualquiera de los siguientes formatos para crear un sistema de archivos GFS2 en cluster:
    mkfs.gfs2 -p lock_dlm -t ClusterName:FSName -j NumberJournals BlockDevice
    mkfs -t gfs2 -p lock_dlm -t LockTableName -j NumberJournals BlockDevice
    Se pueden utilizar cualquiera de los siguientes formatos para crear un sistema de archivos local GFS2:
    mkfs.gfs2 -p lock_nolock -j NumberJournals BlockDevice
    mkfs -t gfs2 -p lock_nolock -j NumberJournals BlockDevice
    For more information on creating a GFS2 file system, see Sección 3.1, “Cómo crear un sistema de archivos”.
  3. At each node, mount the GFS2 file systems. For more information about mounting a GFS2 file system, see Sección 3.2, “Cómo montar un sistema de archivos”.
    Uso del comando:
    mount BlockDevice MountPoint
    mount -o acl BlockDevice MountPoint
    La opción -o acl de mount permite la manipulación de ACL en los archivos. Si un sistema de archivos es montado sin la opción -o acl, los usuarios pueden ver los ACL (con getfacl), pero no los pueden establecer (con setfacl).

    Nota

    Puede usar los scripts en init.d incluidos con Red Hat Cluster Suite para automatizar el montaje y desmontaje de los sistemas de archivos GFS2. Para obtener mayor información sobre los scripts init.d, consulte Configuración y administración de Red Hat Cluster.

Capítulo 3. Administración de GFS2

Este capítulo describe las tareas y comandos necesarios para administrar GFS2. Está conformado por las siguientes secciones:

3.1. Cómo crear un sistema de archivos

El sistema de archivos GFS2 se crea con el comando mkfs.gfs2. También se puede utilizar el comando mkfs con la opción -t gfs2 especificada. Un sistema de archivos es creado en un volumen LVM activado. La siguiente información es requerida para ejecutar el comando mkfs.gfs2:
  • el nombre del módulo/protocolo de bloqueo (el protocolo de bloqueo para un cluster es lock_dlm)
  • Nombre de cluster (cuando se ejecuta como parte de una configuración de cluster)
  • Número de diarios (un diario es requerido por cada nodo que monte el sistema de archivos)
Al crear un sistema de archivos GFS, puede utilizar el comando mkfs.gfs2 directamente o puede usar mkfs con el parámetro -t especificando un sistema de archivos de tipo gfs2, seguido por las opciones de sistema de archivos gfs2.

Uso

Al crear un sistema de archivos GFS2 en cluster, se puede utilizar cualquiera de los siguientes formatos:
mkfs.gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
Al crear un sistema de archivos local GFS2, se puede utilizar cualquiera de los siguientes formatos:
mkfs.gfs2 -p LockProtoName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -j NumberJournals BlockDevice

Aviso

Asegúrese de saber cómo utilizar los parámetros LockProtoName y LockTableName. El uso inapropiado de estos parámetros puede causar corrupción del sistema de archivos y del espacio de bloqueo.
LockProtoName
Especifica el nombre del protocolo de bloqueo a usar. El protocolo de bloqueo para un cluster es lock_dlm.
LockTableName
Este parámetro es específico del sistema de archivos GFS2 en configuraciones de cluster. Tiene dos partes separadas por dos puntos (sin espacios) así: ClusterName:FSName
  • ClusterName, el nombre del cluster de Red Hat para el cual se está creando el sistema de archivos GFS2.
  • FSName es el nombre del sistema de archivos y puede tener entre 1 y 16 caracteres. El nombre debe ser único para todos los sistemas de archivos lock_dlm en el cluster y para todos los sistemas de archivos (lock_dlm y lock_nolock) en cada nodo local.
Number
Specifies the number of journals to be created by the mkfs.gfs2 command. One journal is required for each node that mounts the file system. For GFS2 file systems, more journals can be added later without growing the filesystem, as described in Sección 3.6, “Cómo añadir diarios a un sistema de archivos”.
BlockDevice
Especifica un volumen lógico o físico.

Ejemplos

En este ejemplo, lock_dlm es el protocolo de bloqueo que utiliza el sistema de archivos, ya que éste es un sistema de archivos en cluster. El nombre del cluster es alpha y el nombre del sistema de archivos es mydata1. El sistema de archivos contiene ocho diarios y es creado en /dev/vg01/lvol0.
mkfs.gfs2 -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
mkfs -t gfs2 -p lock_dlm -t alpha:mydata1 -j 8 /dev/vg01/lvol0
En este ejemplo, un segundo sistema de archivos lock_dlm es creado, el cual puede ser utilizado en el cluster alpha. El nombre del sistema de archivos es mydata2. El sistema de archivos contiene ocho diarios y es creado en /dev/vg01/lvol1.
mkfs.gfs2 -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1
mkfs -t gfs2 -p lock_dlm -t alpha:mydata2 -j 8 /dev/vg01/lvol1

Opciones completas

Tabla 3.1, “Opciones del comando: mkfs.gfs2 describes the mkfs.gfs2 command options (flags and parameters).

Tabla 3.1. Opciones del comando: mkfs.gfs2

Opción Parámetro Descripción
-c Megabytes Sets the initial size of each journal's quota change file to Megabytes.
-D Activa los mensajes de salida de depurado.
-h Ayuda. Muestra las opciones disponibles.
-J MegaBytes Especifica el tamaño del diario en megabytes. El tamaño predeterminado es 128 megabytes. El tamaño mínimo es 8 megabytes. Los diarios grandes mejoran el rendimiento pero utilizan más memoria que los diarios pequeños.
-j Number Especifica el número de diarios que serán creados por el comando mkfs.gfs2. Un diario es requerido por cada nodo que monta el sistema de archivos. Si esta opción no se especifica, un diario será creado. En GFS2 se pueden crear diarios adicionales posteriormente sin necesidad de expandir el sistema de archivos.
-O Previene que el comando mkfs.gfs2 solicite la confirmación antes de escribir el sistema de archivos.
-p LockProtoName
Especifica el nombre del protocolo de bloqueo a utilizar. Entre los protocolos de bloqueo reconocidos están:
lock_dlm — El módulo de bloqueo estándar, requerido por un sistema de archivo de cluster.
lock_nolock — Usado cuando GFS2 actúa como sistema de archivos local (en un solo nodo).
-q En silencio. No muestra mensajes de salida.
-r MegaBytes Especifica el tamaño de los grupos de recursos en megabytes. El tamaño mínimo del grupo de recursos es 32MB. El tamaño máximo es 2048MB. Un grupo de recursos grande podría incrementar el rendimiento en archivos de sistemas muy grandes. Si no se especifica, mkfs.gfs2 escoge el tamaño del grupo de recursos dependiendo del tamaño del sistema de archivos: Los sistemas de archivos de tamaño promedio tendrán grupos de recursos de 256MB y sistemas de archivos más grandes tendrán grupos de recursos más grandes para mejorar el rendimiento.
-t LockTableName
Un identificador único que especifica el campo de tabla de bloqueo cuando se utiliza el protocolo lock_dlm; el protocolo lock_nolock no utiliza este parámetro.
Este parámetro tiene dos partes separadas por dos puntos (sin espacio) de la siguiente manera: ClusterName:FSName.
ClusterName es el nombre del cluster de Red Hat para el cual el sistema de archivos GFS2 ha sido creado; sólo los miembros de este cluster pueden utilizar este sistema de archivos. El nombre del cluster se establece en el archivo /etc/cluster/cluster.conf a través de la Herramienta de configuración del Cluster y se muestra en Herramienta de estado del Cluster en la interfaz gráfica de administración del cluster Red Hat Cluster Suite.
FSName es el nombre del sistema de archivos, puede tener entre 1 y 16 caracteres. El nombre debe ser único entre todos los sistemas de archivos en el cluster.
-u MegaBytes Specifies the initial size of each journal's unlinked tag file.
-V Muestra la información de la versión del comando.

3.2. Cómo montar un sistema de archivos

Before you can mount a GFS2 file system, the file system must exist (refer to Sección 3.1, “Cómo crear un sistema de archivos”), the volume where the file system exists must be activated, and the supporting clustering and locking systems must be started (refer to Configuring and Managing a Red Hat Cluster). After those requirements have been met, you can mount the GFS2 file system as you would any Linux file system.
Para manipular los ACL de un archivo se debe montar el sistemas de archivos con la opción -o acl. Si un sistema de archivos es montado sin la opción -o acl, los usuarios pueden ver los ACL (con getfacl) pero no pueden establecerlos (con setfacl).

Uso

Mounting Without ACL Manipulation
mount BlockDevice MountPoint
Mounting With ACL Manipulation
mount -o acl BlockDevice MountPoint
-o acl
Opciones específicas de GFS2 que permiten la manipulación de ACL de archivos.
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

Ejemplo

En este ejemplo, el sistema de archivos GFS2 en /dev/vg01/lvol0 es montado en el directorio /mygfs2.
mount /dev/vg01/lvol0 /mygfs2

Uso completo

mount BlockDevice MountPoint -o option
The -o option argument consists of GFS2-specific options (refer to Tabla 3.2, “Opciones de montaje específicas de GFS2”) or acceptable standard Linux mount -o options, or a combination of both. Multiple option parameters are separated by a comma and no spaces.

Nota

El comando mount es un comando del sistema Linux. Además de poder usar las opciones específicas de GFS2 descritas en esta sección, puede utilizar otras opciones estándar del comando mount (por ejemplo -r). Para obtener información sobre otras opciones de comando mount de Linux, consulte la página de manual (man) de mount.
Tabla 3.2, “Opciones de montaje específicas de GFS2” describes the available GFS2-specific -o option values that can be passed to GFS2 at mount time.

Tabla 3.2. Opciones de montaje específicas de GFS2

Opción Descripción
acl Permite la manipulación de los ACL de archivos. Si un sistema de archivos se monta sin la opción de montaje acl, los usuarios pueden ver los ACL (con getfacl) pero no pueden establecerlos (con setfacl).
data=[ordered|writeback] Cuando se establece data=ordered, los datos de usuario modificados en una transacción son volcados al disco antes de que la transacción sea enviada al disco. Esto debe evitar que el usuario vea bloques sin inicializar en un archivo después de una falla. Cuando se establece el modo data=writeback, los datos de usuario son escritos al disco en cualquier momento después de que éste es ensuciado; esto no proporciona las mismas garantías de consistencia que el modo ordered, pero debe ser un poco más rápido en algunas cargas de trabajo. El valor por defecto es el modo ordered.
ignore_local_fs
Precaución: Esta opción no debe ser utilizada cuando el sistema de archivos GFS2 es compartido.
Hace que GFS2 sea tratado como un sistema de archivos multihost. Por defecto, cuando se utiliza lock_nolock automáticamente se activa localcaching y localflocks.
localcaching
Precaución: Esta opción no debe ser utilizada cuando el sistema de archivos GFS2 es compartido.
Hace saber a GFS2 que está siendo ejecutado como un sistema de archivos local. GFS2 puede luego activar las capacidades de optimización que no están disponibles cuando es ejecutado en el modo cluster. La opción localcaching se activa automáticamente gracias a lock_nolock.
localflocks
Precaución: esta opción no debe ser usada cuando GFS2 es un sistema de archivos compartido.
Le avisa a GFS2 que debe dejar a VFS (Virtual File System) realizar todos los llamados flock y fcntl. La opción localflocks es activada automáticamente por lock_nolock.
lockproto=LockModuleName Le permite al usuario especificar cual protocolo de bloqueo utilizar con el sistema de archivos. Si no se especifica LockModuleName, el nombre del protocolo de bloqueo se lee desde el superbloque del sistema de archivos.
locktable=LockTableName Le permite al usuario especificar la tabla de bloqueo a utilizar con el sistema de archivos.
quota=[off/account/on] Activa o desactiva las cuotas del sistema de archivos. Al establecer las cuotas para que estén en el estado account causa que las estadísticas de uso por UID/GID sean correctamente mantenidas por el sistema de archivos; los valores límite y de advertencia son ignorados. El valor predeterminado es off.
upgrade Actualiza el formato en disco del sistema de archivos para que pueda ser usado con la nueva versión de GFS2.

3.3. Cómo desmontar un sistema de archivos

El sistema de archivos GFS2 puede ser desmontado de la misma forma que cualquier otro sistema de archivos de Linux — con el comando umount.

Nota

El comando umount es un comando del sistema Linux. Se puede encontrar información sobre este comando en las páginas de manual (man) de umount.

Uso

umount MountPoint
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

3.4. Administración de cuotas en GFS2

Las cuotas de los sistemas de archivos se utilizan para limitar la cantidad de espacio que puede utilizar un usuario o un grupo. Ningún usuario o grupo tiene una cuota límite a no ser de que ésta sea establecida. GFS2 guarda registro del espacio usado por cada usuario y grupo aunque los límites no hayan sido establecidos. GFS2 actualiza la información de la cuota utilizando transacciones para que en caso de una falla del sistema, las cuotas no necesiten ser reconstruidas.
To prevent a performance slowdown, a GFS2 node synchronizes updates to the quota file only periodically. The "fuzzy" quota accounting can allow users or groups to slightly exceed the set limit. To minimize this, GFS2 dynamically reduces the synchronization period as a "hard" quota limit is approached.
GFS2 utiliza el comando gfs2_quota para administrar las cuotas. Otras facilidades de cuota de Linux no pueden ser usadas en GFS2.

3.4.1. Establecimiento de las cuotas

Dos cuotas pueden ser establecidas para cada ID de usuario (UID) o grupo (GID): un límite duro y un límite de advertencia.
El límite duro es la cantidad de espacio que puede utilizarse. El sistema de archivos no dejará que el usuario o grupo exceda ese límite. Un límite duro de cero significa que no hay un límite definido.
Un límite de advertencia es generalmente un valor menor que el dado por el límite duro. El sistema de archivos notificará al usuario o grupo cuando éste haya llegado al límite para advertirlo del espacio de disco que está usando. Un límite de advertencia de cero significa que no se ha establecido ningún límite.
Los límites se establecen utilizando el comando gfs2_quota. Este comando sólo tiene que ser ejecutado en un nodo que tenga montado GFS2.
By default, quota enforcement is not set on GFS2 file systems. To enable quota accounting, use the quota= of the mount command when mounting the GFS2 file system, as described in Sección 3.4.4, “Activación/desactivación del cumplimiento de las cuotas”.

Uso

Setting Quotas, Hard Limit
gfs2_quota limit -u User -l Size -f MountPoint
gfs2_quota limit -g Group -l Size -f MountPoint
Setting Quotas, Warn Limit
gfs2_quota warn -u User -l Size -f MountPoint
gfs2_quota warn -g Group -l Size -f MountPoint
User
El ID de usuario a limitar o advertir. Puede ser un nombre de usuario del archivo de contraseñas o el número UID.
Group
El ID del grupo a limitar o advertir. Puede ser un nombre de grupo del archivo de grupos o el número GID.
Size
Especifica el nuevo tamaño límite o de advertencia. Por defecto, el valor es en megabytes. Las opciones adicionales -k, -s y -b cambian las unidades a kilobytes, sectores y bloques del sistema de archivos respectivamente.
MountPoint
Especifica el sistema de archivos GFS2 en el cual se aplicará la acción.

Ejemplos

Este ejemplo establece el límite duro para el usuario Bert en 1024 megabytes (1 gigabyte) en el sistema de archivos /mygfs2.
gfs2_quota limit -u Bert -l 1024 -f /mygfs2
Este ejemplo establece el límite de advertencia para el grupo con ID 21 a 50 kilobytes en el sistema de archivos /mygfs2.
gfs2_quota warn -g 21 -l 50 -k -f /mygfs2

3.4.2. Cómo ver los límites y uso de las cuotas

Los límites y uso actual de las cuotas para un usuario o grupo pueden verse con el comando gfs2_quota get. El contenido completo del archivo de cuotas puede verse con el comando gfs2_quota list, el cual muestra los ID con un límite duro o de advertencia diferente de cero.

Uso

Displaying Quota Limits for a User
gfs2_quota get -u User -f MountPoint
Displaying Quota Limits for a Group
gfs2_quota get -g Group -f MountPoint
Displaying Entire Quota File
gfs2_quota list -f MountPoint
User
Un ID de usuario para mostrar información sobre el usuario específico. Puede ser un nombre de usuario del archivo de contraseñas o el número UID.
Group
Un ID de grupo para mostrar información sobre el grupo específico. Puede ser un nombre de grupo del archivo de grupos o el número GID.
MountPoint
Especifica el sistema de archivos GFS2 en el cual se aplicará la acción.

Salida del comando

La información de cuotas en GFS2 del comando gfs2_quota se muestra de la siguiente manera:
user User: limit:LimitSize warn:WarnSize value:Value

group Group: limit:LimitSize warn:WarnSize value:Value

Los valores para LimitSize, WarnSize y Value están dados en megabytes por defecto. Si se añade -k, -s o -b a la línea del comando, el valor cambiará a kilobytes, sectores o bloques del sistema de archivos respectivamente.
User
Un nombre de usuario o ID al cual estén asociados los datos.
Group
Un nombre de grupo o ID al cual estén asociados los datos.
LimitSize
El límite duro establecido para el usuario o grupo. Este valor es cero si no se ha establecido ningún límite.
Value
El valor actual de espacio de disco usado por el usuario o grupo.

Comentarios

Cuando se muestra la información de cuotas, el comando gfs2_quota no resuelve UID o GID en nombres si la opción -n es añadida en la línea de comandos.
Space allocated to GFS2's hidden files can be left out of displayed values for the root UID and GID by adding the -d option to the command line. This is useful when trying to match the numbers from gfs2_quota with the results of a du command.

Ejemplos

Este ejemplo muestra la información de cuotas para todos los usuarios y grupos que tienen un límite establecido o están usando cualquier espacio de disco en el sistema de archivo /mygfs2.
gfs2_quota list -f /mygfs2
Este ejemplo muestra la información de cuotas en sectores para el grupo users en el sistema de archivos /mygfs2.
gfs2_quota get -g users -f /mygfs2 -s

3.4.3. Sincronización de cuotas

GFS2 almacena toda la información de cuotas en su propio archivo interno en disco. Un nodo de GFS2 no actualiza este archivo de cuota para cada escritura al sistema de archivos; en cambio, lo actualiza cada 60 segundos. Ésto es para evitar conflictos entre los nodos que escriben al archivo de cuotas y, así, evitar una reducción en el rendimiento.
Cuando un usuario o grupo se acerca a su límite de cuota, GFS2 dinámicamente reduce el tiempo entre las actualizaciones del archivo de cuotas para prevenir que se exceda una cuota. El tiempo normal entre la sincronización de las cuotas es establecido en el parámetro quota_quantum. Éste puede cambiarse con el comando gfs2_tool. Por defecto, el periodo es de 60 segundos. El parámetro quota_quantum debe establecerse en cada nodo y cada vez que el sistema de archivos es montado. (Los cambios al parámetro quota_quantum no son persistentes en desmontajes.)
Puede usar el comando gfs2_quota sync para sincronizar la información de cuotas desde un nodo al archivo de cuotas en disco entre las actualizaciones automáticas realizadas por GFS2.

Uso

Synchronizing Quota Information
gfs2_quota sync -f MountPoint
MountPoint
Especifica el sistema de archivos GFS2 en el cual se aplicará la acción.
Tuning the Time Between Synchronizations
gfs2_tool settune MountPoint quota_quantum Seconds
MountPoint
Especifica el sistema de archivos GFS2 en el cual se aplicará la acción.
Seconds
Especifica el nuevo tiempo de sincronización del archivo de cuota por GFS2. Valores más pequeños pueden incrementar los conflictos y reducir el rendimiento.

Ejemplos

Este ejemplo sincroniza la información de cuota desde el nodo donde es ejecutado al sistema de archivos /mygfs2.
gfs2_quota sync -f /mygfs2
Este ejemplo cambia los periodos de tiempo predeterminados de las actualizaciones regulares del archivo de cuotas a una hora (3600 segundos) para el sistema de archivos /mygfs2 en un solo nodo.
gfs2_tool settune /mygfs2 quota_quantum 3600

3.4.4. Activación/desactivación del cumplimiento de las cuotas

En los sistemas de archivos GFS2 el cumplimiento de cuotas está desactivado. Para activar el cumplimientos de cuotas para un sistema de archivos, monte el sistema de archivos con la opción quota=on especificada.

Uso

mount -o quota=on BlockDevice MountPoint
Para montar un sistema de archivos con el cumplimiento de cuotas desactivado, monte el sistema de archivos con la opción quota=off especificada. Este es el valor predeterminado.
mount -o quota=off BlockDevice MountPoint
-o quota={on|off}
Especifica que la cuota está activada o desactivada cuando un sistema de archivos está montado.
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

Ejemplos

En este ejemplo, el sistema de archivos GFS2 en /dev/vg01/lvol0 está montado en el directorio /mygfs2 con el cumplimiento de cuota activado.
mount -o quota=on /dev/vg01/lvol0 /mygfs2

3.4.5. Cómo activar la contabilidad de las cuotas

Es posible mantener registro del uso de disco y mantener una contabilidad de cuotas para cada usuario sin tener que establecer los valores de advertencia y límite. Para ello, monte el sistema de archivos con la opción quota=account especificada.

Uso

mount -o quota=account BlockDevice MountPoint
-o quota=account
Especifica que las estadísticas de uso del grupo y del usuario son mantenidas por el sistema de archivos, incluso cuando los límites de cuotas no están establecidos.
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

Ejemplo

En este ejemplo, el sistema de archivos GFS2 en /dev/vg01/lvol0 está montado en el directorio /mygfs2 con la contabilidad de cuotas activa.
mount -o quota=account /dev/vg01/lvol0 /mygfs2

3.5. Cómo expandir un sistema de archivos

El comando gfs2_grow es utilizado para expandir un sistema de archivos GFS2 después de que el dispositivo donde el sistema de archivos reside ha sido expandido. Al ejecutar gfs2_grow en un sistema de archivos GFS2, éste llena todo el espacio libre entre el final actual del sistema de archivos y el final del dispositivo, con una extensión inicializada del sistema de archivos GFS2. Cuando se completa esta operación, el índice de recursos para el sistema de archivos es actualizado. Todos los nodos en el cluster pueden utilizar el espacio de almacenamiento extra que ha sido añadido.
El comando gfs2_grow debe ser ejecutado en un sistema de archivos montado, pero solo debe ser ejecutado en un nodo en el cluster. Todos los otros nodos verán la expansión y automáticamente empezarán a utilizar el nuevo espacio.

Uso

gfs2_grow MountPoint
MountPoint
Especifica el sistema de archivos GFS2 en el cual se aplicará la acción.

Comentarios

Antes de ejecutar el comando gfs2_grow:
  • Haga una copia de seguridad de los datos importantes en el sistema de archivos.
  • Con el comando df MountPoint, determine el volumen que está siendo usado por el sistema de archivos que va a ser expandido.
  • Expand the underlying cluster volume with LVM. For information on administering LVM volumes, see the LVM Administrator's Guide
Una vez ejecutado el comando gfs2_grow, ejecute df para verificar si el nuevo espacio está disponible en el sistema de archivos.

Ejemplos

En este ejemplo, el sistema de archivos en el directorio /mygfs2fs es expandido.
[root@dash-01 ~]# gfs2_grow /mygfs2fs
FS: Mount Point: /mygfs2fs
FS: Device:      /dev/mapper/gfs2testvg-gfs2testlv
FS: Size:        524288 (0x80000)
FS: RG size:     65533 (0xfffd)
DEV: Size:       655360 (0xa0000)
The file system grew by 512MB.
gfs2_grow complete.

Uso completo

gfs2_grow [Options] {MountPoint | Device} [MountPoint | Device]

MountPoint
Especifica el directorio en donde el sistema de archivos GFS2 está montado.
Device
Especifica el nodo del dispositivo del sistema de archivos.
Tabla 3.3, “Opciones específicas de GFS2 disponibles mientras se expande un sistema de archivos” describes the GFS2-specific options that can be used while expanding a GFS2 file system.

Tabla 3.3. Opciones específicas de GFS2 disponibles mientras se expande un sistema de archivos

Opción Descripción
-h Ayuda. Muestra un mensaje de uso corto.
-q Silencioso. Baja el nivel de verbosidad.
-r MegaBytes Especifica el tamaño del nuevo grupo de recursos. El tamaño predeterminado es 256MB.
-T Prueba. Hace todos los cálculos, pero no escribe ningún dato al disco y no expande el sistema de archivos.
-V Muestra la información de la versión del comando.

3.6. Cómo añadir diarios a un sistema de archivos

El comando gfs2_jadd es usado para añadir diarios al sistema de archivos GFS2. Puede añadir diarios al sistema de archivos GFS2 de forma dinámica sin expandir el volumen lógico subyacente. El comando gfs2_jadd debe ser ejecutado en sistemas de archivos montados, pero debe ser ejecutado en sólo un nodo del cluster. Todos los otros nodos sabrán de la modificación realizada.
Antes de añadir diarios a un sistema de archivos GFS2, puede utilizar la opción journals de gfs2_tool para saber cuántos diarios tiene actualmente el sistema de archivos GFS2. El siguiente ejemplo muestra el número y el tamaño de los diarios en el sistema de archivos montado en /mnt/gfs2.
[root@roth-01 ../cluster/gfs2]# gfs2_tool journals /mnt/gfs2
journal2 - 128MB
journal1 - 128MB
journal0 - 128MB
3 journal(s) found.

Uso

gfs2_jadd -j Number MountPoint
Number
Especifica el número de diarios a añadir.
MountPoint
Especifica el directorio en donde el sistema de archivos GFS2 está montado.

Ejemplos

En este ejemplo, un diario es añadido al sistema de archivos en el directorio /mygfs2
gfs2_jadd -j1 /mygfs2
En este ejemplo, dos diarios son añadidos al sistema de archivos en el directorio /mygfs2
gfs2_jadd -j2 /mygfs2

Uso completo

gfs2_jadd [Options] {MountPoint | Device} [MountPoint | Device]
MountPoint
Especifica el directorio en donde el sistema de archivos GFS2 está montado.
Device
Especifica el nodo del dispositivo del sistema de archivos.
Tabla 3.4, “Opciones específicas de GFS2 disponibles al añadir diarios” describes the GFS2-specific options that can be used when adding journals to a GFS2 file system.

Tabla 3.4. Opciones específicas de GFS2 disponibles al añadir diarios

Opción Parámetro Descripción
-h Ayuda. Muestra un mensaje corto sobre el uso del comando.
-J MegaBytes Especifica el tamaño del nuevo diario en megabytes. El tamaño predeterminado es 128 megabytes. EL tamaño mínimo permitido es de 32 megabytes. Para añadir diarios de tamaños diferentes al sistema de archivos, el comando gfs2_jadd debe ser ejecutado por cada tamaño diferente de diario. El tamaño especificado es redondeado hacia abajo para que sea un múltiplo del tamaño de segmentos que fue especificado cuando el sistema de archivos fue creado.
-j Number Especifica el número de diarios nuevos que serán añadidos con el comando gfs2_jadd. El valor predeterminado es 1.
-q Silencioso. Baja el nivel de verbosidad.
-V Muestra la información de la versión del comando.

3.7. Diario de los datos

Ordinarily, GFS2 writes only metadata to its journal. File contents are subsequently written to disk by the kernel's periodic sync that flushes file system buffers. An fsync() call on a file causes the file's data to be written to disk immediately. The call returns when the disk reports that all data is safely written.
El diario de datos puede resultar en un tiempo de fsync() reducido, especialmente para pequeños archivos, porque los datos del archivo y los metadatos son escritos al diario. Un fsync() retorna tan pronto como los datos han sido escritos al diario, lo cual puede ser mucho más rápido que el tiempo necesario para escribir los datos de archivo al sistema de archivos principal.
Las aplicaciones que dependen de fsync() para sincronizar los datos de archivo pueden encontrar un rendimiento mejorado al usar diarios de los datos. Los diarios de los datos pueden ser activados automáticamente para cualquier archivo GFS2 creado en un directorio con la opción apropiada (y todos los subdirectorios incluidos en éste). Los archivos existentes con tamaño cero pueden también tener los diarios de los datos encendidos o apagados.
Enabling data journaling on a directory sets the directory to "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. You can enable and disable data journaling on a file or a directory with either of the following methods:
  • Ejecutando el comando chattr +j o chattr -j en el archivo o directorio
  • Estableciendo o limpiando la opción jdata en el archivo o directorio con el comando gfs2_tool setflag o con el comando gfs2_tool clearflag
Utilizar el comando chattr es la forma preferida para activar o desactivar el diario de datos en un archivo o directorio.

3.7.1. Activación y desactivación del diario de datos con el comando chattr

Puede activar y desactivar el diario de datos en un archivo con el comando chattr. Los siguientes comandos activan el diario de datos en el archivo /mnt/gfs2/gfs2_dir/newfile y luego verifican que la opción haya sido establecida apropiadamente.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Los siguientes comandos desactivan el diario de datos en el archivo /mnt/gfs2/gfs2_dir/newfile y luego verifican si la opción fue desactivada de forma apropiada.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
También puede utilizar chattr para establecer la opción j en un directorio. Cuando se establece la opción para un directorio, todos los archivos y directorios creados subsecuentemente en ese directorio son puestos en el diario. La siguiente serie de comandos establece la opción j en el directorio gfs2_dir, luego verifica si la opción ha sido establecida correctamente. Después de esto, los comandos crean un archivo nuevo llamado newfile en el directorio /mnt/gfs2/gfs2_dir y verifican si la opción j ha sido establecida para el archivo. Debido a que la opción j es establecida para el directorio, entonces newfile también debe tener activado el diario.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile

3.7.2. Activación y desactivación de diarios de datos con el comando gfs2_tool

El siguiente comando activa el diario de datos en el archivo GFS2 /mnt/gfs2/gfs2file
[root@roth-01 ~]# gfs2_tool setflag jdata /mnt/gfs2/gfs2file 
Puede utilizar el comando lsattr para verificar que la opción jdata ha sido establecida.
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2file
Cuando se establece la opción jdata para un directorio, todos los archivos y directorios creados subsecuentemente en ese directorios son puestos en un diario.
La siguiente serie de comandos crea un nuevo subdirectorio llamado gfs2_dir en el directorio /mnt/gfs2, establece la opción jdata para el directorio, luego verifica que la opción haya sido establecida apropiadamente. Después de esto, los comandos crean el archivo gfs2file en el directorio y verifican que la opción para ese archivo haya sido establecida correctamente.
[root@roth-01 ~]# mkdir /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# gfs2_tool setflag jdata /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Para borrar la opción jdata de un archivo o directorio, puede utilizar el comando gfs2_tool clearflag jdata, como en el siguiente ejemplo.
[root@roth-01 ~]# gfs2_tool clearflag jdata /mnt/gfs2/gfs2file 
[root@roth-01 ~]# lsattr /mnt/gfs2
------------- /mnt/gfs2/gfs2file

3.8. Cómo configurar las actualizaciones atime

Cada inodo de archivo y directorio tiene tres marcas de tiempo asociadas:
  • ctime — La última vez en que el estado del inodo cambió
  • mtime — La última vez en que los datos del archivo (o directorio) fueron modificados
  • atime — La última vez en que los datos del archivo (o directorio) fueron accedidos
Si las actualizaciones atime están activadas como lo están en GFS2 y otros sistemas de archivos de Linux, cada vez que el archivo es leído, su inodo necesita ser actualizado.
Ya que pocas aplicaciones utilizan la información proporcionada por atime, estas actualizaciones requieren una cantidad innecesaria de tráfico de escritura y tráfico de bloqueo de archivos. Este tráfico puede reducir el rendimiento; por lo tanto, es preferible apagar o reducir la frecuencia de actualizaciones atime.
Hay dos métodos para reducir los efectos de las actualizaciones de atime:
  • Montar con relatime (relative atime), el cual actualiza atime si la actualización atime previa es menos reciente que mtime o ctime.
  • Una opción con noatime, que desactive las actualizaciones de atime en ese sistema de archivos.

3.8.1. Montar con relatime

Se puede especificar la opción de montaje relatime (relative atime) de Linux cuando el sistema de archivos es montado. Ésta especifica que atime se actualiza si la actualización de atime previa es menos reciente que mtime octime.

Uso

mount  BlockDevice MountPoint -o relatime
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

Ejemplo

En este ejemplo, el sistema de archivos GFS2 reside en /dev/vg01/lvol0 y es montado en el directorio /mygfs2. Las actualizaciones atime tienen lugar sólo si la actualización atime previa es menos reciente que mtime o la actualización ctime.
mount /dev/vg01/lvol0 /mygfs2 -o relatime

3.8.2. Montar con noatime

La opción de montaje de Linux noatime, puede ser especificada al momento de montar el sistema de archivos, el cual desactiva las actualizaciones de atime en ese sistema de archivos.

Uso

mount BlockDevice MountPoint -o noatime
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.
MountPoint
Especifica el directorio en donde debe montarse el sistema de archivos GFS2.

Ejemplo

En este ejemplo, el sistema de archivos GFS2 reside en /dev/vg01/lvol0 y es montado en el directorio /mygfs2 con las actualizaciones atime apagadas.
mount /dev/vg01/lvol0 /mygfs2 -o noatime

3.9. Cómo suspender la actividad en un sistema de archivos

Puede suspender la actividad de escritura a un sistema de archivos con el comando gfs2_tool freeze. La suspensión de las actividades de escritura permite que los dispositivos de instantáneas basados en hardware sean usados para capturar el sistema de archivos en un estado consistente. El comando gfs2_tool unfreeze finaliza la suspensión.

Uso

Start Suspension
gfs2_tool freeze MountPoint
End Suspension
gfs2_tool unfreeze MountPoint
MountPoint
Especifica el sistema de archivos.

Ejemplos

Este ejemplo suspende la escritura al sistema de archivos /mygfs2.
gfs2_tool freeze /mygfs2
Este ejemplo finaliza la suspensión de la escritura al sistema de archivos /mygfs2.
gfs2_tool unfreeze /mygfs2

3.10. Cómo reparar un sistema de archivos

Cuando los nodos fallan con el sistema de archivos montado, el diario del sistema de archivos permite una recuperación rápida. Sin embargo, si un dispositivo de almacenamiento pierde el poder o es físicamente desconectado, el sistema de archivos puede corromperse (los diarios no pueden ser usados para recuperarse de las fallas del subsistema de almacenaje). Cuando ocurre este tipo de corrupción, puede recuperar el sistema de archivos GFS2 utilizando el comando fsck.gfs2.

Aviso

El comando fsck.gfs2 debe ser ejecutado solo en sistemas de archivos que están desmontados de todos los nodos.

Nota

Si tiene experiencia previa utilizando el comando gfs_fsck en los sistemas de archivos GFS, observe que el comando fsck.gfs2 difiere de algunas versiones anteriores de gfs_fsck en la siguiente forma:
  • No puede establecer el modo interactivo con Ctrl+C. Al presionar Ctrl+C se cancela el comando fsck.gfs2. No presione Ctrl+C a menos que pretenda cancelar el comando.
  • Puede incrementar el nivel de verbosidad con la opción -v. Si se añade una segunda opción -v, se incrementará aún más el nivel de verbosidad.
  • Puede reducir el nivel de verbosidad con la opción -q. Si añade una segunda opción -q el nivel de verbosidad se reducirá de nuevo.
  • La opción -n abre un sistema de archivos para sólo lectura y responde automáticamente no a cualquier pregunta. Esta opción ofrece una manera de observar los errores sin permitir que el comando fsck.gfs2 surta efecto.
Consulte las páginas del manual (man) gfs2.fsck para obtener mayor información sobre otras opciones del comando.

Uso

fsck.gfs2 -y BlockDevice
-y
La opción -y hace que todas las preguntas sean respondidas afirmativamente con yes. Con la opción -y especificada, el comando fsck.gfs2 no le preguntará nada antes de realizar los cambios.
BlockDevice
Especifica los dispositivos de bloque en donde residen los sistemas de archivo GFS2.

Ejemplo

En este ejemplo, el sistema de archivos GFS2 que reside en el dispositivo de bloque /dev/testvol/testlv es reparado. Todas las preguntas son respondidas con yes.
[root@dash-01 ~]# fsck.gfs2 -y /dev/testvg/testlv
Initializing fsck
Validating Resource Group index.
Level 1 RG check.
(level 1 passed)
Clearing journals (this may take a while)...
Journals cleared.
Starting pass1
Pass1 complete
Starting pass1b
Pass1b complete
Starting pass1c
Pass1c complete
Starting pass2
Pass2 complete
Starting pass3
Pass3 complete
Starting pass4
Pass4 complete
Starting pass5
Pass5 complete
Writing changes to disk
fsck.gfs2 complete

3.11. Nombres de rutas dependientes del contexto y montajes enlazados

El sistema de archivos GFS2 no proporciona soporte para nombres de rutas dependientes del contexto (CDPN), el cual permite crear enlaces simbólicos que apuntan a directorio o archivos de destino variable. Para obtener esta funcionalidad en GFS2, puede utilizar la opción bind del comando mount.
La opción bind del comando mount permite remontar partes de la jerarquía de archivos en una ubicación diferente mientras permanecen también disponible en la ubicación original. El formato de este comando es el siguiente.
mount --bind olddir newdir
Después de ejecutar este comando, el contenido del directorio olddir estará disponible en dos ubicaciones olddir y newdir. Puede también usar esta opción para que un archivo esté disponible en dos lugares diferentes:
Por ejemplo, después de ejecutar los siguientes comandos, el contenido de /root/tmp tendrá el mismo contenido que el directorio /var/log anteriormente montado.
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /tmp
Alternativamente, puede utilizar una entrada en el archivo /etc/fstab para lograr el mismo resultado durante el tiempo de montajes. La siguiente entrada de /etc/fstab hará que el contenido de /root/tmp sea igual que el contenido de /var/log.
/var/log                /root/tmp               none    bind            0 0
Después de montar el sistema de archivos, puede utilizar el comando mount para ver que el sistema de archivos ha sido montado, como en el siguiente ejemplo.
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
Con un sistema de archivos que soporta el nombre de rutas dependiente del contexto, usted podría tener que definir el directorio /bin como un nombre de ruta dependiente del contexto que resuelve en una de las siguientes rutas, dependiendo de la arquitectura del sistema.
/usr/i386-bin
/usr/x86_64-bin
/usr/ppc64-bin
Puede lograr la misma funcionalidad creando un directorio vacío /bin. Luego, con un script o una entrada en el archivo /etc/fstab, puede montar cada uno de los directorios dependiendo de la arquitectura en el directorio /bin con el comando mount -bind. Por ejemplo, puede utilizar el siguiente comando en un script.
mount --bind /usr/i386-bin /bin
Alternativamente, puede utilizar la siguiente entrada en el archivo /etc/fstab.
/usr/1386-bin             /bin               none    bind            0 0
Un montaje enlazado puede proporcionar mayor flexibilidad que un nombre de ruta dependiente del contexto, ya que puede utilizar esta funcionalidad para montar diferentes directorios de acuerdo a cualquier criterio (como el calor de %fill para el sistema de archivos). Los nombres de rutas dependientes del contexto son más limitados en lo que pueden rodear. Observe, sin embargo, que tendrá que escribir sus propios scripts para realizar el montaje de acuerdo a criterios como el valor de %fill.

Aviso

Cuando monta un sistema de archivos con la opción bind y el sistema de archivo original fue montado con rw, el nuevo sistema de archivos será montado como rw incluso si usted pasa la opción ro; la opción ro es ignorada silenciosamente. En este caso, el nuevo sistema de archivos podría ser marcado como ro en el directorio /proc/mounts, lo cual es confuso.

Apéndice A. Cómo convertir el sistema de archivos de GFS a GFS2

Utilice el comando gfs2_convert para convertir un sistema de archivos GFS a GFS2.
  1. Desmonte todo el sistema de archivos GFS en todos los nodos del cluster.
  2. Ejecute el comando gfs_fsck en el sistema de archivos GFS para asegurar que no haya corrupción del sistema de archivos.
  3. Vuelva a montar el sistema de archivos GFS y haga una copia de seguridad de éste.
  4. Desmonte el sistema de archivos y ejecute gfs2_convert sistema_de_archivos_gfs. El sistema mostrará algunas advertencias y preguntas de confirmación antes de convertir sistema_de_archivos_gfs a GFS2.
El siguiente ejemplo convierte un sistema de archivos GFS en el dispositivo de bloque /dev/testvg/testlv al sistema de archivos GFS2.
[root@dash-01 ~]# gfs2_convert /dev/testvg/testlv
gfs2_convert version 2 (built Sep 25 2007 12:41:29)
Copyright (C) Red Hat, Inc.  2004-2006  All rights reserved.

This program will convert a gfs1 filesystem to a gfs2 filesystem.
WARNING: This can't be undone.  It is strongly advised that you:

   1. Back up your entire filesystem first.
   2. Run gfs_fsck first to ensure filesystem integrity.
   3. Make sure the filesystem is NOT mounted from any node.
   4. Make sure you have the latest software versions.
Convert /dev/testvg/testlv from GFS1 to GFS2? (y/n)y
Converting resource groups.
Converting inodes.
6 inodes converted.
Fixing file and directory information.
1 directories, 2 dirents fixed.
Converting journals.
Converting journal space to rg space.
Building system structures.
Removing obsolete gfs1 structures.
Committing changes to disk.
/dev/gfs2testvg/gfs2testlv: filesystem converted successfully to gfs2.
[root@dash-01 ~]#

Apéndice B. Historial de revisiones

Historial de revisiones
Revisión 3-10.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Revisión 3-102012-07-18Anthony Towns
Rebuild for Publican 3.0
Revisión 1.0-0Thu Jan 29 2009

Índice

A

adding journals to a file system, Cómo añadir diarios a un sistema de archivos
atime, configuring updates, Cómo configurar las actualizaciones atime
mounting with noatime , Montar con noatime
mounting with relatime , Montar con relatime
audience, Audiencia

C

configuration, before, Antes de configurar GFS2
configuration, initial, Cómo iniciar
prerequisite tasks, Tareas previas

D

data journaling, Diario de los datos

G

GFS2
atime, configuring updates, Cómo configurar las actualizaciones atime
mounting with noatime , Montar con noatime
mounting with relatime , Montar con relatime
managing, Administración de GFS2
quota management, Administración de cuotas en GFS2
displaying quota limits, Cómo ver los límites y uso de las cuotas
enabling quota accounting, Cómo activar la contabilidad de las cuotas
enabling/disabling quota enforcement, Activación/desactivación del cumplimiento de las cuotas
setting quotas, Establecimiento de las cuotas
synchronizing quotas, Sincronización de cuotas
GFS2 file system maximum size, Sinopsis de GFS2
GFS2-specific options for adding journals table, Uso completo
GFS2-specific options for expanding file systems table, Uso completo
growing a file system, Cómo expandir un sistema de archivos

I

initial tasks
setup, initial, Tareas de configuración inicial
introduction, Introducción
audience, Audiencia

M

making a file system, Cómo crear un sistema de archivos
managing GFS2, Administración de GFS2
maximum size, GFS2 file system, Sinopsis de GFS2
mkfs.gfs2 command options table, Opciones completas
mount table, Uso completo
mounting a file system, Cómo montar un sistema de archivos

O

overview, Sinopsis de GFS2
configuration, before, Antes de configurar GFS2

P

path names, context-dependent (CDPNs), Nombres de rutas dependientes del contexto y montajes enlazados
preface (ver introduction)
prerequisite tasks
configuration, initial, Tareas previas

R

repairing a file system, Cómo reparar un sistema de archivos

S

setup, initial
initial tasks, Tareas de configuración inicial
suspending activity on a file system, Cómo suspender la actividad en un sistema de archivos

T

tables
GFS2-specific options for adding journals, Uso completo
GFS2-specific options for expanding file systems, Uso completo
mkfs.gfs2 command options, Opciones completas
mount options, Uso completo

U

unmounting a file system, Cómo desmontar un sistema de archivos

Aviso Legal

Copyright © 2009 Red Hat Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.