Red Hat Training

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

Global File System 2 (Système de fichiers GFS2)

Red Hat Enterprise Linux 5

Red Hat Global File System 2

Édition 3

Résumé

Cet ouvrage donne des informations sur l'installation, la configuration et la maintenance de Red Hat GFS2 pour Red Hat Enterprise Linux 5.

Introduction

Nous vous souhaitons la bienvenue pour la lecture du document Configuration et administration du système de fichiers global Red Hat Cet ouvrage fournit des informations sur la configuration et sur la maintenance de Red Hat GFS2 (Red Hat Global File System 2 / Système de fichiers global Red Hat 2). Red Hat peut opérer en noeud simple ou dans le cadre d'une configuration groupée dans la Red Hat Cluster Suite. Pour davantage d'informations sur la Red Hat Cluster Suite, voir Présentation générale de Red Hat Cluster et Configurer et Gérer un Red Hat Cluster.
Les versions HTML et format PDF de tous les manuels officiels et des notes de mise à jour Red Hat Enterprise Linux sont disponibles en ligne à http://www.redhat.com/docs/.

1. Audience

Cet ouvrage est principalement destiné aux administrateurs de système Linux qui sont familiarisés avec les activités suivantes:
  • Les procédures d'administration de système Linux, y compris la configuration du noyau
  • L'installation et la configuration des réseaux de mémoire partagée, comme Fibre Channel SAN

3. Commentaire

Si vous pouvez identifier une erreur, ou si vous pouvez contribuer à l'amélioration de ce manuel, nous serions très heureux que vous nous le fassiez savoir. Veuillez soumettre un report dans Bugzilla (http://bugzilla.redhat.com/bugzilla/) dans le composant 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.
SI vous avez une suggestion pour améliorer la documentation, essayez d'être aussi précis que possible. SI vous avez trouvé une erreur, veuillez noter le numéro de la section et des éléments d'écriture de contexte de façon à ce que nous puissons retrouver l'erreur facilement.

Chapitre 1. Présentation générale de GFS2

Le système de fichiers Red Hat GFS2 est un système de fichiers natif qui interacte directement avec l'interface du système de fichiers de noyau Linux (couche VFS). Un système de fichiers GFS2 peut être mis en place dans un système standalone ou faisant partie d'une configuration de groupe. Mis en place en tant que système de fichiers de groupe, GFS2 distribue des métadonnées et des journaux multiples.
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.
GFS2 est basé sur une architecture 64-bit, qui doit pouvoir en théorie, accommoder un système de fichiers de 8 EB. Cependant, la taille maximum actuellement pris en charge du système de fichiers GFS2, est de 25TB. Si votre système requiert des systèmes de fichiers GFS2 supérieurs à 25TB, contacter votre représentant commercial Red Hat.
Quand vous déterminez la taille du système de fichier, vous devez considérer vos besoins de recouvrement en cas de plantage. Exécuter la commande fsck sur un système de fichiers important, peut prendre énormément de temps, et consommer une grand quantité de mémoire. De plus, dans le cas d'un échec au niveau du disque ou du sous-système du disque, le temps de recouvrement est limité par la vitesse de votre media de sauvegarde.
Lorsque vous configurez une suite Red Hat Cluster Suite, les noeuds Red Hat GFS2 peuvent être configurés et gérés par les outils de gestion et de configuration de la suite Red Hat Cluster Suite. Red Hat GFS2 partage alors les données entre les noeuds du groupement Red Hat dans un cluster Red Hat , avec un système de visualisation unique et cohérent de l'espace du nom du système de fichiers à travers les noeuds GFS2. Ceci permet aux processus de noeuds multiples de partager les fichiers GFS2 de la même manière par laquelle les processus d'un même noeud peuvent partager les fichiers sur un système de fichiers local, sans différence discernable. Pour davantage d'information sur la suite Red Hat Cluster Suite, se référer à Configurer et Gérer un 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.
Le module de noyau gfs2.ko implémente le système de fichiers GFS2 et est chargé sur les noeuds de cluster GFS2.
Ce chapitre fournit des informations de base, simplifiées de fond pour vous aider à comprendre GFS2. Il comprend les sections suivantes:

1.1. Avant d'installer GFS2

Avant que vous installiez et configuriez GFS2, prenez note des caractéristiques principales suivantes de vos systèmes de fichiers GFS2:
Noeuds GFS2
Déterminez quels noeuds de la suite Red Hat Cluster Suite serviront à monter les systèmes de fichiers GFS2.
Nombre de systèmes de fichiers
Déterminez combien de systèmes de fichiers GFS2 doivent être créés au départ. (davantage de systèmes de fichiers peuvent être ajoutés par la suite.)
Nom du système de fichier
Déterminez un nom unique pour chaque système de fichier. Le nom doit être unique pour tous les systèmes de fichier lock_dlm du cluster, et pour tous les systèmes de fichiers (lock_dlm and lock_nolock) sur chaque noeud local. Chaque nom de système de fichiers est requis sous la forme de variable de paramètre. Par exemple, ce livre utilise les noms des systèmes de fichiers mydata1 et mydata2 dans certains exemples de procédures.
Journaux
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 Section 3.6, « Ajouter les journaux au système de fichiers ».
Noeuds de serveur GNBD
Si vous utilisez GNBD, déterminez combien de noeuds de serveurs GNBD dont vous avez besoin. Notez que le nom d'hôte et l'adresse IP de chaque noeud de serveur GNBD en vue de l'installation clients GNBD par la suite. Pour davantage d'information sur l'utilisation de GNBD en conjonction avec GFS2, se référer au document Utiliser GNBD avec Global File System .
Périphériques de stockage de mémoire et partitions
Déterminez les périphériques de stockage de mémoire et les partitions à utiliser pour créer des volumes logiques (via CLVM) au sein du système de fichiers.

Note

Vous allez peut-être vous heurter à des problèmes de performance dans GFS2, alors que de nombreuses opérations créer et supprimer sont issues de plus d'un seul noeud, et ce, au sein du même répertoire, en même temps. Si cela occasionne des problèmes de performance dans votre système, vous devrez localiser la création de fichiers et les suppressions par un noeud pointant vers des répertoires propres à ce noeud, autant que possible.

1.2. Différences entre GFS et GFS2

Cette section liste les améliorations et les changements de GFS2 par rapport à 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 Annexe A, Convertir un système de fichier de GFS vers GFS2.

1.2.1. Noms des commandes GFS2

In general, the functionality of GFS2 is identical to GFS. The names of the file system commands, however, specify GFS2 instead of GFS. Tableau 1.1, « Les commandes GFS et GFS2 » shows the equivalent GFS and GFS2 commands.

Tableau 1.1. Les commandes GFS et GFS2

Commande GFS Commande GFS2 Description
mount mount Montez un système de fichier. Le système peut déterminer si le système de fichier est de type GFS ou GFS2. Pour davantage d'informations sur les options de montage GFS2, voir la page man de gfs2_mount(8).
umount umount Démonter un système de fichiers
fsck
gfs_fsck
fsck
fsck.gfs2
Vérifier et réparer un système de fichiers démonté.
gfs_grow gfs2_grow Agrandir un système de fichiers monté
gfs_jadd gfs2_jadd Ajouter un journal à un système de fichiers monté
gfs_mkfs
mkfs -t gfs
mkfs.gfs2
mkfs -t gfs2
Créer un système de fichiers sur un périphérique de stockage de données.
gfs_quota gfs2_quota Gèrer les quota sur un système de fichiers monté.
gfs_tool gfs2_tool Configurer, accorder, ou collecter des informations sur un système de fichier.
gfs_edit gfs2_edit Afficher, imprimer, ou éditer les structures internes du système de fichier. La commandegfs2_edit peut être utilisée pour les systèmes de fichiers GFS ou pour le système de fichiers GFS2.
Pour obtenir une liste complète des options supportées par les commandes du système de fichiers GFS2, voir les pages man de ces commandes.

1.2.2. Différences supplémentaires entre GFS et GFS2

This section summarizes the additional differences in GFS and GFS2 administration that are not described in Section 1.2.1, « Noms des commandes GFS2 ».

Noms d'acheminement contexte-dépendants

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 Section 3.11, « Noms de chemins Contexte-dépendants et Montage associés ».

gfs2.ko Module

Le module de noyau qui implémente le système de fichiers GFS est gfs.ko. Le module de noyau qui implémente le système de fichiers GFS2 est gfs2.ko.

Activer la mise à exécution des quota dans 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 Section 3.4.4, « Activer/désactiver le contrôle des quota ».

Journalisation des données

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.

Ajouter les journaux dynamiquement

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 Section 3.6, « Ajouter les journaux au système de fichiers ».

paramètre atime_quantum supprimé

Le système de fichiers GFS2 ne prend pas en charge la paramètre modulable atime_quantum, qui peut être utilisé par le système de fichiers GFS, pour spécifier la fréquence des mises à jour de atime. A la place, GFS2 prend en charge les options de montage relatime et noatime. L'option de montage relatime est conseillée pour obtenir des résultats comparables à l'option de fixer le paramètre atime_quantum dans GFS.

data= option de la commande de montage

Lorsque vous montez des systèmes de fichiers GFS2, vous pouvez préciser l'option data=ordered ou l'option data=writeback de mount. Lorsque data=ordered est déterminé, les données utilisateur modifiées par une transation sont vidées sur le disque avant que la transaction ne soit validée sur le disque. Cela devrait empêcher que l'utilisateur ne voit les blocs non initialisés d'un fichier après un crash. Lorsque l'option data=writeback est configurée, les données utilisateur sont susceptibles d'être écrites sur le disque à tout moment après qu'il ait été pollué. Ceci ne procure pas la même garantie de cohérence qu'en mode ordered, mais cela devrait être légèrement plus rapide pour certaines tâches. Le mode par défaut est ordered.

La commande gfs2_tool

La commande gfs2_tool supporte un ensemble d'options différentes pour GFS2 par rapport à ce que la commande gfs_tool supporte pour GFS, comprenant :
  • La commande gfs2_tool supporte un paramètre journals qui imprime des informations sur le journal en cours de configuration, y compris le nombre de journaux que le système de fichiers contient.
  • La commande gfs2_tool ne supporte pas le marqueur counters, que la commande gfs2_tool utilise pour afficher les statistiques 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.

La commande gfs2_edit

La commande gfs2_edit supporte un ensemble d'options différentes pour GFS2 par rapport à ce que la commande gfs_edit supporte pour GFS.

1.2.3. Améliorations de performance GFS2

Il y a plusieurs caractéristiques des systèmes de fichiers GFS2 qui ne se traduisent pas par une différence d'interface utilisateur par rapport aux systèmes de fichiers GFS, mais qui améliorent la performance du système de fichier.
Un système de fichiers GFS2 offre une performance du système de fichiers améliorée dans les cas suivants:
  • Meilleure performance pour les utilisations intenses au sein d'un répertoire unique.
  • Opérations E/S synchronisées plus rapides
  • Lectures cache plus rapides (pas de surcharge de système imputable au verrouillage)
  • Direct E/S plus rapides pour les fichiers préalloués (dans la mesure où la taille des E/S est suffisamment importante, soient des blocs de 4M)
  • Opérations E/S plus rapides en général
  • L'exécution de la commande df est bien plus rapide, à cause de la plus grande rapidité d'exécution des appels statfs.
  • Le mode atime a été amélioré en vue de réduire le nombre d'opérations E/S générées par atime comparé à GFS.
Le système de fichiers GFS2 procure un support plus large et plus standardisé pour les aspects suivants.
  • GFS2 fait partie du noyau en amont (intégré dans 2.6.19).
  • GFS2 supporte les caractéristiques suivantes:
    • les attributs SELinux élargis.
    • la configuration des attributs lsattr() et chattr() par les appels standard () ioctl
    • horodatage en nanosecondes
Un système de fichiers GFS2 offre les améliorations suivantes au niveau de l'efficacité interne d'un système de fichier.
  • GFS2 utilise moins de mémoire de noyau
  • GFS2 ne requiert pas de numéros de génération de métadonnées.
    L'allocation de métadonnées GFS2 ne requiert pas de lectures. Les copies des blocs de métadonnées dans des journaux multiples sont gérés par des blocs d'annulation (revoking blocks) du journal avant verrouillage.
  • GFS2 comprend un gestionnaire log qui n'est pas familiarisé avec les changements de quota ou les inodes non reliées.
  • Les commandes gfs2_grow et gfs2_jadd utilisent le verrouillage pour éviter que plusieurs entités soient actionnées même temps.
  • Le code ACL a été simplifié pour les appels comme creat() et mkdir().
  • Les inodes non liés, les changements de quota et les changements statfs sont récupérés sans avoir besoin de remonter le journal.

Chapitre 2. Guide de départ

Ce chapitre décrit les procédures nécessaires à l'installation initiale de GFS2 et comprend les sections suivantes:

2.1. Tâches préliminaires

Before setting up Red Hat GFS2, make sure that you have noted the key characteristics of the GFS2 nodes (refer to Section 1.1, « Avant d'installer 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.

Note

Les horloges de système des noeuds GFS2 doivent être synchronisées dans la limite de quelques minutes, afin d'éviter toute mise à jour inutile de l'horodateur de l'inode. Toute mise à jour inutile de l'horodateur de l'inode aura un effet néfaste important sur le niveau de performance du cluster.

2.2. Tâches d'installation initiales

L'installation initiale GFS2 consiste aux tâches suivantes:
  1. Installation des volumes logiques.
  2. Création d'un système de fichiers GFS2.
  3. Montage des systèmes de fichiers.
Suivre ces étapes pour installer GFS2 au départ.
  1. A l'aide de LVM, créer un volume logique pour chaque système de fichiers GFS2 Red Hat.

    Note

    Vous pouvez utiliser les scripts init.d inclus dans la suite Red Hat Cluster Suite pour automatiser l'activation et pour désactiver les volumes logiques. Pour davantage d'informations sur les scripts init.d, veuillez vous référer à Configurer et Gérer un Cluster Red Hat.
  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 Section 3.1, « Créer un système de fichier ».
    Vous pouvez utiliser l'un ou l'autre de ces formats pour créer un système de fichiers clusterisé GFS2.
    mkfs.gfs2 -p lock_dlm -t ClusterName:FSName -j NumberJournals BlockDevice
    mkfs -t gfs2 -p lock_dlm -t LockTableName -j NumberJournals BlockDevice
    Vous pouvez utiliser l'un ou l'autre de ces formats pour créer un système de fichiers clusterisé 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 Section 3.1, « Créer un système de fichier ».
  3. At each node, mount the GFS2 file systems. For more information about mounting a GFS2 file system, see Section 3.2, « Monter un système de fichiers ».
    Utilisation des commandes:
    mount BlockDevice MountPoint
    mount -o acl BlockDevice MountPoint
    L'option -o acl mount permet de manipuler des ACL (Access Control List) de fichiers. Si un système de fichiers est monté sans l'option de montage -o acl, les utilisateurs sont autorisés à voir les ACLs (avec getfacl), mais ne sont pas autorisés à les configurer (avec setfacl).

    Note

    Vous pouvez utiliser les scripts init.d inclus dans la Red Hat Cluster Suite pour automatiser les montages et les démontages des systèmes de fichiers GFS2. Pour davantage d'informations sur les scripts init.d, voir Configurer et Gérer un Cluster Red Hat.

Chapitre 3. Gérer GFS2

Ce chapitre décrit les tâches et les commandes pour gérer GFS2 et comprend les sections suivantes:

3.1. Créer un système de fichier

Vous créez un système de fichiers GFS2 à l'aide de la commande mkfs.gfs2. Un système de fichiers est alors créé sur un volume activé LVM. L'information suivante est requise pour exécuter la commande mkfs.gfs2 :
  • Nom d'un protocole/module de verrouillage (le protocole de verrouillage d'un cluster est lock_dlm)
  • Nom d'un cluster (opérant dans le cadre d'une configuration groupée)
  • Nombre de journaux (un journal est requis pour chaque noeud susceptible d'être monté dans le système de fichiers)
Quand vous créez un système de fichiers GFS, vous pouvez utiliser mkfs.gfs2 directement, ou bien, vous pouvez utiliser la commande mkfs avec le para mètre -t spécifiant un système de fichiers de type gfs2, suivi par les options de système de fichiers gfs2.

Utilisation

Lorsque vous créez un système de fichiers clusterisé GFS2, vous pouvez utiliser les formats suivants :
mkfs.gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -t LockTableName -j NumberJournals BlockDevice
Lorsque vous créez un système de fichiers GFS2, vous pouvez utiliser l'un des formats suivants :
mkfs.gfs2 -p LockProtoName -j NumberJournals BlockDevice
mkfs -t gfs2 -p LockProtoName -j NumberJournals BlockDevice

Avertissement

Assurez-vous d'être bien familiarisés avec l'utilisation des paramètres LockProtoName et LockTableName. La mauvaise utilisation des paramètres LockProtoName et LockTableName pourrait entraîner la corruption du système de fichiers ou de l'espace verrouillé.
LockProtoName
Préciser le nom du protocole de verrouillage à utiliser. Le protocole de verrouillage à utiliser pour un cluster est lock_dlm.
LockTableName
Ce paramètre est précisé dans le système de fichiers GFS2 dans une configuration groupée. Ce paramètre est composé de deux parties séparées par deux points (sans espace) comme suit:ClusterName:FSName
  • ClusterName, le nom d'un cluster Red Hat pour lequel le système de fichiers GFS2 a été créé.
  • FSName, le nom du système de fichiers, peut comporter de 1 à 16 caractères de long. Son nom doit être unique parmi les autres systèmes de fichiers lock_dlm présents dans le groupement, et pour tous les systèmes de fichiers (lock_dlm and lock_nolock) présents sur chaque noeud 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 Section 3.6, « Ajouter les journaux au système de fichiers ».
BlockDevice
Précise un volume physique ou logique.

Exemples

Dans cet exemple, lock_dlm est le protocole de verrouillage que le système de fichiers utilise, puisque c'est un système de fichiers groupés. Le nom du groupement est alpha, et le nom du système de fichiers est mydata1. Le système de fichiers comprend huit journaux et il est créé dans /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
Dans cet exemple, un deuxième système de fichiers est créé lock_dlm , utilisable dans un cluster alpha. Le nom du système de fichiers est mydata2. Le système de fichiers comprend huit journaux et est créé dans /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

Toutes Options

Tableau 3.1, « Options de commande: mkfs.gfs2 » describes the mkfs.gfs2 command options (flags and parameters).

Tableau 3.1. Options de commande: mkfs.gfs2

Marqueur Paramètre Description
-c Megabytes Sets the initial size of each journal's quota change file to Megabytes.
-D Active la sortie de débogage.
-h Help. Affiche les options disponibles.
-J MegaBytes Précise la taille du journal en mégaoctets. La taille d'un journal par défaut est de 128 mégaoctets. La taille minimum est de 8 mégaoctets. Les journaux de plus grande taille améliorent la performance, quoiqu'ils utilisent plus de mémoire que les petits journaux.
-j Number Précise le nombre de journaux à créer dans la commande mkfs.gfs2. Un journal est requis pour chaque noeud qui monte le système de fichiers. Si cette option n'est pas spécifiée, un seul journal sera créé. Pour les systèmes de fichiers GFS2, vous pouvez ajouter des journaux supplémentaires par la suite sans pour autant augmenter la taille du système de fichiers.
-O Evite que la commande mkfs.gfs2 ne demande une confirmation avant d'écrire le système de fichiers.
-p LockProtoName
Précise le nom du protocole de verrouillage à utiliser. Les protocoles de verrouillage reconnus sont:
lock_dlm — Le module standard de verrouillage requis pour un système de fichiers groupés.
lock_nolock — utilisé quand GFS2 agit en tant que système de fichiers local (un seul noeud).
-q Repos. N'affiche rien.
-r MegaBytes Précise la taille des groupes de ressource en mégaoctets. La taille minimum d'un groupe de ressources est de 32 Mo. La taille d'un groupe de ressource maximum est de 2048 Mo. Une grande taille de groupe de ressource peut améliorer la performance sur des systèmes de fichiers de très grande taille. Si ce n'est pas précisé, mkfs.gfs2 choisira la taille de groupe de ressource basée sur la taille du système de fichiers: la taille moyenne des systèmes de fichiers comportera 256 Mo de groupes de ressource, et les systèmes de fichiers plus importants auront un plus grand RG (Resource Group / Groupe de ressource) pour une meilleure performance.
-t LockTableName
Un identifiant unique qui précise le champ de la table de verrouillage lorsque vous utilisez le protocolelock_dlm; le protocolelock_nolock n'utilise pas ce paramètre.
Ce paramètre comporte deux points de séparation (sans espace) comme suit: ClusterName:FSName.
ClusterName est le nom donné au cluster RedHat pour lequel le sytème de fichiers GFS2 a été créé; seuls les membres de ce cluster sont autorisés à utiliser ce système de fichiers. Le nom du cluster est défini dans le fichier /etc/cluster/cluster.conf via Cluster Configuration Tool et est affiché dans Cluster Status Tool dans le gestionnaire de clusters GUI pour la suite Red Hat Cluster Suite.
FSName, le nom du système de fichiers peut comporter de 1 à 16 caractères de long, et son nom doit être unique parmi tous les noms de systèmes de fichiers au sein du cluster.
-u MegaBytes Specifies the initial size of each journal's unlinked tag file.
-V Affiche l'information version de commande.

3.2. Monter un système de fichiers

Before you can mount a GFS2 file system, the file system must exist (refer to Section 3.1, « Créer un système de fichier »), 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.
Pour manipuler les ACL de fichiers, vous devez monter le système de fichiers à l'aide de l'option de montage -o acl Si un système de fichiers est monté sans l'option de montage -o acl les utilisateurs sont autorisés à voir les ACL (avec getfacl), mais ne sont pas autorisés à les configurer (avec setfacl).

Utilisation

Mounting Without ACL Manipulation
mount BlockDevice MountPoint
Mounting With ACL Manipulation
mount -o acl BlockDevice MountPoint
-o acl
option spécifique-GFS2 autorisant la manipulation de fichiers ACL.
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

Exemple

Dans cet exemple, le système de fichiers GFS2 de /dev/vg01/lvol0 est monté sur le répertoire /mygfs2.
mount /dev/vg01/lvol0 /mygfs2

Utilisation totale

mount BlockDevice MountPoint -o option
The -o option argument consists of GFS2-specific options (refer to Tableau 3.2, « Options de montage spécifiques-GFS2 ») or acceptable standard Linux mount -o options, or a combination of both. Multiple option parameters are separated by a comma and no spaces.

Note

La commande mount est une commande du système Linux. En plus d'utiliser les options spécifiques-GFS2 décrites dans cette section, vous pouvez utiliser d'autres options standards, mount (comme par exemple, -r). Pour davantage d'informations sur les options de commandes Linuxmount, se référer à la page man mount.
Tableau 3.2, « Options de montage spécifiques-GFS2 » describes the available GFS2-specific -o option values that can be passed to GFS2 at mount time.

Tableau 3.2. Options de montage spécifiques-GFS2

Option Description
acl Permet la manipulation des ACL (Access Control List) de fichiers. Si un système de fichiers est monté sans l'option de montage acl les utilisateurs sont autorisés à voir les ACL (avec getfacl), mais ne sont pas autorisés à les modifier (avec setfacl).
data=[ordered|writeback] Lorsque data=ordered est déterminé, les données d'utilisateur modifiées par une transaction sont vidées dans le disque avant que la transaction ne soit impartie au disque. Cela devrait éviter que l'utilisateur ne voie les blocs initiaux dans un fichier après un crash. Lorsque le mode data=writeback est déterminé, les données sont inscrites sur le disque à tout moment après qu'il ait été pollué. Cela n'offre pas la même garantie d'homogénéité qu'en mode ordered, mais cela devrait aller un peu plus vite pour certaines tâches. La valeur défaut est le mode ordered.
ignore_local_fs
Attention: cette option ne devrait pas être utilisée quand les systèmes de fichiers GFS2 sont partagés.
Force GFS2 à traiter le système de fichiers comme un système multiutilisateur. Par défaut, l'utilisation de lock_nolock active automatiquement les marqueurs localcaching et localflocks.
localcaching
Attention: cette option ne devrait pas être utilisée quand les systèmes de fichiers GFS2 sont partagés.
Indique à GFS2 qu'il opère sur un système de fichiers local. GFS2 peut alors activer des capacités d'optimisation sélectionnées non disponibles en mode groupé. Le marqueur localcaching est activé automatiquement par lock_nolock.
localflocks
Attention: cette option ne devrait pas être utilisée quand les systèmes de fichiers GFS2 sont partagés.
Indique au GFS2 de laisser la couche VFS (Virtual File Sytem) effectuer 'flock et fcntl.' Le marqueur localflocks est automatiquement activé par lock_nolock.
lockproto=LockModuleName Permet à l'utilisateur de préciser quel protocole de verrouillage utiliser dans le système de fichiers. Si LockModuleName n'est pas précisé, le nom du protocole de verrouillage est lu par le superbloc du système de fichiers.
locktable=LockTableName Permet à l'utilisateur de spécifier quelle table de verrouillage utiliser dans le système de fichiers.
quota=[off/account/on] Active/désactive les quota pour un système de fichiers donné. Indiquer que les quotas soient dans account amène les statistiques d'utilisation par UID/GID à être correctement maintenus dans le système de fichiers, les valeurs limites ou d'avertissement sont ignorées. La valeur par défaut est off.
upgrade Mettre à niveau le format on-disk du système de fichiers de façon à ce qu'il puisse être utilisé dans des versions plus récentes de GFS2.

3.3. Démonter un système de fichiers

Le système de fichiers GFS2 peut être démonté de la même manière que n'importe quel système de fichiers Linux, en utilisant la commande umount.

Note

La commande umount est une commande du système de commande . Des informations sur cette commande peuvent être trouvées dans les pages man de la commande Linux umount.

Utilisation

umount MountPoint
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

3.4. Gestion des Quota GFS2

Les quota des systèmes de fichiers sont utilisés pour limiter le montant d'espace qu'un utilisateur ou une groupe d'utilisateurs peut emprunter dans un système de fichiers. GFS2 enregistre l'espace de chaque usager même lorsque l'espace est illimité. GFS2 met à jour les informations sur les quota de manière transactionelle de façon à ce que les systèmes d'utilisation de quota n'aient pas besoin d'être reconstruits en cas de crash du système.
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 utilise la commande gfs2_quota pour gérer les quota. On peut utiliser d'autres systèmes de quotas avec GFS2.

3.4.1. Configurer les quota

Deux configurations de quota sont possibles pour chaque utilisateur ID (UID) ou groupe ID (GID): un hard limit et un warn limit.
Une limite ferme (hard limit) est le montant d'espace qui peut être utilisé. Le système de fichiers n'autorisera pas l'utilisateur ou le groupe davantage de place dans l'espace disque. La valeur limite ferme zéro signifie qu'aucune limite n'est aplliquée.
Une limite d'avertissement (warn limit) est normalement fixée à un montant inférieur à la limite ferme. Le système des fichiers avertira l'utilisateur ou le groupe d'utilisateurs que cette limite d'avertissement a été atteinte. Une valeur limite d'avertissement zero signifie qu'aucune limite n'est appliquée.
Les limites sont fixées en utilisant la commande gfs2_quota. La commande a juste besoin d'opérer sur un noeud unique où GFS2 est monté.
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 Section 3.4.4, « Activer/désactiver le contrôle des quota ».

Utilisation

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
Une ID utilisateur pour limiter ou avertir. Cela peut être un nom d'utilisateur d'un fichier mot de passe ou bien un numéro UID.
Group
Un ID groupe pour limiter ou avertir. Cela peut être un nom de groupe d'un fichier groupe ou bien un numéro GID.
Size
Précise la nouvelle valeur de limite ou d'avertissement. La valeur par défaut est en unités de mégaoctets. Les marqueurs supplémentaires -k, -s et -b changent respectivement les unités en kilooctets, secteurs, et blocs de systèmes de fichiers.
MountPoint
Précise le système de fichiers GFS2 pour lequel les actions s'appliquent.

Exemples

Cet exemple détermine la limite ferme pour l'utilisateur Bert à 1024 mégaoctets (1 gigaoctet) sur le système de fichiers /mygfs2.
gfs2_quota limit -u Bert -l 1024 -f /mygfs2
Cet exemple fixe la limite d'avertissement pour des groupes ID compris entre 21 et 50 kilooctets sur le système de fichiers /mygfs2.
gfs2_quota warn -g 21 -l 50 -k -f /mygfs2

3.4.2. Affichage des limites et des utilisations de quota

Les limites de quota et les utilisations courantes peuvent être affichées pour un utilisateur ou un groupe particulier en utilisant la commande gfs2_quota get. Tout le contenu du fichier quota peut également être affiché en utilisant la commande gfs2_quota list, dans lequel cas, toutes les ID contenant un limite ferme, une limite d'avertissement ou toute valeur supérieure à zéro, sont listés.

Utilisation

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 utilisateur pour afficher les informations relatives à un utilisateur particulier. Cela peut être soit un nom d'utilisateur d'un fichier mot de passe, soit un numéro UID.
Group
Un ID de groupe pour afficher des informations relatives à un groupe particulier. Cela peut-être soit un nom de groupe d'un fichier de groupe, soit un numéro GID.
MountPoint
Précise le système de fichiers GFS2 pour lequel les actions s'appliquent.

Commande Données de sortie

L'information de quota GFS2 dans la commande gfs2_quota est affichée comme suit:
user User: limit:LimitSize warn:WarnSize value:Value

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

LimitSize, WarnSize, et les valeurs Value sont indiquées en mégaoctets par défaut. En ajoutant les marqueurs -k, -s, ou -b au niveau des lignes de commande, change respectivement les unités en kilooctets, secteurs, ou blocs de systèmes de fichiers.
User
Un nom d'utilisateur ou ID associé aux données.
Group
A nom de groupe ou un ID de groupe associé aux données.
LimitSize
La limite ferme fixée pour l'utilisateur ou pour le groupe. Cette valeur est de zéro si aucune limite n'a été fixée.
Value
Le montant réel d'espace disque utilisé par l'utilisateur ou par le groupe.

Commentaires

En affichant les informations de quota, la commande gfs2_quota ne résout pas les UID et GID par des noms si l'option -n est ajoutée à la ligne de commande.
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.

Exemples

Cet exemple affiche des informations de quota pour tous les utilisateurs et tous les groupes qui ont ont une limite de déterminée ou qui utilisent de l'espace dans le système de fichiers /mygfs2.
gfs2_quota list -f /mygfs2
Cet exemple affiche des informations de quotas dans des secteurs pour les groupes users sur le système de fichiers /mygfs2.
gfs2_quota get -g users -f /mygfs2 -s

3.4.3. Quotas de synchronisation

GFS2 abrite les informations sur les quota au sein de son propre fichier interne situé sur le disque. Un noeud GFS2 ne met pas ce fichier quota à jour pour chaque écriture de système de fichier, plutôt, il procède à la mise à jour toutes les 60 secondes. Ceci est nécessaire pour éviter toute contention entre les noeuds qui s'inscrivent sur le fichier quota, ce qui entraînerait un ralentissement de la performance.
Au fur et à mesure qu'un utilisateur ou un groupe approche sa limite de quota, GFS2 réduit, de façon dynamique, le temps de mise à jour entre ses fichiers-quota afin d'éviter de dépasser la limite. La période normale entre les synchronisations est un paramètre accordable, quota_quantum, et peut être changé en utilisant la commande gfs2_tool. La période par défaut est de 60 secondes. Aussi, le paramètre quota_quantum doit être déterminé sur chaque noeud et à chaque fois que le système de fichiers est monté. (les changements de paramètres quota_quantum ne sont pas persistants entre les démontages.)
Vous pouvez utiliser la commande gfs2_quota sync pour synchroniser l'information de quota d'un noeud sur un fichier de quota sur-disque entre les mises à jour automatiques effectuées par GFS2.

Utilisation

Synchronizing Quota Information
gfs2_quota sync -f MountPoint
MountPoint
Précise le système de fichiers GFS2 pour lequel les actions s'appliquent.
Tuning the Time Between Synchronizations
gfs2_tool settune MountPoint quota_quantum Seconds
MountPoint
Précise le système de fichiers GFS2 pour lequel les actions s'appliquent.
Seconds
Précise la nouvelle période entre les synchronisations de fichiers-quota ordinaires par GFS2. Des valeurs moindres peuvent augmenter la contention et ralentir la performance.

Exemples

Cet exemple synchronise l'information sur les quota du noeud dont il dépend vers le système de fichiers /mygfs2.
gfs2_quota sync -f /mygfs2
Cet exemple change la période par défaut entre les mises à jour de fichiers-quota ordinaires à une heure (3600 secondes) pour le système de fichiers /mygfs2 sur un noeud unique.
gfs2_tool settune /mygfs2 quota_quantum 3600

3.4.4. Activer/désactiver le contrôle des quota

Dans les systèmes de fichiers GFS2, le contrôle des quota est désactivé par défaut. Pour activer le contrôle des quota pour un système de fichiers, monter le système de fichiers avec l'option quota=on spécifiée.

Utilisation

mount -o quota=on BlockDevice MountPoint
Pour monter un système de fichiers avec le contrôle de quota désactivé, monter le système de fichiers avec l'option quota=off spécifiée. C'est la configuration par défaut.
mount -o quota=off BlockDevice MountPoint
-o quota={on|off}
Précise que le contrôle de quota est activé ou désactivé quand un système de fichiers est monté.
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

Exemples

Dans cet exemple, le système de fichiers GFS2 de /dev/vg01/lvol0est monté sur le répertoire /mygfs2avec le contrôle de quota activé.
mount -o quota=on /dev/vg01/lvol0 /mygfs2

3.4.5. Activation du contrôle quota

Il est possible d'enregistrer l'utilisation du disque et de mettre en place un système de calcul de quota pour chaque utilisateur ou chaque groupe sans avoir à forcer les valeurs fermes ou d'avertissement. Dans ce but, monter le système de fichiers avec l'option quota=account spécifiée.

Utilisation

mount -o quota=account BlockDevice MountPoint
-o quota=account
Précise que les statistiques d'utilisation d'un groupe ou d'un utilisateur sont maintenues dans le système de fichiers, même si les limites de quota ne sont pas contrôlées.
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

Exemple

Dans cet exemple, le système de fichiers GFS2 de /dev/vg01/lvol0 est monté sur le répertoire /dev/vg01/lvol0 avec les systèmes de contôle de quota activés.
mount -o quota=account /dev/vg01/lvol0 /mygfs2

3.5. Agrandir un système de fichiers

La commande gfs2_grow est utilisée pour agrandir le système de fichiers GFS2 après que le périphérique où se situe le système de fichiers ait été agrandi. Exécuter la commande gfs2_grow sur un système de fichiers GFS2 existant remplit tout l'espace qui reste entre le bout du système de fichiers courant et le bout du périphérique qui contient l'extension nouvellement initialisée du système de fichiers. Lorsque l'opération de remplissage est terminée, l'index de ressource du système de fichiers est mis à jour. Tous les noeuds du groupement peuvent alors utiliser l'espace supplémentaire généré.
La commande gfs2_grow doit être exécutée sur un système de fichiers montés, mais n'a seulement besoin d'être exécutée que sur un noeud du cluster. Tous les autres noeuds peuvent alors percevoir que l'agrandissement a eu lieu et peuvent utiliser ce nouvel espace libre automatiquement.

Utilisation

gfs2_grow MountPoint
MountPoint
Précise le système de fichiers GFS2 pour lequel les actions s'appliquent.

Commentaires

Avant d'exécuter la commande gfs2_grow :
  • Sauvegardez vos données importantes sur le système de fichiers.
  • Déterminer le volume utilisé par le système de fichiers à agrandir en exécutant la commande df MountPoint.
  • Expand the underlying cluster volume with LVM. For information on administering LVM volumes, see the LVM Administrator's Guide
Après avoir exécuté la commande gfs2_grow, exécuter la commande df pour vérifier que l'espace libéré est maintenant disponible dans le système de fichiers.

Exemples

Dans cet exemple, le système de fichiers de répertoire /mygfs2fs est agrandi.
[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.

Utilisation totale

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

MountPoint
Précise le répertoire où le système de fichiers GFS2 est monté.
Device
Précise le noeud du périphérique du système de fichiers.
Tableau 3.3, « Options spécifiques-GFS2 disponibles en cours d'agrandissement d'un système de fichiers » describes the GFS2-specific options that can be used while expanding a GFS2 file system.

Tableau 3.3. Options spécifiques-GFS2 disponibles en cours d'agrandissement d'un système de fichiers

Option Description
-h Assistance. Affiche un court message d'utilisation
-q Calme. Diminue le niveau de verbosité
-r MegaBytes Précise la taille du nouveau groupe de ressources. La taille par défaut est de 256Mo.
-T Test. Effectue tous les calculs, mais n'inscrit aucune donnée sur le disque et n'agrandit pas le système de fichiers.
-V Affiche l'information version de commande.

3.6. Ajouter les journaux au système de fichiers

La commande gfs2_jadd est utilisée pour ajouter des journaux au système de fichiers GFS2. Vous pouvez ajouter une système de fichiers GFS2 , à n'importe quel point, de manière dynamique, sans pour autant augmenter le volume logique. La commande gfs2_jadd doit être exécutée sur un système de fichiers monté, et n'a besoin d'être exécutée que sur un noeud du cluster uniquement. Tous les autres noeuds perçoivent que l'agrandissement a eu lieu.
Avant d'ajouter des journaux au système de fichiers GFS, vous pouvez utiliser l'option journals de gfs2_tool pour connaître combien de journaux sont contenus actuellement dans le système de fichiers GFS2. Les exemples suivants affichent le nombre et la taille des journaux du système de fichiers montés dans /mnt/gfs2.
[root@roth-01 ../cluster/gfs2]# gfs2_tool journals /mnt/gfs2
journal2 - 128MB
journal1 - 128MB
journal0 - 128MB
3 journal(s) found.

Utilisation

gfs2_jadd -j Number MountPoint
Number
Précise le nombre de nouveaux journaux à ajouter.
MountPoint
Précise le répertoire où le système de fichiers GFS2 est monté.

Exemples

Dans cet exemple, un journal est ajouté au système de fichiers sur le répertoire /mygfs2.
gfs2_jadd -j1 /mygfs2
Dans cet exemple, deux journaux ont été ajoutés dans le répertoire /mygfs2.
gfs2_jadd -j2 /mygfs2

Utilisation totale

gfs2_jadd [Options] {MountPoint | Device} [MountPoint | Device]
MountPoint
Précise le répertoire où le système de fichiers GFS2 est monté.
Device
Précise le noeud du périphérique du système de fichiers.
Tableau 3.4, « Options spécifiques-GFS2 dsiponibles quand on ajoute des journaux » describes the GFS2-specific options that can be used when adding journals to a GFS2 file system.

Tableau 3.4. Options spécifiques-GFS2 dsiponibles quand on ajoute des journaux

Marqueur Paramètre Description
-h Assistance. Affiche un message court d'utilisation
-J MegaBytes Précise la taille des nouveaux journaux en megaoctets. La taille du journal par défaut est de 128 mégaoctets. La taille minimum est de 32 mégaoctets. Pour ajouter des journaux de tailles différentes au système de fichiers, la commande gfs2_jadd doit être exécutée pour chaque taille de journal. La taille spécifiée est arrondie à l'inférieur de façon à représenter un multiple de la taille du segment de journal qui aura été spécifié au moment où le système de fichiers a été créé.
-j Number Précise le nombre de nouveaux journaux à ajouter par la commande gfs2_jadd. La valeur par défaut est de 1.
-q Calme. Diminue le niveau de verbosité
-V Affiche l'information version de commande.

3.7. Journalisation des données

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.
La journalisation des données peut entraîner une réduction du temps de fsync(), surtout pour les petits fichiers, car les données de fichier sont écrites sur le journal en plus des métadonnées.la commande fsync() retourne dès que le texte est écrit sur le journal, ce qui peut être considérablement plus rapide que le temps qu'il faut pour écrire les données du fichier sur le système principal de fichiers.
Les applications qui dépendent de fsync() pour synchroniser les données de fichier pourraient être améliorées en utilisant la journalisation des données. La journalisation des données peut être activée automatiquement pour tout fichier GFS2 créé dans un répertoire balisé (et dans tous ses sous-répertoires). Les fichiers existants d'une longueur nulle peuvent également avoir la journalisation des données activée.
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:
  • Exécuter la commande chattr +j ou bien chattr -j ou la commande chattr -j sur le fichier ou bien le répertoire.
  • Installer ou bien supprimer le marqueur jdata du répertoire à l'aide de la commande gfs2_tool setflag ou bien de la commande gfs2_tool clearflag.
Utiliser la commande chattr est la meilleure façon d'activer ou de désactiver la journalisation des données pour un fichier ou un répertoire.

3.7.1. Activer ou désativer la journalisation des données avec la commande chattr.

Vous pouvez activer ou bien désactiver la journalisation des données sur un fichier à l'aide de la commande chattr. Les commandes suivantes activent la journalisation du fichier /mnt/gfs2/gfs2_dir/newfile et vérifient ensuite si le marqueur a bien été installé correctement.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Les commandes suivantes désactivent la journalisation des données sur le fichier /mnt/gfs2/gfs2_dir/newfile et vérifient ensuite si le marqueur a été installé correctement.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
Vous pouvez également utiliser la commande chattr pour fixer le marqueur j sur un répertoire. Quand vous fixez ce marqueur sur un répertoire, tous les fichiers et répertoires créés par la suite dans ce même répertoire sont journalisés. L'ensemble des commandes suivant fixe le marqueur jsur le répertoire gfs2_dir, puis vérifie si le marqueur a été fixée correctement. Ensuite, les commandes créent un nouveau fichier intitulénewfile dans le répertoire /mnt/gfs2/gfs2_dir, puis, vérifient si le marqueur j a bien été fixé pour ce fichier. Comme le marqueur j est fixé pour le répertoire, le newfile devrait également avoir la journalisaton activée.
[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. Activer ou désactiver la journalisation des données avec la commande gfs2_tool

La commande suivante active la journalisation des données sur le fichier GFS2 /mnt/gfs2/gfs2file
[root@roth-01 ~]# gfs2_tool setflag jdata /mnt/gfs2/gfs2file 
Vous pouvez utiliser la commande lsattr pour vérifier que le marqueur jdata a bien été installé.
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2file
Quand le marqueur jdata est fixé pour un répertoire, tous les fichiers et tous les répertoires créés par la suite, seront journalisés.
L'ensemble de commandes suivant crée un sous-répertoire intitulé /gfs2_dir dans le répertoire /mnt/gfs2, installe le marqueur jdata pour le répertoire, puis vérifie que le marqueur a été installé correctement. Ensuite, les commandes créent le fichier gfs2file dans le répertoire, puis vérifie que le marqueur de ce fichier a été fixé correctement.
[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
Pour supprimer le marqueur jdata d'un dossier ou d'un répertoire, vous pouvez utiliser la commande gfs2_tool clearflag jdata, comme dans l'exemple suivant.
[root@roth-01 ~]# gfs2_tool clearflag jdata /mnt/gfs2/gfs2file 
[root@roth-01 ~]# lsattr /mnt/gfs2
------------- /mnt/gfs2/gfs2file

3.8. Configurer les mises à niveau atime

Chaque inode de fichier ou de répertoire comprend trois dates qui lui sont associées:
  • ctime — La dernière fois que le statut de l'inode a été changé
  • mtime — La dernière fois que les données du fichier (répertoire) ont été modifiées
  • atime — La dernière fois que les données du fichier (répertoire) ont été accédées
Si les mises à jour atime sont activées de la même façon qu'elles le sont par défaut sur les systèmes de fichiers GFS2 et autres fichiers Linux, alors à chaque fois qu'un fichier est lu, son inode a besoin d'être mis à jour.
Comme peu d'applications utilisent les informations fournies dans atime, ces mises à jour peuvent nécessiter un montant important de trafic d'écriture et de trafic de verrouillage qui n'est pas nécessaire. Ce montant de trafic peut dégrader la performance. De ce fait, il pourrait être préférable de supprimer ou de réduire la fréquence des mises à jour atime
Il existe deux méthodes pour réduire les effets des mises à jour de atime:
  • Procéder à un montage avec relatime (relative atime), qui met à jour atime quand la mise à jour précédente de atime est antérieure à la mise à jour mtime ou à la mise à jour ctime.
  • Le montage noatime, désactive les mises à jour atime sur ce système de fichiers.

3.8.1. Montage avec relatime

L'option de montage Linux relatime (relative atime) peut être spécifiée au moment du montage du système. Elle spécifie si la commande, atime est mise à jour, dans le cas où la mise à jour précédente de atime est antérieure à la mise à jour mtime ou de la mise à jour ctime.

Utilisation

mount  BlockDevice MountPoint -o relatime
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

Exemple

Dans cet exemple, le système de fichiers GFS2 réside sur /dev/vg01/lvol0 et est monté sur le répertoire /mygfs2. Les mises à jour de atime n'ont lieu que si les mises à jour antérieures de atime précèdent les mises à jour de mtime ou de ctime.
mount /dev/vg01/lvol0 /mygfs2 -o relatime

3.8.2. Montage avec noatime

Une option de montage Linux, noatime, peut être spécifiée au moment du montage du système de fichiers, ce qui désactive les mises à jour atime sur ce système de fichiers.

Utilisation

mount BlockDevice MountPoint -o noatime
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
MountPoint
Précise le répertoire où le système de fichiers GFS2 devrait être monté.

Exemple

Dans cet exemple, le système de fichiers GFS2 réside sur /dev/vg01/lvol0 et est monté sur le répertoire /mygfs2 avec les mises à jour atime désactivées.
mount /dev/vg01/lvol0 /mygfs2 -o noatime

3.9. Suspendre toute activité sur un système de fichier

Vous pouvez suspendre toute activité sur un système de fichiers en utilisant la commande gfs2_tool freeze La suspension de l'activité écriture permet l'utilisation des snapshots de sauvegarde des périphériques de matériel pour entrer le système de fichiers dans un état cohérent. La commande gfs2_tool unfreeze termine la suspension.

Utilisation

Start Suspension
gfs2_tool freeze MountPoint
End Suspension
gfs2_tool unfreeze MountPoint
MountPoint
Précise le système de fichiers.

Exemples

Cet exemple suspend l'écriture dans un système de fichiers/mygfs2.
gfs2_tool freeze /mygfs2
Cet exemple suspend l'écriture dans un système de fichiers/mygfs2.
gfs2_tool unfreeze /mygfs2

3.10. Réparer un système de fichiers

Lorsque les noeuds échouent dans le système de fichier monté, la journalisation du système de fichier permet une récupération rapide. Malgré tout, si un périphérique de mémoire est disconnecté ou est exposé à une panne de courant, on risque une corruption de fichier. (La journalisation ne peut pas être utilisée pour suppléer aux échecs des sous-systèmes de mémoire). Lorsqu'une telle corruption a lieu, vous pouvez récupérer le système de fichiers GFS2 en utilisant la commande gfs2_fsck.

Avertissement

La commande fsck.gfs2 doit seulement être exécutée sur un système de fichiers démonté de tous noeuds.

Note

Si vous avez déjà utilisé la commande gfs_fsck sur les systèmes de fichiers GFS, veuillez prendre note que la commande fsck.gfs2 diffère ainsi des versions précédentes de gfs_fsck des manières suivantes :
  • Vous ne pouvez pas installer de mode interactif avec Ctrl+C. Appuyer sur Ctrl+C annule la commande fsck.gfs2 Ne pas presser Ctrl+C à moins de vouloir annuler la commande.
  • Vous pouvez augmenter le niveau de verbosité en utilisant le marqueur -v. Ajouter un second marqueur -v augmente le niveau à nouveau.
  • Vous pouvez diminuer le niveau de verbosité en utilisant le marqueur -q. L'ajout d'un second marqueur -q augmente le niveau à nouveau.
  • L'option -n ouvre un système de fichiers en lecture-seule et répond no à toute demande automatiquement. Cette option permet d'obtenir la révélation d'erreurs par la commande sans autoriser pour autant la commande fsck.gfs2 à prendre effet.
Se référer à la page man de gfs2.fsck pour informations supplémentaires sur les autres options de commande.

Utilisation

fsck.gfs2 -y BlockDevice
-y
Le marqueur -y permet que toutes les questions soient répondues par yes. Avec le marqueur -y de spécifié, la commande gfs2_fsck ne vous invite pas à répondre avant d'effectuer un changement.
BlockDevice
Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.

Exemple

Dans cet exemple, le système de fichiers GFS2 résidant sur le périphérique en mode bloc /dev/testvol/testlv est réparé. Toutes les demandes de réparation sont automatiquementadressées par 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. Noms de chemins Contexte-dépendants et Montage associés

Les systèmes de fichiers ne fournissent pas de support pour les noms d'emplacements contexte-dépendants (CPDNs), ce qui vous permet de créer les liens symboliques qui mènent à des destinations multiples de fichiers et de répertoires. Pour cette fonction dans GFS2, vous pouvez utiliser l'option bind de la commande mount.
L'option bind de la commande mount vous permet de remonter une partie d'une hiérarchie de fichiers vers un emplacement différent tandis qu'elle est toujours dans son emplacement d'origine. Le format de cette commande suit.
mount --bind olddir newdir
Après avoir exécuté cette commande, le contenu du répertoire olddir est disponible dans deux emplacements: olddir et newdir. Vous pouvez également utiliser cette option pour rendre ce fichier disponible dans deux emplacements.
Par exemple, après avoir exécuté les commandes suivantes, le contenu de /root/tmp sera identique au contenu du répertoire monté auparavant /var/log.
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /tmp
Sinon, vous pouvez utiliser une entrée dans le fichier /etc/fstab pour le même résultat au moment du montage. L'entrée suivante /etc/fstab amènera à ce que le contenu de /root/tmp soit identique au contenu du répertoire /var/log.
/var/log                /root/tmp               none    bind            0 0
Après avoir monté le système de fichiers, vous pouvez utiliser la commande mount pour voir si le système de fichiers a bien été monté, comme dans l'exemple suivant.
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
Avec un système de fichier qui suppporte les noms de chemins contexte-dépendants, vous avez peut-être pu définir le répertoire /bin dans un nom d'emplacement contexte-dépendant, qui se résoudrait aux emplacements ci-dessous, suivant le système d'architecture.
/usr/i386-bin
/usr/x86_64-bin
/usr/ppc64-bin
Vous pouvez obtenir la même fonctionalité en créant un répertoire vide /bin. Puis, en utilisant un script ou un point d'entrée dans le fichier /etc/fstab, vous pouvez monter chaque répertoire de l'architecture individuelle dans le répertoire /bin à l'aide d'une commande mount -bind. Par exemple, vous pouvez utiliser les commandes suivantes dans une ligne de script.
mount --bind /usr/i386-bin /bin
Ou bien, vous pouvez utiliser l'entrée suivante dans le fichier /etc/fstab.
/usr/1386-bin             /bin               none    bind            0 0
Un montage associé peut offrir une plus grande flexibilité pour un nom d'emplacement contexte-dépendant, car vous pouvez utiliser cet attribut pour monter differents répertoires suivant n'importe quel critère que vous déterminez (comme la valeur de %fill pour le système de fichiers). Les noms d'emplacement contexte-dépendants sont plus limités à ce qu'ils englobent. Notez, cependant, que vous aurez besoin d'écrire votre propre script pour effectuer les montages suivant des critères comme la valeur de %fill.

Avertissement

Lorsque vous montez un système de fichiers avec l'option bind et que le système de fichiers original était monté rw, le nouveau système de fichiers sera également monté rw même si vous utilisez le marqueur ro; le marqueur ro est ignoré silencieusement. Dans ce cas, le nouveau système de fichiers pourrait être marqué en tant que ro dans le répertoire /proc/mounts, ce qui pourrait induire à confusion.

Annexe A. Convertir un système de fichier de GFS vers GFS2

Utiliser la commande gfs2_convert. Pour convertir un système de fichiers GFS en un système de fichiers GFS2.
  1. Démonter tous les noeuds du système de fichier GFS dans le cluster.
  2. Exécuter la commande gfs_fsck du système de fichier GFS pour éviter toute corruption de système de fichier.
  3. Remonter et faire une sauvegarde de votre système de fichier GFS existant.
  4. Démonter le système de fichier et exécuter gfs2_convert gfsfilesystem. Le système affichera des avertissements et des questions de confirmation avant de convertir gfsfilesystem en GFS2.
L'exemple suivant convertit le système de fichiers GFS du bloc de périphérique /dev/testvg/testlv vers le système de fichier 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 ~]#

Annexe B. Historique de révision

Historique des versions
Version 3-10.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Version 3-102012-07-18Anthony Towns
Rebuild for Publican 3.0
Version 1.0-0Thu Jan 29 2009

Index

A

adding journals to a file system, Ajouter les journaux au système de fichiers
atime, configuring updates, Configurer les mises à niveau atime
mounting with noatime , Montage avec noatime
mounting with relatime , Montage avec relatime
audience, Audience

C

configuration, before, Avant d'installer GFS2
configuration, initial, Guide de départ
prerequisite tasks, Tâches préliminaires

D

data journaling, Journalisation des données

G

GFS2
atime, configuring updates, Configurer les mises à niveau atime
mounting with noatime , Montage avec noatime
mounting with relatime , Montage avec relatime
managing, Gérer GFS2
quota management, Gestion des Quota GFS2
displaying quota limits, Affichage des limites et des utilisations de quota
enabling quota accounting, Activation du contrôle quota
enabling/disabling quota enforcement, Activer/désactiver le contrôle des quota
setting quotas, Configurer les quota
synchronizing quotas, Quotas de synchronisation
GFS2 file system maximum size, Présentation générale de GFS2
GFS2-specific options for adding journals table, Utilisation totale
GFS2-specific options for expanding file systems table, Utilisation totale
growing a file system, Agrandir un système de fichiers

I

initial tasks
setup, initial, Tâches d'installation initiales
introduction, Introduction
audience, Audience

M

making a file system, Créer un système de fichier
managing GFS2, Gérer GFS2
maximum size, GFS2 file system, Présentation générale de GFS2
mkfs.gfs2 command options table, Toutes Options
mount table, Utilisation totale
mounting a file system, Monter un système de fichiers

P

path names, context-dependent (CDPNs), Noms de chemins Contexte-dépendants et Montage associés
preface (voir introduction)
prerequisite tasks
configuration, initial, Tâches préliminaires

Q

quota management, Gestion des Quota GFS2
displaying quota limits, Affichage des limites et des utilisations de quota
enabling quota accounting, Activation du contrôle quota
enabling/disabling quota enforcement, Activer/désactiver le contrôle des quota
setting quotas, Configurer les quota
synchronizing quotas, Quotas de synchronisation

R

repairing a file system, Réparer un système de fichiers

S

setup, initial
initial tasks, Tâches d'installation initiales
suspending activity on a file system, Suspendre toute activité sur un système de fichier

T

tables
GFS2-specific options for adding journals, Utilisation totale
GFS2-specific options for expanding file systems, Utilisation totale
mkfs.gfs2 command options, Toutes Options
mount options, Utilisation totale

U

unmounting a file system, Démonter un système de fichiers

Note légale

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.