Product SiteDocumentation Site

Converting a File System from GFS to GFS2

Since the Red Hat Enterprise Linux 6 release does not support GFS file systems, you must upgrade any existing GFS file systems to GFS2 file systems with the gfs2_convert command. Note that you must perform this conversion procedure on a Red Hat Enterprise Linux 5 system before upgrading to Red Hat Enterprise Linux 6.

Warning

Before converting the GFS file system, you must back up the file system, since the conversion process is irreversible and any errors encountered during the conversion can result in the abrupt termination of the program and consequently an unusable file system.
Before converting the GFS file system, you must use the gfs_fsck command to check the file system and fix any errors.
If the conversion from GFS to GFS2 is interrupted by a power failure or any other issue, restart the conversion tool. Do not attempt to execute the fsck.gfs2 command on the file system until the conversion is complete.
GFS2 file systems do not provide support for context-dependent path names (CDPNs), which allow you to create symbolic links that point to variable destination files or directories. The gfs2_convert command identifies CDPNs and replaces them with empty directories with the same name. To achieve the same functionality as CDPNs in GFS2 file systems, you can use the bind option of the mount command. For more information on bind mounts and context-dependent pathnames in GFS2, see Section 3.12, “Bind Mounts and Context-Dependent Path Names”.
When converting full or nearly full file systems, it is possible that there will not be enough space available to fit all the GFS2 file system data structures. In such cases, the size of all the journals is reduced uniformly such that everything fits in the available space.
Use the following procedure to convert a GFS file system to a GFS2 file system.
  1. On a Red Hat Enterprise Linux system, make a backup of your existing GFS file system.
  2. Unmount the GFS file system from all nodes in the cluster.
  3. Execute the gfs_fsck command on the GFS file system to ensure there is no file system corruption.
  4. Execute gfs2_convert gfsfilesystem. The system will display warnings and confirmation questions before converting gfsfilesystem to GFS2.
  5. Upgrade to Red Hat Enterprise Linux 6.
The following example converts a GFS file system on block device /dev/shell_vg/500g to a GFS2 file system.
[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.