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.
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.
-
On a Red Hat Enterprise Linux system, make a backup of your existing GFS file system.
-
Unmount the GFS file system from all nodes in the cluster.
-
Execute the gfs_fsck
command on the GFS file system to ensure there is no file system corruption.
-
Execute gfs2_convert gfsfilesystem
. The system will display warnings and confirmation questions before converting gfsfilesystem
to GFS2.
-
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.