<div dir="ltr"><div><div><div><div><div><div>Hi,<br><br>Thanks for the reply, I&#39;ll try and answer those questions:<br><br></div>The only increase in load comes from CPU usage. There is no noticeable increase in network traffic, memory usage doesn&#39;t change and dik usage doesn&#39;t increase noticeably.<br>
</div>The test involves creating random files which vary in size but are never more than 1MB. There&#39;s about 100 of them created. Increasing or decreasing this doesn&#39;t seem to have any effect on the self heal process.<br>
</div>I believe the ping timeout is set so low as when a file is written by a client it needs to be immediately accessible in both data centres by different clients. I&#39;ve re-tested using the default timeout value and when the test is running it hangs once the iptables rules are enforced. This means the the client isn&#39;t writing any files, which means other clients wouldn&#39;t be able to pick up the files that had just been written. It also means that as no data is written to the brick on either server, when forcing the self heal daemon to run there are no differences, so it doesn&#39;t do anything and so there&#39;s no CPU load increase.<br>
<br></div><div>I&#39;m not sure if this would work in our production environment, so may well have to get our QA guys help me out with more appropriate test of this...<br></div><div><br></div>It may well be that we&#39;re using Gluster in way that it was never designed for, in which case we&#39;ll have to look at something more suited to this setup.<br>
<br></div>Thanks,<br></div>Darren<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 14 May 2013 12:12, Vijay Bellur <span dir="ltr">&lt;<a href="mailto:vbellur@redhat.com" target="_blank">vbellur@redhat.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 05/13/2013 09:13 PM, Darren wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I&#39;m pretty new to Gluster, and the company I work for uses it for<br>
storage across 2 data centres. An issue has cropped up fairly recently<br>
with regards to the self-heal mechanism.<br>
<br>
Occasionally the connection between these 2 Gluster servers breaks or<br>
drops momentarily. Due to the nature of the business it&#39;s highly likely<br>
that files have been written during this time. When the self-heal daemon<br>
runs it notices a discrepancy and gets the volume up to date. The<br>
problem we&#39;ve been seeing is that this appears to cause the CPU load to<br>
increase massively on both servers whilst the healing process takes place.<br>
<br>
After trying to find out if there were any persistent network issues I<br>
tried recreating this on a test system and can now re-produce at will.<br>
Our test system set up is made up of 3 VMs, 2 Gluster servers and a<br>
client. The process to cause this was:<br>
Add in an iptables rule to block one of the Gluster servers from being<br>
reached by the other server and the client.<br>
Create some random files on the client.<br>
</blockquote>
<br></div>
Can you describe the number and sizes of files created as part of this step?<div class="im"><br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Flush the iptables rules out so the server is reachable again.<br>
Force a self heal to run.<br>
Watch as the load on the Gluster servers goes bananas.<br>
</blockquote>
<br></div>
How high does your load get to? Is it just the CPU or do you see other resources like memory, network being consumed to a greater degree as well?<div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
The problem with this is that whilst the self-heal happens one the<br>
gluster servers will be inaccessible from the client, meaning no files<br>
can be read or written, causing problems for our users.<br>
<br>
I&#39;ve been searching for a solution, or at least someone else who has<br>
been having the same problem and not found anything. I don&#39;t know if<br>
this is a bug or config issue (see below for config details). I&#39;ve tried<br>
a variety of different options but none of them have had any effect.<br>
<br>
Our production set up is as follows:<br>
2 Gluster servers (1 in each DC) replicating to each other<br>
We then have multiple other servers that store and retrieve files on<br>
Gluster using a local glusterfs mount point.<br>
Only 1 data centre is active at any one time<br>
The Gluster servers are VMs on a Xen hypervisor.<br>
All our systems are CentOS 5<br>
Gluster 3.3.1 (I&#39;ve also tried 3.3.2)<br>
<br>
gluster02 ~ gluster volume info rmfs<br>
<br>
Volume Name: volume1<br>
Type: Replicate<br>
Volume ID: 3fef44e1-e840-452e-b16b-<u></u>a9fc698e7dfd<br>
Status: Started<br>
Number of Bricks: 1 x 2 = 2<br>
Transport-type: tcp<br>
Bricks:<br>
Brick1: gluster01:/mnt/store1<br>
Brick2: gluster02:/mnt/store1<br>
Options Reconfigured:<br>
nfs.disable: off<br>
auth.allow: 172.30.98.*<br>
network.ping-timeout: 5<br>
</blockquote>
<br></div></div>
Setting network.ping-timeout to 5 is generally not recommended. As a matter of fact, it would not be advisable to alter the ping timeout from the default value.<br>
<br>
Regards,<br>
Vijay<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
Any help or suggestions would be greatly appreciated. If you need<br>
anything else from me, just ask.<br>
<br>
Thanks,<br>
<br>
Darren<br>
<br>
<br>
<br></div><div class="im">
______________________________<u></u>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.<u></u>org/mailman/listinfo/gluster-<u></u>users</a><br>
<br>
</div></blockquote>
<br>
</blockquote></div><br></div>