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