<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
Hi Kaushik,<br><br>Thanks for the detailed explanation!&nbsp; I was messing with it yesterday and it seems that gluster-core and fuse packages have to be installed on the slave server as well. Could you confirm that?<br><br>I didn't see that on the documentation, and as I thought that the geo-replication would use only ssh and rsync for the file replication I didn't gluster package installed on the slave server. It is now working!<br><br>Thanks again!<br><br>Sincerely,<br>Andre Mosin<br><div><hr id="stopSpelling">From: kaushikbv@gluster.com<br>Date: Thu, 4 Aug 2011 12:12:40 +0530<br>Subject: Re: [Gluster-users] Problem with Gluster Geo Replication, status faulty<br>To: al_dantas@hotmail.com; zhourong.miao@flixlab.com<br>CC: gluster-users@gluster.org<br><br><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="ecxApple-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></body>
</html>