使用分布式文件系統(DFS)可以把用戶查看的文件、目錄的邏輯視圖與相應網絡資源的物理位置隔離。它具有更高的可靠性、更透明的存儲擴展性以及負載均衡等特點。有關DFS的詳細資料可以在微軟文檔中找到。
本文描述了如何使用Samba在UNIX主機中實現分布式文件系統樹(用支持DFS的客戶端進行連接)。
要打開DFS功能,可以用--with-msdfs選項對Samba進行配置,當編譯完成,可以在smb.conf文件中設置全局選項 host msdfs使Samba成為DFS服務器。然再使用共享選項msdfs root指定一個共享項作為DFS根目錄,這個目錄用符號鏈接的形式來連接其它服務器。例如,在根共享目錄中有一個符號鏈接junction->msdfs:storage1\share1,它表示一個DFS結點。當支持DFS的客戶端訪問這樣的結點鏈接時,就會被重定向到實際的存儲位置(在此例中為\\storage1\share1)。
Samba的DFS系統可以同所有支持DFS的客戶端(從Windows 95到2000)一起工作。
以下舉例說明如何把Samba設置為DFS服務器。先建立如下這樣的smb.conf文件
[global]
netbios name = Samba
host msdfs = yes
[dfs]
path = /export/dfsroot
msdfs root = yes
在/export/dfsroot目錄中,我們設置一些指到其它網絡服務器的DFS鏈接。
root# cd /export/dfsroot
root# chown root /export/dfsroot
root# chmod 755 /export/dfsroot
root# ln -s msdfs:storageA\\shareA linka
root# ln -s msdfs:serverB\\share,serverC\\share linkb
(DFS符號鏈接名必須全部使用小寫字母 ?? 我再試試)
你應該為DFS根目錄設置一定的權限,這樣,只有指定的用戶才能建立、刪除或修改DFS鏈接。另外還要注意,符號鏈接名應該全部用小寫。通過這樣的限制,Samba就不會對鏈接名嘗試所有的大小寫組合形式。最,設置符號鏈接使其指向需要的網絡共享,然重啟Samba。
在支持DFS的客戶端,用戶可以通過\\samba\dfs來瀏覽服務器上的DFS樹。當訪問linka或linkb(客戶端顯示的目錄)時,就會立即轉到相應的網絡共享之上。