Oracle Cluster File System 2 (OCFS2) is a general-purpose journaling file system that is fully integrated in the Linux 2.6 kernel and later. OCFS2 allows you to store application binary files, data files, and databases on devices in a SAN. All nodes in a cluster have concurrent read and write access to the file system. A distributed lock manager helps prevent file access conflicts. OCFS2 supports up to 32,000 subdirectories and millions of files in each directory. The O2CB cluster service (a driver) runs on each node to manage the cluster.
OCFS2 was added to SUSE Linux Enterprise Server 9 to support Oracle Real Application Cluster (RAC) databases and its application files, Oracle Home. In SUSE Linux Enterprise Server 10 and later, OCFS2 can be used for any of the following storage solutions:
Oracle RAC and other databases
General applications and workloads
XEN image store in a cluster
XEN virtual machines and virtual servers can be stored on OCFS2 volumes that are mounted by cluster servers to provide quick and easy portability of XEN virtual machines between servers.
LAMP (Linux, Apache, MySQL, and PHP | PERL | Python) stacks
In addition, it is fully integrated with Heartbeat 2.
As a high-performance, symmetric, parallel cluster file system, OCFS2 supports the following functions:
An application’s files are available to all nodes in the cluster. Users simply install it once on an OCFS2 volume in the cluster.
All nodes can concurrently read and write directly to storage via the standard file system interface, enabling easy management of applications that run across a cluster.
File access is coordinated through the Distributed Lock Manager (DLM).
DLM control is good for most cases, but an application’s design might limit scalability if it contends with the DLM to coordinate file access.
Storage backup functionality is available on all back-end storage. An image of the shared application files can be easily created, which can help provide effective disaster recovery.
OCFS2 also provides the following capabilities:
Cross-node file data consistency
A GTK GUI-based administration via the ocfs2console utility
Operation as a shared-root file system
Support for multiple-block sizes (each volume can have a different block size) up to 4 KB, for a maximum volume size of 16 TB
Support for up to 255 cluster nodes
Context-dependent symbolic link (CDSL) support for node-specific local files
Asynchronous and direct I/O support for database files for improved database performance