The distributed file system (DFS) provides a means of separating the logical
view of files and directories that users see from the actual physical locations
of these resources on the network. It allows for higher availability, smoother
storage expansion, load balancing, and so on.
For information about DFS, refer to the
Microsoft
documentation. This document explains how to host a DFS tree on a UNIX machine (for DFS-aware clients
to browse) using Samba.
A Samba server can be made a DFS server by setting the global Boolean
host msdfs
parameter in the smb.conf file. You designate a share as a DFS root using the share-level Boolean
msdfs root parameter. A DFS root directory on Samba hosts DFS links in the form of
symbolic links that point to other servers. For example, a symbolic link
junction->msdfs:storage1\share1 in the share directory acts as the DFS junction. When
DFS-aware clients attempt to access the junction link, they are redirected to the storage location (in this
case,
\\storage1\share1
).
DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x.
The following sample configuration shows how to setup a DFS tree on a Samba server.
In the /export/dfsroot directory, you set up your DFS links to
other servers on the network.
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
Example19.1.smb.conf with DFS Configured
|
[global]
|
netbios name = GANDALF
|
host msdfs = yes
|
|
[dfs]
|
path = /export/dfsroot
|
msdfs root = yes
|
You should set up the permissions and ownership of the directory acting as the DFS root so that only
designated users can create, delete, or modify the msdfs links. Also note that symlink names should be all
lowercase. This limitation exists to have Samba avoid trying all the case combinations to get at the link
name. Finally, set up the symbolic links to point to the network shares you want and start Samba.
Users on DFS-aware clients can now browse the DFS tree on the Samba server at
\\samba\dfs . Accessing links linka or linkb (which appear as directories to the client)
takes users directly to the appropriate shares on the network.
|