From 4d6b1b6836af6b8e46d03b2f0357a2d171a9c0cb Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 23 Sep 2003 21:24:11 +0000 Subject: regenerate (This used to be commit bdee29ef5b45210c4d6477e5e764a8a298bebaa7) --- docs/htmldocs/msdfs.html | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 docs/htmldocs/msdfs.html (limited to 'docs/htmldocs/msdfs.html') diff --git a/docs/htmldocs/msdfs.html b/docs/htmldocs/msdfs.html new file mode 100644 index 0000000000..139bfff550 --- /dev/null +++ b/docs/htmldocs/msdfs.html @@ -0,0 +1,88 @@ +Chapter 17. Hosting a Microsoft Distributed File System tree on Samba

Chapter 17. Hosting a Microsoft Distributed File System tree on Samba

Shirish Kalele

Samba Team & Veritas Software

John H. Terpstra

Samba Team

12 Jul 2000

Features and Benefits

+ 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. +

+ To enable SMB-based DFS for Samba, configure it with the --with-msdfs + option. Once built, 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. + 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
+

+

+

Example 17.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.

Common Errors

  • Windows clients need to be rebooted + if a previously mounted non-DFS share is made a DFS + root or vice versa. A better way is to introduce a + new share and make it the DFS root.

  • Currently, there's a restriction that msdfs + symlink names should all be lowercase.

  • For security purposes, the directory + acting as the root of the DFS tree should have ownership + and permissions set so only designated users can + modify the symbolic links in the directory.

MSDFS UNIX Path Is Case-Critical

+ A network administrator sent advice to the Samba mailing list + after a long sessions trying to determine why DFS was not working. + His advice is worth noting. +

+ I spent some time trying to figure out why my particular + dfs root wasn't working. I noted in the documenation that + the symlink should be in all lowercase. It should be + amended that the entire path to the symlink should all be + in lowercase as well. +

+ For example, I had a share defined as such: + +

+		[pub]
+			path = /export/home/Shares/public_share
+			msdfs root = yes
+		

+ + and I could not make my Windows 9x/Me (with the dfs client installed) + follow this symlink: + +

+			damage1 -> msdfs:damage\test-share
+		

+

+ Running a debug level of 10 reveals: + +

+		[2003/08/20 11:40:33, 5] msdfs/msdfs.c:is_msdfs_link(176)
+		  is_msdfs_link: /export/home/shares/public_share/* does not exist.
+		

+ + Curious. So I changed the directory name from .../Shares/... to + .../shares/... (along with my service definition) and it worked! +

-- cgit