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.
  1. Sur un système Red Hat Entreprise Linux, gardez une copie de sauvegarde de votre système de fichiers GFS existant.
  2. Démonter tous les nœuds du système de fichier GFS dans le cluster.
  3. Exécuter la commande gfs_fsck sur le système de fichier GFS pour éviter toute corruption de système de fichier.
  4. Exécuter gfs2_convert gfsfilesystem. Le système affichera des avertissements et des questions à confirmer avant de convertir le gfsfilesystem en GFS2.
  5. 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.