GFS2 - Compatibility and The GFS2 Meta Filesystem

Compatibility and The GFS2 Meta Filesystem

GFS2 was designed so that upgrading from GFS would be a simple procedure. To this end, most of the on-disk structure has remained the same as GFS, including the big-endian byte ordering. There are a few differences though:

  • GFS2 has a "meta filesystem" through which processes access system files
  • GFS2 uses the same on-disk format for journaled files as for regular files
  • GFS2 uses regular (system) files for journals, whereas GFS uses special extents
  • GFS2 has some other "per_node" system files
  • The layout of the inode is (very slightly) different
  • The layout of indirect blocks differs slightly

The journaling systems of GFS and GFS2 are not compatible with each other. Upgrading is possible by means of a tool (gfs2_convert) which is run with the filesystem off-line to update the metadata. Some spare blocks in the GFS journals are used to create the (very small) per_node files required by GFS2 during the update process. Most of the data remains in place.

The GFS2 "meta filesystem" is not a filesystem in its own right, but an alternate root of the main filesystem. Although it behaves like a "normal" filesystem, its contents are the various system files used by GFS2, and normally users do not need to ever look at it. The GFS2 utilities mount and unmount the meta filesystem as required, behind the scenes.

Read more about this topic:  GFS2