The Linux SCSI Target Wiki

Jump to: navigation, search
Developer Oracle Corporation
Full name Oracle Cluster File System
Introduced March 2006 (Linux 2.6.16)
Max file size 4 PB (OCFS2) Currently limited to 16TB since it uses the Linux JBD
Max filename length 255 bytes
Max volume size 4 PB (OCFS2)
Allowed characters in filenames All bytes except NULL and '/'
Dates recorded modification (mtime), attribute modification (ctime), access (atime)
File system permissions Unix permissions, ACLs and arbitrary security attributes (Linux 2.6 and later)
Transparent compression No
Transparent encryption No
Data deduplication No
Supported operating systems Linux
See platforms for a complete overview over all supported devices and CPUs.
Playing songs with XMMS on OCFS2 connected to PS3
Viewing images with a Nokia N800 over a cluster filesystem on 802.11g wireless
OCFS2 v1.3.3 and Core-iSCSI v1.6.2.10 on OS-2008

OCFS2 stands for Oracle Cluster File System (version 2). It is a shared disk file system developed by Oracle Corp. and released under the GNU General Public License.

The first version of OCFS was developed with the main focus to accommodate oracle database files for clustered databases. Because of that it was not an POSIX compliant file system. With version 2 the POSIX features were included.

OCFS2 (version 2) was integrated into Linux version 2.6.16 of. Initially, it was marked as "experimental" (Alpha-test) code. This restriction was removed in Linux version 2.6.19. With kernel version 2.6.29 more features have been included into OCFS2 especially access control lists and quota.[1]

OCFS2 uses a distributed lock manager which resembles the OpenVMS DLM but is much simpler.[2]



An OCFS2 on iSCSI prototype is up and running (over WLANs).

The OCFS2 modules and ocfs2-tools package are running on OS-2008 r51-3 (2.6.21-omap1) on a Nokia N800. The current prototype is connected to a two node cluster, with the 2nd Initiator being a Ubuntu 7.10 i386 VM running 2.6.21 with Open/iSCSI. The iSCSI target storage for the prototype is provided from a PS3 running the LinuxIO and iSCSI on Linux 2.6.25.

Version info

Nokia-N800-51-3:/# dmesg | grep OCFS
[  118.765625] OCFS2 Node Manager 1.3.3
[  118.875000] OCFS2 DLM 1.3.3
[  118.929687] OCFS2 DLMFS 1.3.3
[  118.945312] OCFS2 User DLM kernel interface loaded
[  119.117187] OCFS2 1.3.3

o2cb Status

Nokia-N800-51-3:/# /etc/init.d/o2cb status
Module "configfs": Loaded
Filesystem "configfs": Mounted
Module "ocfs2_nodemanager": Loaded
Module "ocfs2_dlm": Loaded
Module "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 15
 Network idle timeout: 10000
 Network keepalive delay: 5000
 Network reconnect delay: 2000
Checking O2CB heartbeat: Active


Nokia-N800-51-3:/# mounted.ocfs2 -f 
Device                FS     Nodes
/dev/sdb              ocfs2  Nokia-N800-51-3, ubuntu_initiator


Nokia-N800-51-3:/# cat /proc/mounts | tail -n 4
/dev/sda /iqn.2003-01.org.linux-iscsi.playstation3.cell:sn.73b073c4e157/PS3_FILEIO ext3 ro,data=ordered 0 0
configfs /sys/kernel/config configfs rw 0 0
ocfs2_dlmfs /dlm ocfs2_dlmfs rw 0 0
/dev/sdb /iqn.2003-01.org.linux-iscsi.playstation3.cell:sn.73b073c4e157/PS3_OCFS2 ocfs2 ro 0 0


Nokia-N800-51-3:/# lsmod
Module                  Size  Used by
ocfs2 359764 1 - Live 0xbf132000
ocfs2_dlmfs 18792 1 - Live 0xbf12c000
ocfs2_dlm 178472 2 ocfs2,ocfs2_dlmfs, Live 0xbf0ff000
ocfs2_nodemanager 125260 7 ocfs2,ocfs2_dlmfs,ocfs2_dlm, Live 0xbf0df000
configfs 23280 2 ocfs2_nodemanager, Live 0xbf0d8000
iscsi_initiator_mod 277956 3 - Live 0xbf093000
ext2 51080 0 - Live 0xbf085000
ext3 107304 1 - Live 0xbf069000
mbcache 7108 2 ext2,ext3, Live 0xbf066000
jbd 51592 2 ocfs2,ext3, Live 0xbf058000
g_file_storage 27560 0 - Live 0xbf050000
cx3110x 56200 0 - Live 0xbf041000
umac 258788 1 cx3110x, Live 0xbf000000 (P)


Nokia-N800-51-3:/# /etc/init.d/initiator status | tail -n 5
Core-iSCSI Initiator Stack v1.6.2.10 on Linux/armv6l on 2.6.21-omap1
iSCSI InitiatorName: iqn.2003-01.org.linux-iscsi.Nokia-N800-51-3.armv6l:sn.506dcc5299c
Linux Nokia-N800-51-3 2.6.21-omap1 #2 Fri Dec 7 11:17:13 EET 2007 armv6l unknown
13:35:59 up 13:15, load average: 0.42, 0.34, 0.34



Untar ocfs2-2.6.21-omap1.tar to your /media/mmc2 directory, which should create /media/mmc/ocfs2/ for the OCFS2 kernel modules.

See also


External links

Personal tools
Google AdSense