<div><br></div>I was under the impression that the namespace volume is not needed with 2.0 replication.<div><br></div><div>liam<br><br><div class="gmail_quote">On Tue, May 12, 2009 at 12:54 PM, Alexey Filin <span dir="ltr">&lt;<a href="mailto:alexey.filin@gmail.com">alexey.filin@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi,<br><br>I&#39;m not sure but where is namespace volume in spec-files?<br><br><a href="http://gluster.org/docs/index.php/User_Guide#Namespace" target="_blank">http://gluster.org/docs/index.php/User_Guide#Namespace</a><br>
<br><p>&quot;Namespace volume needed because:
</p>
<pre>- persistent inode numbers.<br>- file exists even when node is down.&quot;<br></pre>cheers,<br><font color="#888888"><br>Alexey.</font><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Tue, May 12, 2009 at 3:29 AM, Liam Slusser <span dir="ltr">&lt;<a href="mailto:lslusser@gmail.com" target="_blank">lslusser@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><br></div><div>Even with manually fixing (adding or removing) the extended attributes i was never able to get Gluster to see the missing files.  So i ended up writing a quick program that searched the raw bricks filesystem and then checked to make sure the file existed in the Gluster cluster and if it didn&#39;t it would tag the file.  Once that job was done i shut down Gluster, moved all the missing files off the raw bricks into temp storage, and then i restarted Gluster and copied all the files back into each directory.  That fixed the missing file problems.</div>


<div><br></div><div>Id still like to find out why Gluster would ignore certain files without the correct attributes.  Even removing all the file attributes wouldn&#39;t fix the problem.  I also tried manually coping a file into a brick which it still wouldn&#39;t find.  It would be nice to be able to manual copy files into a brick, then set an extended attribute flag which would cause gluster to see the new file(s) and copy them to all bricks after a ls -alR was done.  Or even better just do it automatically when new files without attributes are found in a brick.</div>


<div><br></div><div>thanks,</div><div>liam</div><br><br><div class="gmail_quote">On Wed, May 6, 2009 at 4:13 PM, Liam Slusser <span dir="ltr">&lt;<a href="mailto:lslusser@gmail.com" target="_blank">lslusser@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><br></div>To answer some of my own question, looks like those files were copied using gluster 1.3.12 which is why they have the different extended attributes:<div>


<br></div><div>gluster 1.3.12</div><div><div><br></div>
<div>Attribute &quot;glusterfs.createtime&quot; has a 10 byte value for file</div><div>Attribute &quot;glusterfs.version&quot; has a 1 byte value for file</div><div>Attribute &quot;glusterfs.dht&quot; has a 16 byte value for file</div>



<div><br></div><div>while gluster 2.0.0 has</div><div><div><br></div><div>Attribute &quot;afr.brick2b&quot; has a 12 byte value for file</div><div>Attribute &quot;afr.brick1b&quot; has a 12 byte value for file</div><div>


<br>
</div><div>I&#39;ve been unsuccessful on fixing the attributes, can anybody point me in the right direction?</div><div><br></div><div>thanks,</div><div>liam</div></div></div><div><div></div><div><div><div><br>
<div class="gmail_quote">On Wed, May 6, 2009 at 12:48 PM, Liam Slusser <span dir="ltr">&lt;<a href="mailto:lslusser@gmail.com" target="_blank">lslusser@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"> Big thanks to the devel group for fixing all the memory leak issues with the earlier RC releases.  2.0.0 has been great so far without any memory issues what-so-ever.<div>



<br></div><div>I am seeing some oddities with the replication/distribute translators however.  I have three partitions on each gluster server exporting three bricks - We have two servers.  The gluster clients replicates each brick between the two servers and then i have a distribute translator for all the replicated bricks - basically gluster raid10.</div>




<div><br></div><div>There are a handful of files which have been copied into the gluster volume but since have disappeared, however the physical files exist on both bricks.</div><div><br></div><div>(from a client)</div><div>




<br></div><div><div><div>[root@client1 049891002526]# pwd</div><div>/intstore/data/tracks/tmg/2008_02_05/049891002526</div><div>[root@client1 049891002526]# ls -al 049891002526_01_09.wma.sigKey01.k</div><div>ls: 049891002526_01_09.wma.sigKey01.k: No such file or directory</div>




<div><div>[root@client1 049891002526]# head 049891002526_01_09.wma.sigKey01.k</div><div>head: cannot open `049891002526_01_09.wma.sigKey01.k&#39; for reading: No such file or directory</div><div>[root@client1 049891002526]#</div>




<div><br></div></div><div><br></div><div>(from a server brick)</div><div><div><br></div><div>[root@server1 049891002526]# pwd</div><div>/intstore/intstore01c/gcdata/data/tracks/tmg/2008_02_05/049891002526</div><div>[root@server1 049891002526]# ls -al 049891002526_01_09.wma.sigKey01.k</div>




<div>-rw-rw-rw- 1 10015 root 19377712 Feb  6  2008 049891002526_01_09.wma.sigKey01.k</div><div>[root@server1 049891002526]# attr -l 049891002526_01_09.wma.sigKey01.k</div><div>Attribute &quot;glusterfs.createtime&quot; has a 10 byte value for 049891002526_01_09.wma.sigKey01.k</div>




<div>Attribute &quot;glusterfs.version&quot; has a 1 byte value for 049891002526_01_09.wma.sigKey01.k</div><div>Attribute &quot;selinux&quot; has a 24 byte value for 049891002526_01_09.wma.sigKey01.k</div><div><div>[root@server1 049891002526]# attr -l .</div>




<div>Attribute &quot;glusterfs.createtime&quot; has a 10 byte value for .</div><div>Attribute &quot;glusterfs.version&quot; has a 1 byte value for .</div><div>Attribute &quot;glusterfs.dht&quot; has a 16 byte value for .</div>




<div>Attribute &quot;selinux&quot; has a 24 byte value for .</div><div><br></div></div><div><br></div><div>Nothing in both the client and server logs.  I&#39;ve tried all the normal replication checks and self-heal such as ls -alR.  If i copy the file back from one of the bricks into the volume it will show up again however it has a 1/3 chance of getting written to the files original location.  So then i end up with two identical files on two different bricks.</div>




<div><br></div><div>This volume has over 40 million files and directories so it can be very tedious to find <span style="border-collapse:collapse;font-family:Arial;white-space:pre">anomalies.  I wrote a quick perl script to search 1/25 of our total files in the volume for missing files and md5 checksum differences and as of now its about 15% (138,500 files) complete and has found ~7000 missing files and 0 md5 checksum differences.</span></div>




<div><br></div><div>How could i debug this?  I&#39;d image it has something to do with the extended attributes on either the file or parent directory...but as far as i can tell that all looks fine.</div><div><br></div><div>




thanks,</div><div>liam</div><div><br></div><div>client glusterfs.vol:</div><div><br></div><div><div>volume brick1a</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server1</div>




<div>  option remote-subvolume brick1a</div><div>end-volume</div><div><br></div><div>volume brick1b</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server1</div><div>



  option remote-subvolume brick1b</div>
<div>end-volume</div><div><br></div><div>volume brick1c</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server1</div><div>  option remote-subvolume brick1c</div><div>



end-volume</div>
<div><br></div><div>volume brick2a</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server2</div><div>  option remote-subvolume brick2a</div><div>end-volume</div><div>



<br>
</div><div>volume brick2b</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server2</div><div>  option remote-subvolume brick2b</div><div>end-volume</div><div><br></div>




</div><div><div>volume brick2c</div><div>  type protocol/client</div><div>  option transport-type tcp</div><div>  option remote-host server2</div><div>  option remote-subvolume brick2c</div><div>end-volume</div><div><br>



</div>
<div>volume bricks1</div><div>  type cluster/replicate</div><div>  subvolumes brick1a brick2a</div><div>end-volume</div><div><br></div><div>volume bricks2</div><div>  type cluster/replicate</div><div>  subvolumes brick1b brick2b</div>




<div>end-volume</div><div><br></div><div>volume bricks3</div><div>  type cluster/replicate</div><div>  subvolumes brick1c brick2c</div><div>end-volume</div><div><br></div><div>volume distribute</div><div>  type cluster/distribute</div>




<div>  subvolumes bricks1 bricks2 bricks3</div><div>end-volume</div><div><br></div><div>volume writebehind</div><div>  type performance/write-behind</div><div>  option block-size 1MB</div><div>  option cache-size 64MB</div>




<div>  option flush-behind on</div><div>  subvolumes distribute</div><div>end-volume</div><div><br></div><div><div>volume cache</div><div>  type performance/io-cache</div><div>  option cache-size 2048MB</div><div>  subvolumes writebehind</div>




<div>end-volume</div><div><br></div></div></div><div>server glusterfsd.vol:</div><div><br></div><div><div>volume intstore01a</div><div>  type storage/posix</div><div>  option directory /intstore/intstore01a/gcdata</div><div>




end-volume</div><div><br></div><div>volume intstore01b</div><div>  type storage/posix</div><div>  option directory /intstore/intstore01b/gcdata</div><div>end-volume</div><div><br></div><div>volume intstore01c</div><div>  type storage/posix</div>




<div>  option directory /intstore/intstore01c/gcdata</div><div>end-volume</div><div><br></div><div>volume locksa</div><div>  type features/posix-locks</div><div>  option mandatory-locks on</div><div>  subvolumes intstore01a</div>




<div>end-volume</div><div><br></div><div>volume locksb</div><div>  type features/posix-locks</div><div>  option mandatory-locks on</div><div>  subvolumes intstore01b</div><div>end-volume</div><div><br></div><div><div>volume locksc</div>




<div>  type features/posix-locks</div><div>  option mandatory-locks on</div><div>  subvolumes intstore01c</div><div>end-volume</div><div><br></div><div>volume brick1a</div><div>  type performance/io-threads</div><div>  option thread-count 32</div>




<div>  subvolumes locksa</div><div>end-volume</div><div><br></div><div>volume brick1b</div><div>  type performance/io-threads</div><div>  option thread-count 32</div><div>  subvolumes locksb</div><div>end-volume</div><div>




<br></div><div>volume brick1c</div><div>  type performance/io-threads</div><div>  option thread-count 32</div><div>  subvolumes locksc</div><div>end-volume</div><div><br></div><div><div>volume server</div><div>  type protocol/server</div>




<div>  option transport-type tcp</div><div>  option auth.addr.brick1a.allow 192.168.12.*</div><div>  option auth.addr.brick1b.allow 192.168.12.*</div><div>  option auth.addr.brick1c.allow 192.168.12.*</div><div>  subvolumes brick1a brick1b brick1c</div>




<div>end-volume</div><div><br></div></div></div></div><div><br></div></div></div></div><div><div class="gmail_quote">On Wed, Apr 22, 2009 at 5:43 PM, Liam Slusser <span dir="ltr">&lt;<a href="mailto:lslusser@gmail.com" target="_blank">lslusser@gmail.com</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex"><div><br></div>Avati,<div><br></div><div>Big thanks.  Looks like that did the trick.  I&#39;ll report back in the morning if anything has changed but its looking MUCH better.  Thanks again!</div>




<div><br></div><div><font color="#888888">liam</font><div><div></div><div><div>
<div><br><div class="gmail_quote">On Wed, Apr 22, 2009 at 2:32 PM, Anand Avati <span dir="ltr">&lt;<a href="mailto:avati@gluster.com" target="_blank">avati@gluster.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">





Liam,<br>
  An fd leak and a lock structure leak has been fixed in the git<br>
repository, which explains a leak in the first subvolume&#39;s server.<br>
Please pull the latest patches and let us know if it does not fixe<br>
your issues. Thanks!<br>
<font color="#888888"><br>
Avati<br>
</font><div><div></div><div><br>
On Tue, Apr 21, 2009 at 3:41 PM, Liam Slusser &lt;<a href="mailto:lslusser@gmail.com" target="_blank">lslusser@gmail.com</a>&gt; wrote:<br>
&gt; There is still a memory leak with rc8 on my setup.  The first server in a<br>
&gt; cluster or two servers starts out using 18M and just slowly increases.<br>
&gt;  After 30mins it has doubled in size to over 30M and just keeps growing -<br>
&gt; the more memory it uses the worst the performance.  Funny that the second<br>
&gt; server in my cluster using the same configuration file has no such memory<br>
&gt; problem.<br>
&gt; My glusterfsd.vol has no performance translators, just 3 storage/posix -&gt; 3<br>
&gt; features/posix-locks -&gt; protocol/server.<br>
&gt; thanks,<br>
&gt; liam<br>
&gt; On Mon, Apr 20, 2009 at 2:01 PM, Gordan Bobic &lt;<a href="mailto:gordan@bobich.net" target="_blank">gordan@bobich.net</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Gordan Bobic wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; First-access failing bug still seems to be present.<br>
&gt;&gt;&gt; But other than that, it seems to be distinctly better than rc4. :)<br>
&gt;&gt;&gt; Good work! :)<br>
&gt;&gt;<br>
&gt;&gt; And that massive memory leak is gone, too! The process hasn&#39;t grown by a<br>
&gt;&gt; KB after a kernel compile! :D<br>
&gt;&gt;<br>
&gt;&gt; s/Good work/Awesome work/<br>
&gt;&gt;<br>
&gt;&gt; :)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Gordan<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Gluster-devel mailing list<br>
&gt;&gt; <a href="mailto:Gluster-devel@nongnu.org" target="_blank">Gluster-devel@nongnu.org</a><br>
&gt;&gt; <a href="http://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">http://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Gluster-devel mailing list<br>
&gt; <a href="mailto:Gluster-devel@nongnu.org" target="_blank">Gluster-devel@nongnu.org</a><br>
&gt; <a href="http://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">http://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>
</blockquote></div><br></div></div>
</div></div></blockquote></div><br>
<br>_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org" target="_blank">Gluster-devel@nongnu.org</a><br>
<a href="http://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">http://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
<br></blockquote></div><br>
</div></div></blockquote></div><br></div>