<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>Geo-replication expects the gfids (unique identifier similar to inode number in backend file systems) to be same<br></div>for a file both on master and slave gluster volume. If the data is directly copied by other means other than geo-replication,<br></div>gfid will be different. The crashes you are seeing is because of that. <br><br></div>If the data is not huge, I would recommend to sync the data from master volume using geo-replication. The other way</div><div>is to copy directly to slave and set the gfid at the backend for each file to be same as in master volume and then setup</div><div>geo-replication. To do the latter, follow below steps. (Note that it&#39;s not tested extensively)<br></div><div><br></div><div><ol class="gmail-1"><li class="gmail-step"><div class="gmail-para">
                                                                Run the following commands on any one of the master nodes:
                                                        </div><pre class="gmail-screen"># cd /usr/share/glusterfs/scripts/ 
# sh generate-gfid-file.sh localhost:${master-vol} $PWD/get-gfid.sh /tmp/tmp.<em class="gmail-replaceable">atyEmKyCjo</em>/upgrade-gfid-values.txt 
# scp /tmp/tmp.<em class="gmail-replaceable">atyEmKyCjo</em>/upgrade-gfid-values.txt root@${slavehost}:/tmp/</pre></li><li class="gmail-step"><div class="gmail-para">
                                                                Run the following commands on a slave node:
                                                        </div><pre class="gmail-screen"># cd /usr/share/glusterfs/scripts/ 
# sh slave-upgrade.sh localhost:${slave-vol} /tmp/tmp.<em class="gmail-replaceable">atyEmKyCjo</em>/upgrade-gfid-values.txt $PWD/gsync-sync-gfid</pre></li><li class="gmail-step">Setup geo-rep and start<br></li></ol></div><div><br></div><div>Thanks,<br></div><div>Kotresh HR<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 22, 2018 at 4:55 PM,  <span dir="ltr">&lt;<a href="mailto:tino_maier@gmx.de" target="_blank">tino_maier@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Verdana;font-size:12.0px"><div>Hello everyone,</div>

<div> </div>

<div>i was searching for a replacement of my rsync dublication of data to second server and ended up with gluster geo-replicaiton. But after reading the documentation and lots of websites I&#39;m still unsure how to setup a geo-replication without retransfering all data. </div>

<div>I succeeded in converting my existing data folder to a gluster volume by creating a volume and using the &quot;find /media/brick -noleaf -print0 | xargs --null stat&quot; inside the mounted gluster volume folder on the master.</div>

<div>But how to I have to prepare the slave? I try to do it in the same way as with the master, but this will only result in error messages like</div>

<div>[2018-01-22 11:17:05.209027] E [repce(/media/brick):209:__<wbr>call__] RepceClient: call failed on peer call=27401:140641732232960:<wbr>1516619825.12        method=entry_ops        error=OSError<br>
[2018-01-22 11:17:05.209497] E [syncdutils(/media/brick):331:<wbr>log_raise_exception] &lt;top&gt;: FAIL:<br>
Traceback (most recent call last):<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>gsyncd.py&quot;, line 210, in main<br>
    main_i()<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>gsyncd.py&quot;, line 801, in main_i<br>
    local.service_loop(*[r for r in [remote] if r])<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>resource.py&quot;, line 1670, in service_loop<br>
    g1.crawlwrap(oneshot=True, register_time=register_time)<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>master.py&quot;, line 597, in crawlwrap<br>
    self.crawl()<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>master.py&quot;, line 1555, in crawl<br>
    self.process([item[1]], 0)<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>master.py&quot;, line 1204, in process<br>
    self.process_change(change, done, retry)<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>master.py&quot;, line 1114, in process_change<br>
    failures = self.slave.server.entry_ops(<wbr>entries)<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>repce.py&quot;, line 228, in __call__<br>
    return self.ins(self.meth, *a)<br>
  File &quot;/usr/lib/x86_64-linux-gnu/<wbr>glusterfs/python/syncdaemon/<wbr>repce.py&quot;, line 210, in __call__<br>
    raise res<br>
OSError: [Errno 42] .gfid/00000000-0000-0000-0000-<wbr>000000000001</div>

<div>I removed now all extended attributes on the slave and deleted the .glusterfs folder in the brick, so the system is hopefully in the inital state again.<br>
Is there any way to setup a geo-replication session without resyncing all data by gluster? Because this will take month with my poor connection over here. I&#39;m using gluster 3.13.1 on two Ubuntu 16.04.3 LTS hosts.</div>

<div> </div>

<div>I hope someone can help me with some hints, thanks and best regards</div>

<div>Tino</div>

<div> </div>

<div class="m_-2069984584764710436signature"> </div></div></div>
<br>______________________________<wbr>_________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-users</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Thanks and Regards,<br></div>Kotresh H R<br></div></div>
</div>