3.11. Réparer un système de fichiers
Quand les nœuds échouent dans le système de fichiers monté, la journalisation du système de fichiers vous permet une récupération rapide. Cependant, si un périphérique de stockage perd en puissance ou est disconnecté physiquement, il peut y avoir une corruption de fichier. (la journalisation ne peut pas être utilisée pour une récupération suite à un échec de sous-système de stockage). Suite à ce type de corruption, vous pouvez rétablir le système de fichiers GFS2 par la commande
fsck.gfs2
.
Avertissement
La commande
fsck.gfs2
ne doit exécuter que dans un système de fichiers qui est démonté sur tous les nœuds.
Note
Si vous avez déjà utilisé la commande gfs_fsck sur les systèmes de fichiers GFS, veuillez noter que la commande
fsck.gfs2
est légèrement différente des versions plus anciennes de gfs_fsck
des façons suivantes :
- Appuyer sur les touches Ctrl+C tout en exécutant
fsck.gfs2
interrompt le traitement et affiche une invitation vous demandant si vous souhaiter annuler la commande, ignorer le reste de la passe en cours, ou poursuivez vos activités de traitement. - 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
(non) à n'importe quelle requête automatiquement. L'option fournit un moyen de tester la commande pour qu'elle révèle des erreurs sans permettre pour autant à la commandefsck.gfs2
de prendre effet.
Référez-vous à la page man
fsck.gfs2
pour obtenir des informations supplémentaires sur les autres options de commande.
Pour pouvoir exécuter la commande
fsck.gfs2
, vous avez besoin d'une mémoire systèmeau-delà de la mémoire utilisée pour le système d'exploitation et le noyau. Chaquebloc de mémoire dans le système de fichier GFS2 lui-même nécessite environ 5bits de mémoire supplémentaire, ou de 5/8 d'un octet. Donc, pour estimer le nombre d'octetsde mémoire, vous devrez exécuter la commande fsck.gfs2
survotre système de fichiers, vous devrez déterminer combien de blocs du système de fichiers sont contenus etmultiplier ce nombre par 5/8.
Par exemple, pour déterminer approximativement la quantité de mémoire nécessaire pour exécuter
fsck.gfs2
sur un système de fichiers GFS2 de 16TB avec une taille de bloc de 4K, déterminer tout d'abord le nombre de blocs de mémoire contenus par le système de fichiers en divisant 16Tb par 4K :
17592186044416 / 4096 = 4294967296
17592186044416 / 4096 = 4294967296
Comme ce système de fichiers contient 4294967296 blocs, multipliez ce nombre par 5/8 pour déterminer le nombre d'octets de mémoire requis :
4294967296 * 5/8 = 2684354560
4294967296 * 5/8 = 2684354560
Ce système de fichiers a besoin de 2.6Go approximativement pour pouvoir exécuter la commande
fsck.gfs2
. Notez que si la taille du bloc est de 1K, vous aurez besoin de quatre fois ce montant de mémoire pour exécuter la commande fsck.gfs2
, soient environ 11Go.
Utilisation Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
fsck.gfs2 -y BlockDevice
fsck.gfs2 -y BlockDevice
-y
- Le marqueur
-y
fait que toutes les questions auront pour réponseyes
(oui). Avec le marqueur-y
spécifié, la commandefsck.gfs2
ne vous invite pas à donner une réponse avant de procéder aux changements. BlockDevice
- Précise le périphérique en mode bloc où le système de fichiers GFS2 se situe.
Exemple Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
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 automatiquement adressées par yes
.