分布式文件系統(tǒng)OpenAFS簡介
OpenAFS是一套開放源代碼的分布式文件系統(tǒng),允許系統(tǒng)之間通過局域和廣域網(wǎng)來分享檔案和資源。
OpenAFS 是圍繞一組叫做 cell 的文件服務(wù)器組織的。每個服務(wù)器的標(biāo)識通常是隱藏在文件系統(tǒng)中的。從 AFS 客戶機登錄的用戶將分辨不出他們在哪個服務(wù)器上運行,因為從用戶的觀點來看,他們想在有可識別的 UNIX 文件系統(tǒng)語義的單個系統(tǒng)上運行。文件系統(tǒng)內(nèi)容通常都是跨 cell 復(fù)制,以便一個硬盤的失效不會損害 OpenAFS 客戶機上的運行。OpenAFS 需要高達(dá) 1 GB 的大容量客戶機緩存,以允許訪問經(jīng)常使用的文件。它還是一個十分安全的基于 Kerbero 的系統(tǒng),它使用訪問控制列表 (ACL) 以便可以進(jìn)行細(xì)粒度的訪問,這不是基于通常的 Linux 和 UNIX 安全模型。
緩存管理器碰巧是 OpenAFS 的一部分,很奇怪,它只作為底層文件系統(tǒng)與 ext2 一起運行。除緩存管理器之外,OpenAFS 表層的基本結(jié)構(gòu)很像現(xiàn)代的 NFS 實現(xiàn)。但是,基本架構(gòu)卻一點都不像,而且必須慎重看待它的任何并行。對那些仍喜歡使用 NFS,但是又想利用 OpenAFS 程序的人來說,可以使用所謂的 NFS/AFS 翻譯器。只要 OpenAFS 客戶機被配置為 NFS 服務(wù)器機器,您就應(yīng)該能夠享受這兩種文件系統(tǒng)的優(yōu)點。
NFS 是位置無關(guān)的,它把本地目錄映射到遠(yuǎn)程文件系統(tǒng)位置。OpenAFS 對用戶隱藏了文件位置。因為可能所有的源文件都以讀寫副本的形式保存在復(fù)制到的不同文件服務(wù)器位置上,必須保持復(fù)制的副本同步。為此要使用一項稱作Ubik 的技術(shù),它源于單詞“ubiquitous(無所不在)”,是東歐拼寫法。Ubik 過程使 AFS 文件系統(tǒng)上的文件、目錄和卷 (volume) 保持同步,但是通常運行三個以上文件服務(wù)器進(jìn)程的系統(tǒng)獲益最多。系統(tǒng)管理人員可以將一個 AFS 站點的幾個 AFS cell 分組 —— 這個以前的縮寫詞 AFS 已經(jīng)被保留在 OpenAFS 文件系統(tǒng)的語義中了。管理人員將決定 AFS cell 的數(shù)目,以及 cell 使存儲器和文件對站點內(nèi)的其他 AFS cell 可用的程度。