具有 ACID 保證的 Linux 檔案系統?

具有 ACID 保證的 Linux 檔案系統?

我該怎麼做才能獲得一個 Linux 檔案系統,並具有與資料庫的 ACID 保證相同的保證?

看來文件系統還沒有發展到我認為現在已經成為所有行業標準的程度。
至少我找不到任何相關的搜尋結果。

我能找到的最好的就是他們設法保持他們的結構性的數據完好無損。但不是實際的文件內容。 (雖然我對ZFS了解不夠,更不用說Lustre了。)

我這樣做是錯的嗎?檔案系統是不是層數不對? (也許塊層是正確的?)

我並不完全想透過 FUSE 在 PostgreSQL 之上運行 ext4,或者像其他一些不可能的洛夫克拉夫特式的令人厭惡的東西。 ;)

編輯:作為管理員,我計劃設置一個高可靠性的業務伺服器(用於文件,不是資料庫)與它。顯然,在這種情況下,企業希望其伺服器上有一個具有 ACID 保證的檔案系統。我想不出還有哪個 StackExchange 網站比 serverfault 更適合此操作。

答案1

我很確定你的做法是錯的,除非你有非常特別的要求。一些學術工作已經圍繞著 ACID 文件系統完成(參見這張紙),包括 Amino FS(使用 Berkeley DB 作為儲存),但:

日誌檔案系統是事務性的,因此至少包括有點包括原子性;隔離在 FS 層級並不是真正的問題,因為檔案鎖(通常)由核心(Windows)或應用程式程式碼(類似 Unix,請參閱討論)強制執行這裡了解一些細節);耐用性和一致性是目標任何檔案系統都具有這種特性,儘管所有檔案系統都有一些權衡(不過,ZFS 恰好強烈強調資料完整性,即使存在硬體問題)。

我自己從未寫過 FS,因此本段的部分內容是推測。您的方法的更大問題是,完全 ACID 通常是在 DBMS 或應用程式層級處理的,我懷疑這是有充分理由的,因為在 FS 層級提供文件上的順序事務的完全隔離是非常低效的。在第一個連結的論文中,他們的基準測試表明,與 ext3 相比,他們的原型 FS 明顯更慢,幾乎每個操作的開銷都更高。

相關內容