Annexe B. Convertir un système de fichier de GFS vers GFS2
Comme Red Hat Enterprise Linux 6 ne prend pas en charge les systèmes de fichiers GFS, vous devez mettre à niveau tous vos systèmes de fichiers GFS en GFS2 à l'aide de la commande
gfs2_convert
. Notez que vous devez procéder à cette conversion sur un système Red Hat Enterprise Linux 5 avant de le mettre à niveau à Red Hat Enterprise Linux 6.
Avertissement
Avant de convertir le système de fichiers GFS, vous devrez garder une copie de sauvegarde du système de fichiers, car le processus de conversion est irréversible et les erreurs rencontrées en cours de conversion peuvent aboutir à un arrêt brusque du programme et, par conséquence, résulter un un système de fichiers inutilisable.
Avant de convertir le système de fichiers GFS, vous devrez utiliser la commande
gfs_fsck
pour vérifier le système de fichiers et régler les erreurs.
Si la conversion de GFS en GFS2 est interrompue par une panne d'électricité ou autre, redémarrer l'outil de conversion. Ne tentez pas la commande
fsck.gfs2
sur le système de fichiers avant que la conversion soit terminée.
Note
Les systèmes de fichiers GFS2 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
.
La commande
gfs2_convert
identifie les CPDN et les remplace par des répertoires vides du même nom. Pour pouvoir configurer les points de montage de liaison qui puissent remplacer les CPDN, toutefois, vous devez connaître les noms complets des emplacements des liens cibles des CDPN que vous souhaitez remplacer. Avant de convertir votre système de fichiers, vous pouvez utiliser la commande find
pour identifier les liens.
La commande suivante liste les liens symboliques qui pointent vers un CDPN
hostname
:
[root@smoke-01 gfs]# find /mnt/gfs -lname @hostname
/mnt/gfs/log
De même, vous pouvez exécuter la commande
find
pour les autres CDPN (mach
, os
, sys
, uid
, gid
, jid
). Notez bien que comme les noms de CDPN peuvent avoir la forme @hostname
ou {hostname}
, vous devrez exécuter la commande find
pour chaque variante.
Pour plus d'informations sur les points de montage de liaison et sur les noms d'emplacement dépendant-contexte de GFS2, voir Section 3.12, « Noms de chemins Contexte-dépendants et Montage associés ».
Quand on convertit des systèmes de fichiers remplis ou presque, il est possible qu'il n'y ait pas suffisamment de place disponible pour toutes les structures de données du système de fichiers GFS2. Dans ce cas, la taille de tous les journaux est réduite uniformément, de façon à ce que tout puisse être contenu dans l'espace disponible.
Utiliser la procédure suivante pour convertir un système de fichiers GFS en système de fichiers GFS2.
- Sur un système Red Hat Entreprise Linux, gardez une copie de sauvegarde de votre système de fichiers GFS existant.
- Démonter tous les nœuds du système de fichier GFS dans le cluster.
- Exécuter la commande
gfs_fsck
sur le système de fichier GFS pour éviter toute corruption de système de fichier. - Exécuter
gfs2_convert
. Le système affichera des avertissements et des questions à confirmer avant de convertir legfsfilesystem
gfsfilesystem
en GFS2. - Mise à niveau à Red Hat Enterprise Linux 6.
L'exemple suivant convertit un système de fichiers GFS en bloc
/dev/shell_vg/500g
sur un système de fichiers GFS2.
[root@shell-01 ~]# /root/cluster/gfs2/convert/gfs2_convert /dev/shell_vg/500g
gfs2_convert version 2 (built May 10 2010 10:05:40)
Copyright (C) Red Hat, Inc. 2004-2006 All rights reserved.
Examining file system..................
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/shell_vg/500g from GFS1 to GFS2? (y/n)y
Converting resource groups...................
Converting inodes.
24208 inodes from 1862 rgs converted.
Fixing file and directory information.
18 cdpn symlinks moved to empty directories.
Converting journals.
Converting journal space to rg space.
Writing journal #1...done.
Writing journal #2...done.
Writing journal #3...done.
Writing journal #4...done.
Building GFS2 file system structures.
Removing obsolete GFS1 file system structures.
Committing changes to disk.
/dev/shell_vg/500g: filesystem converted successfully to gfs2.