History of OCFS2

It is helpful to understand the history of OCFS2 and the changes that it has undergone.

Oracle Cluster File System (OCFS), the predecessor of OCFS2, was introduced in 2003. OCFS2 was created by Oracle as the file system to be used by Oracle Real Application Clusters (RAC). RAC is a clustered database designed to have multiple instances on separate servers or nodes, with shared simultaneous access to data in real time.

OCFS2 Version 1.2 was released in 2006 with the Enterprise Linux® distributions including SLES 9 SP4, SLES 10 SP1, RHEL 4 Update 4, and RHEL 5. For Novell's SUSE Linux Enterprise Server, OCFS2 Version 1.2 is bundled with SLES 9 SP4 and SLES 10 SP1, whereas OCFS2 Version 1.4 is bundled with SLES 10 SP2. At the time of this writing, Red Hat packages for OCFS2 Version 1.2 were available for RHEL 4 and RHEL 5 kernels, which are distributed by Oracle. At the time of this writing, packages for OCFS2 Version 1.4 were available for RHEL 5 Update 2. The OCFS2 file system itself is distributed as a part of the kernel. The tools needed to manage OCFS2 (mkfs.ocfs2, fsck.ocfs2, ocfs2console, and others) are in separate packages named ocfs2-tools and ocfs2console. Here the contents of the various distributions differs. For SLES 11, these packages are part of the SUSE Linux High Availability Extension package.

OCFS2 Version 1.2 can be used by Oracle RAC for:
  • Data storage
  • Files for cluster management referred to as Voting disks
  • The Oracle Cluster Registry (OCR)
  • Binary code for Oracle products

One use of shared disk storage is to store data for clustered databases, which allow multiple users on dispersed database servers to access a common database.

There are two different approaches to implement shared disk storage on clustered applications such as a cluster database:
  1. Implementation of shared storage in the file system, such as OCFS2
  2. Implementation of shared storage in the application level, for example Oracle's Automatic Storage Manager (ASM).

Comparing these two approaches for any given project requires considering the whole scope of the end use, since one is a Linux file system and the other is an application that has many functions. With ASM, the disks are owned by the application and files are served while many disk operations (including striping and coordinating shared access) occur within the application.

The latest OCFS2 version is OCFS2 Version 1.4. Files from OCFS2 Version 1.2 can be mounted with OCFS2 Version 1.4 nodes, but the newer features for high availability are not turned on by default. One significant restriction is that a volume cannot be mounted on OCFS2 Version 1.2 on one node and mounted on OCFS2 Version 1.4 on another node at the same time.

OCFS2 Version 1.4 is optimized for a high availability (HA) package from Novell named SUSE Linux High Availability Extension, which uses the potential for redundant access of the OCFS2 file system to reduce downtime and maintain business continuity.