Project: OCFS2

[ Project Home  |  News  |  Downloads  |  Docs  |  Mailing Lists  |  Source Control  |  Issues ]

Project Description: General-purpose cluster file system
License: GPL

WHAT IS OCFS2?

OCFS2 is the next generation of the Oracle Cluster File System for Linux. It is an extent based, POSIX compliant file system. Unlike the previous release (OCFS), OCFS2 is a general-purpose file system that can be used for shared Oracle home installations making management of Oracle Real Application Cluster (RAC) installations even easier. Among the new features and benefits are:

  • Node and architecture local files using Context Dependent Symbolic Links (CDSL)
  • Network based pluggable DLM
  • Improved journaling / node recovery using the Linux Kernel "JBD" subsystem
  • Improved performance of meta-data operations (space allocation, locking, etc).
  • Improved data caching / locking (for files such as oracle binaries, libraries, etc)

GETTING STARTED

Please refer to the user's guide to learn about configuring and using OCFS2.

Answers to commonly asked questions are available in the FAQ.

For information regarding migrating data from OCFS to OCFS2, please refer to the migrate guide.

WHAT'S NEW?

OCFS2 1.2.8-2 and OCFS2 Tools 1.2.7-1 are the current releases for both EL4 and EL5. Refer the news section for the file system and the tools for the full list of changes. Users must upgrade the tools before upgrading the file system.

OCFS2 1.2.8-2 packages for Enterprise Linux 4 and 5 are available on the Unbreakable Linux Network site. Subscribers can upgrade to the latest release by issuing the following commands:

	# up2date --install ocfs2-tools ocfs2console
	# up2date --install ocfs2-`uname -r`

OCFS2 1.2.8-2 packages for Red Hat's RHEL4 and RHEL5 are available for download here.

OCFS2 1.4 *BETA* packages for Red Hat's RHEL5 U2 BETA are now available. SLES packages for the same have been shipping with SLES10 SP2 BETA. For more, please refer to this link.

ORACLE SUPPORT AND CERTIFICATION

OCFS2 1.2.3 or later is certified with Oracle 10gR2 RAC on the x86 and x86-64 platforms on Enterprise Linux 4. Users can download the packages from the Unbreakable Linux Network site.

OCFS2 1.2.1 or later is certified with Oracle 10gR2 RAC on the x86, x86-64, IA64, PPC64 and s390x platforms on Red Hat's RHEL4 Updates 2 and higher. Users can download the packages from here.

OCFS2 1.2.1 or later is certified with Oracle 10gR2 RAC on the x86, x86-64, IA64, PPC64 and s390x platforms on Novell's SLES9 SP3. This release is included with all kernels starting 2.6.5-7.257 and can be downloaded from the SuSE Patch Support Database (PSDB) or by using the YaST Online Update (YOU).

OCFS2 1.2.1 or later is also certified with Oracle 9iR2 and 10g RAC on the x86, x86-64 and IA64 platforms on the above mentioned RHEL4 and SLES9 releases.

For certified ports and distributions, Oracle Support extends free support for OCFS2 users having an Oracle license for use in storing Oracle data-files, redo-logs, archive-logs, control files, voting disk (CRS), cluster registry (OCR), etc. along with shared Oracle home. For current information on certifications of Oracle products, please click on "Certify & Availability" on metalink.

Furthermore, Oracle Unbreakable Linux subscribers can now call Oracle Support for assistance in using OCFS2 in all use cases. As in, use of the file system other than just with the Oracle RDBMS. This support is limited to the current capabilities of the file system. Refer to the OCFS2 Development Roadmap wiki to learn about our future plans.

LINUX DISTRIBUTIONS AND KERNEL SUPPORT

As OCFS2 has been developed for the 2.6 series of the Linux kernel, the packages are only available for 2.6 based distributions. Packages will not be provided for 2.4 kernels (RHEL3, SLES8, Asianux 1.0, etc.).

Enterprise Linux 4 and 5: OCFS2 1.2.3 and higher is shipped alongwith Enterprise Linux 4 while OCFS2 1.2.6 is shipped alongwith Enterprise Linux 5. Subscribers can upgrade to the latest release by issuing the following command:

	# up2date --install ocfs2-tools ocfs2console
	# up2date --install ocfs2-`uname -r`

SUSE Linux Exterprise Server 9 and 10: OCFS2 1.2.5 is shipping with SLES10 SP1. OCFS2 1.2.3 is shipping with SLES9 SP3 kernel 2.6.5-7.283 and SLES10. OCFS2 1.2.1 is shipping with the older SLES9 SP3 kernels 2.6.5-7.257, 2.6.5-7.267, 2.6.5-7.276 and 2.6.5-7.282. SLES users need to also install ocfs2-tools and ocfs2console packages. For more on OCFS2 bundling with SLES, refer to the Novell SLES9 and SLES10 section in the FAQ.

Red Hat Enterprise Linux 4 and 5: OCFS2 is not distributed by Red Hat. RHEL4 and RHEL5 users must download and install the appropriate modules and tools packages.

RHEL5 users are advised that OCFS2 does not work with SELinux enabled. One needs to disable SELinux (using tool system-config-securitylevel) to get the O2CB service to execute.

RHEL4 U2 and U3 users are advised to use the DEADLINE io scheduler instead of the default CFQ due to Bugzilla# 184535. This issue has been addressed in RHEL4 U4. For more, refer to the Heartbeat section in the FAQ.

RHEL4 U2 users are advised that OCFS2 does not work with SELinux enabled. One needs to disable SELinux (using tool system-config-securitylevel) to get the O2CB service to execute. This issue has been resolved in RHEL4 U3.

Asianux 2.0: OCFS2 is bundled with the Red Flag DC Server 5.0 - Asianux Inside, MIRACLE LINUX V4.0 - Asianux Inside and Haansoft Linux 2006 Server - Asianux Inside distributions.

The OCFS2 packages for the Asianux distributions are also downloadable from Asianux TSN.

Ubuntu: OCFS2 is included in all releases starting from Dapper Drake to the latest, Gutsy Gibbon. The version of the file system included is typically the same as the one available with the mainline kernel included with that release. Ubuntu users must also install the ocfs2-tools and ocfs2console packages, which are included with the release. Thanks goes to Fabio Massimo Di Nitto for doing the packaging work.

Other Distributions: If your distribution does not include OCFS2, you will need to download and build the sources. To build against the mainline kernel, download the kernel from kernel.org. As OCFS2 has been included in the mainline since 2.6.16-rc1, we no longer provide patches against it on oss.oracle.com but rather keep the source current on mainline.

For users building from OCFS2 1.2.x tarballs with kernels 2.6.14 or later, use the following make command:

	make GENERIC_DELETE_INODE_NOT_TRUNCATES=1
NOTE: OCFS2 1.2 does not build with kernels 2.6.20 or later. Use the version bundled with that kernel. All patch fixes for OCFS2 applicable to this kernel version and later are maintained here.

OCFS2 is released under the GNU General Public License (GPL). Oracle supports the binary packages distributed by Oracle, or its partners, for Enterprise Linux, Red Hat Enterprise Linux Server, SuSE Linux Enterprise Server and the Asianux distributions. The source code for the binaries are available for reference and compliance. Self-built objects are not supported. Use at your own risk.

REPORTING BUGS

Please use bugzilla to file bugs.

Please try to be as verbose as possible in the bug reports. For oopses, please attach the full oops trace.

TOP REPORTED ISSUES

Q. If one uses a private ip address, what node name must one specify in cluster.conf?
A. The node name must always be the hostname irrespective of the ip address used. For more, refer to the Configure section in the FAQ.

Q. What should one set O2CB_HEARTBEAT_THRESHOLD to?
A. O2CB_HEARTBEAT_THRESHOLD should be set depending upon the default io timeout for the io layer. For multipath users, set it to a number ranging from 31 to 61. For more, refer to the Heartbeat and Timeouts sections in the FAQ.

Q. How can one avoid a node from panic-ing when one shutdowns the other node in a 2-node cluster?
A. Ensure the ocfs2 init script is enabled. This script ensures that the OCFS2 volumes are umounted before the network is shutdown. For more, refer to the Quorum and Fencing section in the FAQ.

Q. Why does CRS not startup when the Voting diskfile and/or the OCR file are on a OCFS2 volume?
A. OCFS2 volumes containing the Voting diskfile (CRS), Cluster registry (OCR), Data files, Redo logs, Archive logs and Control files must be mounted with the datavolume,nointr mount options. For more, refer to the Oracle RAC section in the FAQ.

MAILING LISTS

To learn about new releases and discuss OCFS2 related issues, please join one or more of the OCFS2 mailing lists.