<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div>I tried this but still get the same result (3 nodes ok, 4th node breaks it - doesn't matter which the 4th node is). "getfattr -d" returned nothing on the mount directory btw.<br><br>Config:<br>volume posix-d1<br>&nbsp;type storage/posix<br>&nbsp;option directory /mnt/chard1/export<br>end-volume<br><br>volume locks1<br>&nbsp; type features/locks<br>&nbsp; subvolumes posix-d1 <br>end-volume<br><br><br>volume posix-d2<br>&nbsp;type storage/posix<br>&nbsp;option directory /mnt/chard2/export<br>end-volume<br><br><br>volume locks2<br>&nbsp; type features/locks<br>&nbsp; subvolumes posix-d2 <br>end-volume<br><br><br>volume posix-d3<br>&nbsp;type storage/posix<br>&nbsp;option directory /mnt/chard3/export<br>end-volume<br><br>volume locks3<br>&nbsp; type features/locks<br>&nbsp; subvolumes posix-d3
 <br>end-volume<br><br><br>volume posix-d4<br>&nbsp;type storage/posix<br>&nbsp;option directory /mnt/chard4/export<br>end-volume<br><br>volume locks4<br>&nbsp; type features/locks<br>&nbsp; subvolumes posix-d4 <br>end-volume<br><br>volume server<br>&nbsp;type protocol/server<br>&nbsp;option transport-type tcp<br>&nbsp;subvolumes locks1 locks2 locks3 locks4<br>&nbsp;option auth.addr.locks1.allow *<br>&nbsp;option auth.addr.locks2.allow *<br>&nbsp;option auth.addr.locks3.allow *<br>&nbsp;option auth.addr.locks4.allow *<br>end-volume<br><br>volume chard1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host char<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks1<br>end-volume<br><br>volume chard2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type
 tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host char<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks2<br>end-volume<br><br>volume chard3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host char<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks3<br>end-volume<br><br>volume chard4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host char<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks4<br>end-volume<br><br><br>volume zweid1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host zwei<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume
 locks1<br>end-volume<br><br>volume zweid2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host zwei<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks2<br>end-volume<br><br>volume zweid3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host zwei<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks3<br>end-volume<br><br>volume zweid4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host zwei<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks4<br>end-volume<br><br>volume tresd1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option
 transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host tres<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks1<br>end-volume<br><br>volume tresd2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host tres<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks2<br>end-volume<br><br>volume tresd3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host tres<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks3<br>end-volume<br><br>volume tresd4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host tres<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume
 locks4<br>end-volume<br><br><br>volume pented1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host pente<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks1<br>end-volume<br><br>volume pented2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host pente<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks2<br>end-volume<br><br>volume pented3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host pente<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks3<br>end-volume<br><br>volume pented4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type protocol/client<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option
 transport-type tcp<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-host pente<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option remote-subvolume locks4<br>end-volume<br><br>volume dist1<br>&nbsp;&nbsp;&nbsp; type cluster/distribute<br>&nbsp;&nbsp;&nbsp; subvolumes pented1 pented2 pented3 pented4 chard1 chard2 chard3 chard4 tresd1 tresd2 tresd3 tresd4 zweid1 zweid2 zweid3 zweid4<br>end-volume<br><br><br><br><br><br><br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Krishna Srinivas &lt;krishna@zresearch.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> Craig Flockhart &lt;craigflockhart@yahoo.com&gt;<br><b><span style="font-weight: bold;">Cc:</span></b> Amar Tumballi (bulde) &lt;amar@gluster.com&gt;; gluster-users@gluster.org<br><b><span
 style="font-weight: bold;">Sent:</span></b> Saturday, February 7, 2009 3:14:54 AM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Gluster-users] starting 4th node in 4 node dht cluster fails<br></font><br>
Craig,<br>Delete the backend directories (or remove trusted.glusterfs.dht xattr<br>on them and empty the backend directories) and are create them and<br>then start DHT and see if it works fine.<br>Krishna<br><br>On Sat, Feb 7, 2009 at 4:41 AM, Craig Flockhart<br>&lt;<a ymailto="mailto:craigflockhart@yahoo.com" href="mailto:craigflockhart@yahoo.com">craigflockhart@yahoo.com</a>&gt; wrote:<br>&gt; Hi Amar,<br>&gt; Thanks for the quick reply, but that doesn't work either. I just get more<br>&gt; holes and overlaps:<br>&gt;<br>&gt; 2009-02-06 15:04:04 E [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt; anomalies in /. holes=3 overlaps=9<br>&gt; 2009-02-06 15:04:04 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt; assignment on /<br>&gt; 2009-02-06 15:04:04 E [dht-selfheal.c:422:dht_selfheal_directory] dist1: the<br>&gt; directory is not a virgin<br>&gt; 2009-02-06 15:04:04 W [fuse-bridge.c:297:need_fresh_lookup] fuse-bridge:<br>&gt;
 revalidate of / failed (Structure needs cleaning)<br>&gt; 2009-02-06 15:04:04 E [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt; anomalies in /. holes=3 overlaps=9<br>&gt; 2009-02-06 15:04:04 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt; assignment on /<br>&gt; 2009-02-06 15:04:04 E [dht-selfheal.c:422:dht_selfheal_directory] dist1: the<br>&gt; directory is not a virgin<br>&gt; 2009-02-06 15:04:04 E [fuse-bridge.c:404:fuse_entry_cbk] glusterfs-fuse: 2:<br>&gt; LOOKUP() / =&gt; -1 (Structure needs cleaning)<br>&gt; 2009-02-06 15:04:04 E [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt; anomalies in /. holes=3 overlaps=9<br>&gt; 2009-02-06 15:04:04 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt; assignment on /<br>&gt; 2009-02-06 15:04:04 E [dht-selfheal.c:422:dht_selfheal_directory] dist1: the<br>&gt; directory is not a virgin<br>&gt; 2009-02-06 15:04:04 W [fuse-bridge.c:297:need_fresh_lookup]
 fuse-bridge:<br>&gt; revalidate of / failed (Structure needs cleaning)<br>&gt; 2009-02-06 15:04:04 E [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt; anomalies in /. holes=3 overlaps=9<br>&gt; 2009-02-06 15:04:04 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt; assignment on /<br>&gt; 2009-02-06 15:04:04 E [dht-selfheal.c:422:dht_selfheal_directory] dist1: the<br>&gt; directory is not a virgin<br>&gt; 2009-02-06 15:04:04 E [fuse-bridge.c:404:fuse_entry_cbk] glusterfs-fuse: 3:<br>&gt; LOOKUP() / =&gt; -1 (Structure needs cleaning)<br>&gt; ________________________________<br>&gt; From: Amar Tumballi (bulde) &lt;<a ymailto="mailto:amar@gluster.com" href="mailto:amar@gluster.com">amar@gluster.com</a>&gt;<br>&gt; To: Craig Flockhart &lt;<a ymailto="mailto:craigflockhart@yahoo.com" href="mailto:craigflockhart@yahoo.com">craigflockhart@yahoo.com</a>&gt;<br>&gt; Cc: <a ymailto="mailto:gluster-users@gluster.org"
 href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>&gt; Sent: Friday, February 6, 2009 2:37:08 PM<br>&gt; Subject: Re: [Gluster-users] starting 4th node in 4 node dht cluster fails<br>&gt;<br>&gt; Hi Craig,<br>&gt;&nbsp; As you are using 'distribute' (client side) over 'distribute' (server<br>&gt; side), this will not be working right now. To get it working right now, you<br>&gt; can have 4 export volumes from each server exported, and in client have 4x4<br>&gt; client protocol volumes, which you can aggregate with a single<br>&gt; 'cluster/distribute' (which will have 16 subvolumes).<br>&gt;<br>&gt; To get the below mentioned configuration working as is, you need to wait for<br>&gt; a week more IMO.<br>&gt;<br>&gt; Regards,<br>&gt; Amar<br>&gt;<br>&gt; 2009/2/6 Craig Flockhart &lt;<a ymailto="mailto:craigflockhart@yahoo.com" href="mailto:craigflockhart@yahoo.com">craigflockhart@yahoo.com</a>&gt;<br>&gt;&gt;<br>&gt;&gt; Using dht
 translator to cluster together 4 nodes each with 4 disks.<br>&gt;&gt; Starting glusterfs on the 4th causes "Structure needs cleaning" when<br>&gt;&gt; ls-ing the mount point on any of them. It's fine with 3 nodes started.<br>&gt;&gt; Using fuse-2.7.4<br>&gt;&gt; GlusterFS 2.0.0rc1<br>&gt;&gt; Linux 2.6.18-53.el5 kernel<br>&gt;&gt;<br>&gt;&gt; Errors from the log:<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; 2009-02-06 15:23:51 E [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt;&gt; anomalies in /. holes=1 overlaps=3<br>&gt;&gt; 2009-02-06 15:23:51 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt;&gt; assignment on /<br>&gt;&gt; 2009-02-06 15:23:51 E [dht-selfheal.c:422:dht_selfheal_directory] dist1:<br>&gt;&gt; the directory is not a virgin<br>&gt;&gt; 2009-02-06 15:23:51 W [fuse-bridge.c:297:need_fresh_lookup] fuse-bridge:<br>&gt;&gt; revalidate of / failed (Structure needs cleaning)<br>&gt;&gt; 2009-02-06 15:23:51 E
 [dht-layout.c:460:dht_layout_normalize] dist1: found<br>&gt;&gt; anomalies in /. holes=1 overlaps=3<br>&gt;&gt; 2009-02-06 15:23:51 W [dht-common.c:137:dht_lookup_dir_cbk] dist1: fixing<br>&gt;&gt; assignment on /<br>&gt;&gt; 2009-02-06 15:23:51 E [dht-selfheal.c:422:dht_selfheal_directory] dist1:<br>&gt;&gt; the directory is not a virgin<br>&gt;&gt; 2009-02-06 15:23:51 E [fuse-bridge.c:404:fuse_entry_cbk] glusterfs-fuse:<br>&gt;&gt; 2: LOOKUP() / =&gt; -1 (Structure needs cleaning)<br>&gt;&gt;<br>&gt;&gt; Config for one of the machines:<br>&gt;&gt;<br>&gt;&gt; volume posix-d1<br>&gt;&gt;&nbsp; type storage/posix<br>&gt;&gt;&nbsp; option directory /mnt/chard1/export<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume locks1<br>&gt;&gt;&nbsp;  type features/locks<br>&gt;&gt;&nbsp;  subvolumes posix-d1<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; volume posix-d2<br>&gt;&gt;&nbsp; type storage/posix<br>&gt;&gt;&nbsp; option directory
 /mnt/chard2/export<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; volume locks2<br>&gt;&gt;&nbsp;  type features/locks<br>&gt;&gt;&nbsp;  subvolumes posix-d2<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; volume posix-d3<br>&gt;&gt;&nbsp; type storage/posix<br>&gt;&gt;&nbsp; option directory /mnt/chard3/export<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume locks3<br>&gt;&gt;&nbsp;  type features/locks<br>&gt;&gt;&nbsp;  subvolumes posix-d3<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; volume posix-d4<br>&gt;&gt;&nbsp; type storage/posix<br>&gt;&gt;&nbsp; option directory /mnt/chard4/export<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume locks4<br>&gt;&gt;&nbsp;  type features/locks<br>&gt;&gt;&nbsp;  subvolumes posix-d4<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume home-ns<br>&gt;&gt;&nbsp; type storage/posix<br>&gt;&gt;&nbsp; option directory /var/local/glusterfs/namespace1<br>&gt;&gt;
 end-volume<br>&gt;&gt;<br>&gt;&gt; volume home<br>&gt;&gt;&nbsp; type cluster/distribute<br>&gt;&gt;&nbsp; subvolumes locks1 locks2 locks3 locks4<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume server<br>&gt;&gt;&nbsp; type protocol/server<br>&gt;&gt;&nbsp; option transport-type tcp<br>&gt;&gt;&nbsp; subvolumes home<br>&gt;&gt;&nbsp; option auth.addr.home.allow *<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; volume zwei<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  type protocol/client<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option transport-type tcp<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-host zwei<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-subvolume home<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume char<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  type protocol/client<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option transport-type tcp<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-host char<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-subvolume
 home<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume pente<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  type protocol/client<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option transport-type tcp<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-host pente<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-subvolume home<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume tres<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  type protocol/client<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option transport-type tcp<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-host tres<br>&gt;&gt;&nbsp; &nbsp; &nbsp;  option remote-subvolume home<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt; volume dist1<br>&gt;&gt;&nbsp; &nbsp;  type cluster/distribute<br>&gt;&gt;&nbsp; &nbsp;  subvolumes pente char tres zwei<br>&gt;&gt; end-volume<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Gluster-users mailing list<br>&gt;&gt; <a
 ymailto="mailto:Gluster-users@gluster.org" href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>&gt;&gt; <a href="http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users" target="_blank">http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users</a><br>&gt;&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; Amar Tumballi<br>&gt; Gluster/GlusterFS Hacker<br>&gt; [bulde on #gluster/irc.gnu.org]<br>&gt; <a href="http://www.zresearch.com" target="_blank">http://www.zresearch.com</a> - Commoditizing Super Storage!<br>&gt;<br>&gt; _______________________________________________<br>&gt; Gluster-users mailing list<br>&gt; <a ymailto="mailto:Gluster-users@gluster.org" href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>&gt; <a href="http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users" target="_blank">http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users</a><br>&gt;<br>&gt;<br></div></div></div></body></html>