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 和其他專案。

作者按字母順序排列

注意事項

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"。