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
2. Documentation complémentaire
Pour davantage d'informations sur l'utilisation de Red Hat Enterprise Linux, se référer aux ressources suivantes:
- Guide d'installation Red Hat Enterprise Linux — fournit des informations sur l'installation de Red Hat Enterprise Linux.
- Guide de déploiement de Red Hat Enterprise Linux — fournit des informations à propos du déploiement, de la configuration et de l'administration de Red Hat Enterprise Linux 5.
Pour davantage d'informations sur l'utilisation de Red Hat Enterprise Linux, se référer aux ressources suivantes :
- Présentation générale de Redha Hat Cluster Suite — offre une présentation avancée de la suite Red Hat Cluster Suite.
- Configurer et Gérer un Red Hat Cluster — fournit des informations à propos de l'installation, de la configuration et de la gestion des composants du 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.
- Système de fichiers global: configuration et administration — fournit des informations sur l'installation, la configuration et la maintenance de Red Hat GFS (Red Hat Global File System).
- Utilisation de Device-Mapper Multipath — fournit des informations sur l'utilisation de la fonction Device-Mapper Multipath de Red Hat Enterprise Linux.
- Utilisation de GNBD avec Global File System — fournit une présentation générale sur l'utilisation de Global Network Block Device (GNBD) avec Red Hat GFS.
- Administration du serveur virtuel Linux — fournit des informations sur la façon de configurer les systèmes et services à haute performance au sein du serveur virtuel Linux Virtual Server (LVS).
- Notes de mise à jour de la suite Red Hat Cluster Suite — fournit des informations sur la dernière version de la suite Red Hat Cluster Suite.
Red Hat Cluster Suite documentation et autres Red Hat documents sont disponibles en versions HTML, PDF, et RPM sur le documentaire CD Red Hat Enterprise Linux et en ligne à http://www.redhat.com/docs/.
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
andlock_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 fichiersmydata1
etmydata2
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.
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 | ||||
|
| 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é | ||||
|
| 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ètrejournals
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 marqueurcounters
, que la commandegfs2_tool
utilise pour afficher les statistiques 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.
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 appelsstatfs
. - Le mode
atime
a été amélioré en vue de réduire le nombre d'opérations E/S générées paratime
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
() etchattr
() 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
etgfs2_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
() etmkdir
(). - 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:
- Installation des volumes logiques.
- Création d'un système de fichiers GFS2.
- Montage des systèmes de fichiers.
Suivre ces étapes pour installer GFS2 au départ.
- A l'aide de LVM, créer un volume logique pour chaque système de fichiers GFS2 Red Hat.
Note
Vous pouvez utiliser les scriptsinit.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 scriptsinit.d
, veuillez vous référer à Configurer et Gérer un Cluster Red Hat. - 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
-jNumberJournals BlockDevice
mkfs -t gfs2 -p lock_dlm -t
LockTableName
-jNumberJournals 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 ». - 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
aclmount
permet de manipuler des ACL (Access Control List) de fichiers. Si un système de fichiers est monté sans l'option de montage
, les utilisateurs sont autorisés à voir les ACLs (avec-o
aclgetfacl
), mais ne sont pas autorisés à les configurer (avecsetfacl
).Note
Vous pouvez utiliser les scriptsinit.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 scriptsinit.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 -pLockProtoName
-tLockTableName
-jNumberJournals BlockDevice
mkfs -t gfs2 -pLockProtoName
-tLockTableName
-jNumberJournals BlockDevice
Lorsque vous créez un système de fichiers GFS2, vous pouvez utiliser l'un des formats suivants :
mkfs.gfs2 -pLockProtoName
-jNumberJournals BlockDevice
mkfs -t gfs2 -pLockProtoName
-jNumberJournals 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 fichierslock_dlm
présents dans le groupement, et pour tous les systèmes de fichiers (lock_dlm
andlock_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).
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 |
| |||||||
-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 |
| |||||||
-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
mountBlockDevice MountPoint
-ooption
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.
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 . | ||
| 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 . | ||
| 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 . | ||
| 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 -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
- 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 -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 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:
userUser
: limit:LimitSize
warn:WarnSize
value:Value
groupGroup
: 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 settuneMountPoint
quota_quantumSeconds
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/lvol0
est monté sur le répertoire /mygfs2
avec 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.
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.
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 bienchattr -j
ou la commandechattr -j
sur le fichier ou bien le répertoire. - Installer ou bien supprimer le marqueur
jdata
du répertoire à l'aide de la commandegfs2_tool setflag
ou bien de la commandegfs2_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 j
sur 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éesatime
— 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 à jouratime
quand la mise à jour précédente deatime
est antérieure à la mise à jourmtime
ou à la mise à jourctime
. - Le montage
noatime
, désactive les mises à jouratime
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épondno
à toute demande automatiquement. Cette option permet d'obtenir la révélation d'erreurs par la commande sans autoriser pour autant la commandefsck.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 paryes
. Avec le marqueur-y
de spécifié, la commandegfs2_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.
- Démonter tous les noeuds du système de fichier GFS dans le cluster.
- Exécuter la commande
gfs_fsck
du système de fichier GFS pour éviter toute corruption de système de fichier. - Remonter et faire une sauvegarde de votre système de fichier GFS existant.
- Démonter le système de fichier et exécuter
gfs2_convert
. Le système affichera des avertissements et des questions de confirmation avant de convertirgfsfilesystem
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.400 | 2013-10-31 | ||
| |||
Version 3-10 | 2012-07-18 | ||
| |||
Version 1.0-0 | Thu 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
B
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
F
- feedback, Commentaire
- file system
- adding journals, 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
- bind mounts, Noms de chemins Contexte-dépendants et Montage associés
- context-dependent path names (CDPNs), Noms de chemins Contexte-dépendants et Montage associés
- data journaling, Journalisation des données
- growing, Agrandir un système de fichiers
- making, Créer un système de fichier
- mounting, Monter un système de fichiers
- 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
- repairing, Réparer un système de fichiers
- suspending activity, Suspendre toute activité sur un système de fichier
- unmounting, Démonter un système de fichiers
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
O
- overview, Présentation générale de GFS2
- configuration, before, Avant d'installer GFS2
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.