Appendix B. 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.
Note
For information on upgrading Red Hat Enterprise Linux 5 with a GFS file system to Red Hat Enterprise Linuz 7, see How to upgrade from RHEL 5 with a gfs or gfs2 filesystem to RHEL6 or RHEL 7?.
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.
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.
B.1. Conversion of Context-Dependent Path Names
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. To achieve the same functionality as CDPNs in GFS2 file systems, you can use the
bind
option of the mount
command.
The
gfs2_convert
command identifies CDPNs and replaces them with empty directories with the same name. In order to configure bind mounts to replace the CDPNs, however, you need to know the full paths of the link targets of the CDPNs you are replacing. Before converting your file system, you can use the find
command to identify the links.
The following command lists the symlinks that point to a
hostname
CDPN:
[root@smoke-01 gfs]# find /mnt/gfs -lname @hostname
/mnt/gfs/log
Similarly, you can execute the
find
command for other CDPNs (mach
, os
, sys
, uid
, gid
, jid
). Note that since CDPN names can be of the form @hostname
or {hostname}
, you will need to run the find
command for each variant.
For more information on bind mounts and context-dependent pathnames in GFS2, see Section 4.12, “Bind Mounts and Context-Dependent Path Names”.