Juan José Villaplana Querol
2009-Jul-01 09:13 UTC
[Samba] Troubles with dfs-linked root shares
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...".@. ^....... [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...