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
2. Documentación relacionada
Para mayor información sobre el uso de Red Hat Enterprise Linux, consulte los siguientes recursos:
- Manual de instalación de Red Hat Enterprise Linux — Proporciona información sobre la instalación de Red Hat Enterprise Linux.
- Manual de implementación de Red Hat Enterprise Linux — Proporciona información sobre la implementación, configuración y administración de Red Hat Enterprise Linux 5.
Para mayor información sobre Red Hat Cluster Suite, consulte los siguientes recursos:
- Sinopsis de Red Hat Cluster Suite — Proporciona un resumen de alto nivel de Red Hat Cluster Suite.
- Configuración y administración de Red Hat Cluster — Proporciona información sobre la instalación, configuración y administración de componentes de Red Hat Cluster.
- LVM Administrator's Guide: Configuration and Administration — Provides a description of the Logical Volume Manager (LVM), including information on running LVM in a clustered environment.
- Sistema de archivos global: Configuración y administración — Proporciona información sobre la instalación, administración y mantenimiento de Sistemas de archivos global de Red Hat (Red Hat GFS).
- Uso de multirutas de mapeo de dispositivos — Proporciona información sobre el uso de Device-Mapper Multipath de Red Hat Enterprise Linux.
- Como usar GNBD con GFS — Proporciona información sobre el uso de dispositivos de bloque de red global (GNBD) con GFS de Red Hat.
- Administración de servidores virtuales en Linux — Proporciona información sobre cómo configurar sistemas y servicios de alto rendimiento con el servidor virtual de Linux (LVS).
- Notas de lanzamiento de la suite Red Hat Cluster — Proporciona información sobre el lanzamiento actual de la suite Red Hat Cluster.
La documentación para Red Hat Cluster Suite y otros documentos de Red Hat están disponibles en HTML, PDF y RPM en el CD de documentación de Red Hat Enterprise Linux y en http://www.redhat.com/docs/.
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
ymydata2
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. | ||||
|
| 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 | ||||
|
| 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ámetrojournals
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óncounters
, la cual utiliza el comandogfs_tool
para mostrar estadísticas de GFS. - The
gfs2_tool
command does not support theinherit_jdata
flag. To flag a directory as "inherit jdata", you can set thejdata
flag on the directory or you can use thechattr
command to set the+j
flag on the directory. Using thechattr
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 llamadasstatfs
son más rápidas. - El modo
atime
ha sido mejorado para reducir el número de operaciones de escritura E/S generadas poratime
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
() ychattr
() a través de las llamadasioctl
() 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
ygfs2_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
() ymkdir
(). - 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:
- Configuración de volúmenes lógicos.
- Creación del sistema de archivos GFS2.
- Montaje del sistema de archivos.
Siga los siguientes pasos para establecer GFS2 inicialmente.
- Con LVM, cree un volumen lógico para cada sistema de archivos GFS2 de Red Hat.
Nota
Puede usar los scripts eninit.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 scriptsinit.d
, consulte Configuración y administración de Red Hat Cluster. - 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
-jNumberJournals BlockDevice
mkfs -t gfs2 -p lock_dlm -t
LockTableName
-jNumberJournals 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”. - 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
de-o
aclmount
permite la manipulación de ACL en los archivos. Si un sistema de archivos es montado sin la opción
, los usuarios pueden ver los ACL (con-o
aclgetfacl
), pero no los pueden establecer (consetfacl
).Nota
Puede usar los scripts eninit.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 scriptsinit.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 -pLockProtoName
-tLockTableName
-jNumberJournals BlockDevice
mkfs -t gfs2 -pLockProtoName
-tLockTableName
-jNumberJournals BlockDevice
Al crear un sistema de archivos local GFS2, se puede utilizar cualquiera de los siguientes formatos:
mkfs.gfs2 -pLockProtoName
-jNumberJournals BlockDevice
mkfs -t gfs2 -pLockProtoName
-jNumberJournals 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 archivoslock_dlm
en el cluster y para todos los sistemas de archivos (lock_dlm
ylock_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 |
| |||||||
-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 |
| |||||||
-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
mountBlockDevice MountPoint
-ooption
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 . | ||
| 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 . | ||
| 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 . | ||
| 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 -uUser
-lSize
-fMountPoint
gfs2_quota limit -gGroup
-lSize
-fMountPoint
Setting Quotas, Warn Limit
gfs2_quota warn -uUser
-lSize
-fMountPoint
gfs2_quota warn -gGroup
-lSize
-fMountPoint
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 -uUser
-fMountPoint
Displaying Quota Limits for a Group
gfs2_quota get -gGroup
-fMountPoint
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:
userUser
: limit:LimitSize
warn:WarnSize
value:Value
groupGroup
: 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 settuneMountPoint
quota_quantumSeconds
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
, determine el volumen que está siendo usado por el sistema de archivos que va a ser expandido.MountPoint
- 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
ochattr -j
en el archivo o directorio - Estableciendo o limpiando la opción
jdata
en el archivo o directorio con el comandogfs2_tool setflag
o con el comandogfs2_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 modificadosatime
— 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 actualizaatime
si la actualizaciónatime
previa es menos reciente quemtime
octime
. - Una opción con
noatime
, que desactive las actualizaciones deatime
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áticamenteno
a cualquier pregunta. Esta opción ofrece una manera de observar los errores sin permitir que el comandofsck.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 conyes
. Con la opción-y
especificada, el comandofsck.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.
- Desmonte todo el sistema de archivos GFS en todos los nodos del cluster.
- Ejecute el comando
gfs_fsck
en el sistema de archivos GFS para asegurar que no haya corrupción del sistema de archivos. - Vuelva a montar el sistema de archivos GFS y haga una copia de seguridad de éste.
- Desmonte el sistema de archivos y ejecute
gfs2_convert
. El sistema mostrará algunas advertencias y preguntas de confirmación antes de convertirsistema_de_archivos_gfs
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.400 | 2013-10-31 | Rüdiger Landmann | |
| |||
Revisión 3-10 | 2012-07-18 | Anthony Towns | |
| |||
Revisión 1.0-0 | Thu 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
F
- feedback, Comentarios
- file system
- adding journals, 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
- bind mounts, Nombres de rutas dependientes del contexto y montajes enlazados
- context-dependent path names (CDPNs), Nombres de rutas dependientes del contexto y montajes enlazados
- data journaling, Diario de los datos
- growing, Cómo expandir un sistema de archivos
- making, Cómo crear un sistema de archivos
- mounting, Cómo montar un sistema de archivos
- 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
- repairing, Cómo reparar un sistema de archivos
- suspending activity, Cómo suspender la actividad en un sistema de archivos
- unmounting, Cómo desmontar un sistema de archivos
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
Q
- 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
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.