叢集檔案系統是某個節點上的核心程式和基礎檔案系統,以及在擁有實體連接到磁碟之節點上的容體管理者間的代理。
叢集檔案系統是相依於與一或多個節點實體連線的整體裝置 (磁碟、磁帶 CD-ROM)。整體裝置可以從叢集中的任何節點,透過相同的檔名來存取 (例如,/dev/global/),而不管該節點是否實體連接儲存裝置。您可以像使用一般裝置一樣地使用整體裝置,亦即,您可以使用 newfs 及/或 mkfs 來建立檔案系統。
您可藉由 mount -g 或以 mount 做本機裝載。
應用程式可藉由相同檔名 (例如,/global/foo),從叢集的任意節點存取叢集檔案系統上的檔案。
叢集檔案系統會裝載於所有叢集成員上。您不能將叢集檔案系統裝載於叢集成員的子集上。
叢集檔案系統並非不同的檔案系統類型。亦即,用戶端可以看見基礎檔案系統 (例如,UFS)。
在 SunPlex 系統中,所有的多主機磁碟均配置為磁碟裝置群組,可以是 Solstice DiskSuite 磁碟組、VxVM 磁碟群組,或是不受軟體式容體管理者控制的個別磁碟。
要使叢集檔案系統為高度可用,基礎的磁碟儲存體必須連結一個以上的節點。因此,納入叢集檔案系統中的本機檔案系統 (儲存在節點本機磁碟上的檔案系統) 就不是高度可用了。
至於一般檔案系統,您可以用兩種方式裝載叢集檔案系統:
手動方式-使用 mount 指令以及 -g 或 -o global 裝載選項,從指令行裝載叢集檔案系統,例如:
# mount -g /dev/global/dsk/d0s0 /global/oracle/data |
自動方式-在具有 global 裝載選項的 /etc/vfstab 檔案中建立項目,以便於啟動時裝載叢集檔案系統。然後在所有節點的 /global 目錄下建立裝載點。/global 目錄是建議位置,不是基本要求。以下是來自 /etc/vfstab 檔案之叢集檔案系統的範例行:
/dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/data ufs 2 yes global,logging |
因為 Sun Cluster 軟體對於叢集檔案系統沒有強制的命名策略,您可以建立所有叢集檔案系統的裝載點在同一目錄下,例如 /global/disk-device-group,以簡化管理作業。請參閱 Sun Cluster 3.0 U1 安裝手冊 和 Sun Cluster 3.0 U1 系統管理手冊 以取得詳細資訊。
叢集檔案系統具備下述功能:
檔案存取位置是透明的。處理程序可以開啟位於系統任何位置的檔案,而且所有節點上的處理程序均可使用相同的路徑名稱來尋找檔案。
使用一致的通訊協定來保持 UNIX 檔案存取語意,即使檔案是從多個節點並行地被存取。
廣泛的快取是與 zero-copy bulk I/O 移動一起使用,使檔案資料的移動更有效率。
叢集檔案系統藉由使用 fcntl(2) 介面來提供高度可用的建議檔鎖定功能。藉由使用叢集檔案系統檔案上的建議檔鎖定功能,在多重叢集節點上執行的應用程式便得以同步化資料的存取。檔案鎖可立即由離開叢集的節點,以及維持鎖定時故障的應用程式加以回復。
即使發生故障時,仍可確保資料的持續存取。只要磁碟的路徑仍然是作業中,應用程式不會受到故障的影響。這項保證適用於原始磁碟存取和所有的檔案系統作業。
叢集檔案系統與基礎檔案系統及容體管理軟體無關。叢集檔案系統使得任何在 - 磁碟檔案系統上所支援的都是全域的。
syncdir 裝載選項可用於將 UFS 作為基礎檔案系統的叢集檔案系統。然而,如果您不指定 syncdir,效能就會明顯改善。如果您指定 syncdir,此項寫入便保證相容於 POSIX。如果沒有指定,您所看到的功能,將會與 UFS 檔案系統相同。例如,在某些情況下,沒有 syncdir,一直到關閉檔案,您才會發覺出現空間不足的狀況。利用 syncdir (和 POSIX 行為),便可在寫入作業期間察覺空間不足的狀況。由於您未指定 syncdir 就會有問題的情況極少發生,因此我們建議您不要指定,並可享有效能上的利益。
請參閱 "檔案系統常問問題",以取得有關整體裝置和叢集檔案系統的常見問題。