[Samba] Troubles with dfs-linked root shares
Juan José Villaplana Querol
villapla at si.uji.es
Wed Jul 1 08:27:04 GMT 2009
Hi,
Im trying to set up a samba cluster (using RHCS) to hold students'
Home directories according to the following schema:
\\disc\personal
|
+--------------------+----------------------+
| | |
| | |
v v v
\\disc01\target \\disc02\target ... \\discXY\target
The service "disc" will only hold dfs links and act as a load balancer
to the services "disc01" to "discXY" that will hold real user data.
The share "personal" on "disc" is configured as:
[personal]
path = /mnt/discdata000/personal/%U
msdfs root = true
and "target" share is configured on the remaining "discXY" services as:
[target]
path = /mnt/discdataXYZ/personal/%U
DFS links are created as follows (users will be evenly hashed among
"discXY" "target" shares):
$ ls -l /mnt/discdata000/personal/villapla
lrwxrwxrwx 1 root root 19 Jun 30 12:53 /mnt/discdata000/personal/villapla -> msdfs:disc01\target
But the samba server seems unable to handle such dfs root links (see
attached file "log-001.txt" for "disc" smbd logs):
$ smbclient -U villapla //disc/personal
Password:
Domain=[AUTH-SMB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
Avoiding the dfs root link by using this config for the "personal" share:
[personal]
path = /mnt/discdata000/personal
msdfs root = true
works fine (see attached file "log-002.txt" for "disc" smbd logs):
$ smbclient -U villapla //disc/personal/villapla
Password:
Domain=[AUTH-SMB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
smb: \>
Those services are running on RHEL 5.3 with samba-3.0.33-3.7.el5.
Also tried the latest samba RPM from sernet (samba3-3.3.6-39.el5) and
got the same results.
Should dfs links for root shares work?
Best regards,
Juanjo
--
Juan José Villaplana Querol/Servei d'Informàtica/Universitat Jaume I
Powered by Mutt [http://www.mutt.org/]
Dilbert: ... and starting today, all passwords must contain letters,
numbers, doodles, sign language and squirrel noises.
-------------- next part --------------
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
Initialising default vfs hooks
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(88)
parse_dfs_path: temp = |disc\personal| after trimming \'s
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(111)
parse_dfs_path: hostname: disc
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(154)
parse_dfs_path: servicename: personal
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(965)
max_referral_level :3
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(830)
setting up version3 referral
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(834)
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
[000] 5C 00 64 00 69 00 73 00 63 00 5C 00 70 00 65 00 \.d.i.s. c.\.p.e.
[010] 72 00 73 00 6F 00 6E 00 61 00 6C 00 00 00 r.s.o.n. a.l...
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(843)
referral 0 : \disc\personal
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(990)
DFS Referral pdata:
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
[000] 1C 00 01 00 03 00 00 00 03 00 22 00 01 00 00 00 ........ ..".....
[010] 58 02 00 00 22 00 40 00 5E 00 00 00 00 00 00 00 X...". at . ^.......
[020] 00 00 00 00 00 00 00 00 00 00 5C 00 64 00 69 00 ........ ..\.d.i.
[030] 73 00 63 00 5C 00 70 00 65 00 72 00 73 00 6F 00 s.c.\.p. e.r.s.o.
[040] 6E 00 61 00 6C 00 00 00 5C 00 64 00 69 00 73 00 n.a.l... \.d.i.s.
[050] 63 00 5C 00 70 00 65 00 72 00 73 00 6F 00 6E 00 c.\.p.e. r.s.o.n.
[060] 61 00 6C 00 00 00 5C 00 64 00 69 00 73 00 63 00 a.l...\. d.i.s.c.
[070] 5C 00 70 00 65 00 72 00 73 00 6F 00 6E 00 61 00 \.p.e.r. s.o.n.a.
[080] 6C 00 00 00 l...
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
Initialising default vfs hooks
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] smbd/service.c:make_connection_snum(1003)
'/mnt/discdata000/personal/villapla' does not exist or permission denied when connecting to [personal] Error was No such file or directory
-------------- next part --------------
[2009/07/01 10:09:04, 3, pid=23791, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
Initialising default vfs hooks
[2009/07/01 10:09:04, 3, pid=23791, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(88)
parse_dfs_path: temp = |disc\personal\villapla| after trimming \'s
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(111)
parse_dfs_path: hostname: disc
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(154)
parse_dfs_path: servicename: personal
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(183)
parse_dfs_path: rest of the path: villapla
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/vfs.c:vfs_init_default(95)
Initialising default vfs hooks
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/vfs.c:vfs_init_custom(128)
Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:dfs_path_lookup(394)
dfs_path_lookup: Conn path = /mnt/discdata000/personal reqpath = villapla
[2009/07/01 10:09:04, 5, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:is_msdfs_link(356)
is_msdfs_link: villapla -> msdfs:disc01\target
[2009/07/01 10:09:04, 6, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:dfs_path_lookup(425)
dfs_path_lookup: \disc\personal\villapla resolves to a valid dfs link msdfs:disc01\target.
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_msdfs_symlink(284)
parse_msdfs_symlink: count=1
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_msdfs_symlink(313)
parse_msdfs_symlink: Created alt path: \disc01\target
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(955)
setup_dfs_referral: Path \disc\personal\villapla to alternate path(s): \disc01\target.
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(965)
max_referral_level :3
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(830)
setting up version3 referral
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(834)
[2009/07/01 10:09:04, 0, pid=23791, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
[000] 5C 00 64 00 69 00 73 00 63 00 5C 00 70 00 65 00 \.d.i.s. c.\.p.e.
[010] 72 00 73 00 6F 00 6E 00 61 00 6C 00 5C 00 76 00 r.s.o.n. a.l.\.v.
[020] 69 00 6C 00 6C 00 61 00 70 00 6C 00 61 00 00 00 i.l.l.a. p.l.a...
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(843)
referral 0 : \disc01\target
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(990)
DFS Referral pdata:
[2009/07/01 10:09:04, 0, pid=23791, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
[000] 2E 00 01 00 02 00 00 00 03 00 22 00 00 00 00 00 ........ ..".....
[010] 58 02 00 00 22 00 52 00 82 00 00 00 00 00 00 00 X...".R. ........
[020] 00 00 00 00 00 00 00 00 00 00 5C 00 64 00 69 00 ........ ..\.d.i.
[030] 73 00 63 00 5C 00 70 00 65 00 72 00 73 00 6F 00 s.c.\.p. e.r.s.o.
[040] 6E 00 61 00 6C 00 5C 00 76 00 69 00 6C 00 6C 00 n.a.l.\. v.i.l.l.
[050] 61 00 70 00 6C 00 61 00 00 00 5C 00 64 00 69 00 a.p.l.a. ..\.d.i.
[060] 73 00 63 00 5C 00 70 00 65 00 72 00 73 00 6F 00 s.c.\.p. e.r.s.o.
[070] 6E 00 61 00 6C 00 5C 00 76 00 69 00 6C 00 6C 00 n.a.l.\. v.i.l.l.
[080] 61 00 70 00 6C 00 61 00 00 00 5C 00 64 00 69 00 a.p.l.a. ..\.d.i.
[090] 73 00 63 00 30 00 31 00 5C 00 74 00 61 00 72 00 s.c.0.1. \.t.a.r.
[0A0] 67 00 65 00 74 00 00 00 g.e.t...
More information about the samba
mailing list