OCFS2 文件系统¶
OCFS2 是一种通用的基于范围的共享磁盘集群文件系统,与 ext3 有许多相似之处。它支持 64 位 inode 号,并具有自动扩展的元数据组,这也使其对非集群使用具有吸引力。
您需要安装 ocfs2-tools 包才能至少获取 "mount.ocfs2" 和 "ocfs2_hb_ctl"。
项目网页:http://ocfs2.wiki.kernel.org 工具 git 树:https://github.com/markfasheh/ocfs2-tools OCFS2 邮件列表:https://subspace.kernel.org/lists.linux.dev.html
所有代码版权 2005 Oracle,除非另有说明。
致谢¶
许多代码取自 ext3 和其他项目。
作者按字母顺序排列
Joel Becker <joel.becker@oracle.com>
Zach Brown <zach.brown@oracle.com>
Mark Fasheh <mfasheh@suse.com>
Kurt Hackel <kurt.hackel@oracle.com>
Tao Ma <tao.ma@oracle.com>
Sunil Mushran <sunil.mushran@oracle.com>
Manish Singh <manish.singh@oracle.com>
Tiger Yang <tiger.yang@oracle.com>
注意事项¶
OCFS2 尚未支持的功能
目录更改通知 (F_NOTIFY)
分布式缓存 (F_SETLEASE/F_GETLEASE/break_lease)
挂载选项¶
OCFS2 支持以下挂载选项
(*) == 默认
barrier=1 |
这启用/禁用屏障。barrier=0 禁用它,barrier=1 启用它。 |
errors=remount-ro(*) |
发生错误时,将文件系统重新挂载为只读。 |
errors=panic |
如果发生错误,则紧急停止并停止机器。 |
intr (*) |
允许信号中断集群操作。 |
nointr |
不允许信号中断集群操作。 |
noatime |
不更新访问时间。 |
relatime(*) |
如果之前的 atime 比 mtime 或 ctime 旧,则更新 atime |
strictatime |
始终更新 atime,但最小更新间隔由 atime_quantum 指定。 |
atime_quantum=60(*) |
除非自上次更新以来已经过了此秒数,否则 OCFS2 不会更新 atime。设置为零以始终更新 atime。此选项需要与 strictatime 一起使用。 |
data=ordered (*) |
所有数据都将被强制直接输出到主文件系统,然后其元数据才能提交到日志。 |
data=writeback |
数据排序未保留,数据可能在其元数据已提交到日志后写入主文件系统。 |
preferred_slot=0(*) |
在挂载期间,首先尝试使用此文件系统槽。如果它正在被另一个节点使用,则将选择找到的第一个空槽。无效值将被忽略。 |
commit=nrsec (*) |
可以告诉 Ocfs2 每隔 'nrsec' 秒同步其所有数据和元数据。默认值为 5 秒。这意味着,如果您断电,您将丢失最新的 5 秒工作(但由于日志记录,您的文件系统不会损坏)。此默认值(或任何较低的值)都会影响性能,但有利于数据安全。将其设置为 0 将与将其保留为默认值(5 秒)具有相同的效果。将其设置为非常大的值将提高性能。 |
localalloc=8(*) |
允许自定义 localalloc 大小,以 MB 为单位。如果该值太大,则 fs 将以静默方式将其恢复为默认值。 |
localflocks |
这将禁用集群感知 flock。 |
inode64 |
指示允许 Ocfs2 在文件系统中的任何位置创建 inode,包括那些会导致 inode 号占用超过 32 位有效位的位置。 |
user_xattr (*) |
启用扩展用户属性。 |
nouser_xattr |
禁用扩展用户属性。 |
acl |
启用 POSIX 访问控制列表支持。 |
noacl (*) |
禁用 POSIX 访问控制列表支持。 |
resv_level=2 (*) |
设置分配预留的激进程度。有效值介于 0(预留关闭)到 8(预留的最大空间)之间。 |
dir_resv_level= (*) |
默认情况下,目录预留将随文件预留进行缩放 - 用户很少需要更改此值。如果分配预留已关闭,则此选项将不起作用。 |
coherency=full (*) |
禁止并发 O_DIRECT 写入,将获取集群 inode 锁以强制其他节点丢弃缓存,因此即使对于 O_DIRECT 写入,也能保证完整的集群一致性。 |
coherency=buffered |
允许节点间并发 O_DIRECT 写入而无需 EX 锁,这可以在其他节点上获得陈旧数据的风险下获得高性能。 |
journal_async_commit |
提交块可以写入磁盘,而无需等待描述符块。如果启用,则旧内核无法挂载该设备。这将启用内部的 "journal_checksum"。 |