<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Thanks for writing this up, Kaushik. Can you add this to a post on community.gluster.org?<br>
<br>
Thanks,<br>
JM<br>
<br>
<br>
<div style="font-family: Times New Roman; color: rgb(0, 0, 0); font-size: 16px;">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF170071"><font color="#000000" face="Tahoma" size="2"><b>From:</b> gluster-users-bounces@gluster.org [gluster-users-bounces@gluster.org] on behalf of Kaushik BV [kaushikbv@gluster.com]<br>
<b>Sent:</b> Wednesday, August 03, 2011 11:42 PM<br>
<b>To:</b> Dantas; zhourong.miao@flixlab.com<br>
<b>Cc:</b> gluster-users@gluster.org<br>
<b>Subject:</b> Re: [Gluster-users] Problem with Gluster Geo Replication, status faulty<br>
</font><br>
</div>
<div></div>
<div>
<div>The geo-replication module forks (gsyncd) two process' &nbsp;one in the <b><i>Master node</i></b> (where geo-replication start was invoked) and another in
<b><i>Slave node</i></b>.</div>
<div>The two gsyncd' communicate with each other through a pair of pipe either on the same machine or through an ssh-tunnel (depending on where the
<b><i>Slave node</i></b> resides),</div>
<div><br>
</div>
<div>The above log basically means that the communication-channel between Master and Slave is failing.</div>
<div><br>
</div>
<div>Here are the few reasons for which it may occur:</div>
<div><br>
</div>
<div>1) The ssh tunnel b/w the <b><i>Master &amp; Slave gsyncd</i></b>&nbsp;is broken:</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; The pre-requisite for geo-rep b/w Master and Slave to work is to have a passwordless SSH setup b/w them either as mentioned in&nbsp;<span style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;">&nbsp;<a href="http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Setting_Up_the_Environment_for_Geo-replication" style="color: rgb(0, 0, 204);" target="_blank">http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Setting_Up_the_Environment_for_Geo-replication</a>&nbsp;or
 as it is done normally.</span></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;">Verify if the password-less SSH is working fine.</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;">2) &nbsp;The </span>
</font><b style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;"><i>Master gsyncd</i></b><font face="Tahoma"><span style="border-collapse: collapse;">&nbsp;could&nbsp;</span></font><b style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;"><i>not</i></b><font face="Tahoma"><span style="border-collapse: collapse;">&nbsp;<b><i>spawn</i></b>&nbsp;the
</span></font><b style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;"><i>Slave gsyncd</i></b><font face="Tahoma"><span style="border-collapse: collapse;"> session successfully:</span></font></div>
<div><span style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma; font-size: 13px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a) This could be due to the SSH-tunnel not been setup as desired, &nbsp;or</span></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b) The Master gsyncd spawns the Slave gsyncd process by locating the gsyncd executable in the slave in a predefined location, if the gsyncd executable is not found in the expected
 location the above scenario might occur. &nbsp;Execute the following in the Master node to see where Master gsyncd expects the gsyncd executable in the Slave Node.</span></font></div>
<div><span style="border-collapse: collapse;"><font face="Tahoma">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font><font face="'courier new', monospace">&nbsp;#gluster volume geo-replication &lt;Master-Volume&gt; &lt;Slave-URI&gt; config remote-gsyncd</font></span></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;">The outuput might would be a location similar to:</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><span style="border-collapse: collapse;"><font face="Tahoma">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font><font face="'courier new', monospace">&nbsp;/usr/local/libexec/glusterfs/gsyncd&nbsp;</font></span></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;">Verify in the Slave node if the above output is valid executable. If not configure the remote-gsyncd to point to the appropriate location by executing the following command in the Master node.</span></font></div>
<div><font face="Tahoma"><span style="border-collapse: collapse;"><br>
</span></font></div>
<div><span style="border-collapse: collapse;"><font face="Tahoma">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font><font face="'courier new', monospace">#gluster volume geo-replication &lt;Master-Volume&gt; &lt;Slave-URI&gt; config remote-gsyncd &nbsp;&lt;new_location&gt;</font></span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c) The
<b><i>Slave gsyncd</i></b> process <b><i>died</i></b> unexpectedly after being spawned:</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - If the Slave &nbsp;is a plain directory the gsyncd expects the directory to be created already. Verify if the directory has already been created.</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- &nbsp;If the Slave is a Gluster Volume then verify if &nbsp;<i><b>Slave volume is started</b>.</i></span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><i><br>
</i></span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><i>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-
</i>&nbsp;If &nbsp;the Slave is a Gluster Volume , gsyncd does a fuse mount on the Slave Volume, if the mount fails (maybe due to
<b><i>fuse</i></b> module not running) the <b><i>Slave gsyncd</i></b>&nbsp;&nbsp;<b><i>dies</i></b>&nbsp;if &nbsp;it cannot mount the Slave Volume.</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;"><br>
</span></div>
<div><span style="border-collapse: collapse; font-family: Tahoma;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;For all the above scenarios looking at the Slave gsynd &nbsp;as well as auxialarry gluster log might throw more light on the issue, to locate the respective logs refer to the&nbsp;<span style="font-family: verdana,sans-serif; line-height: 16px; border-collapse: separate;"><font size="1"><b><i>Locating
 Log Files</i></b></font></span>&nbsp;section in&nbsp;</span><a href="http://gluster.com/community/documentation/index.php/Gluster_3.2:_Troubleshooting_Geo-replication" target="_blank">http://gluster.com/community/documentation/index.php/Gluster_3.2:_Troubleshooting_Geo-replication</a></div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If the problem persists post all the above logs by running the geo-replication session in DEBUG log level by executing the following command:</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<font class="Apple-style-span" face="'courier new', monospace">#gluster volume geo-replication &lt;Master-Volume&gt; &lt;Slave-URI&gt; config-log-level DEBUG</font></div>
<div><br>
</div>
<div>&nbsp;So that the problem could be root caused. A lot of log improvements is done in the devel branch, will have a more sanitized logs in the future releases.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Kaushik</div>
</div>
</div>
</div>
</body>
</html>