<div dir="ltr"><div><div><div><div>Thanks for <span id="result_box" class="" lang="en"><span class="">detailed description.<br></span></span></div><span id="result_box" class="" lang="en"><span class="">Do you have a plans add resolution GFID split-brain by &#39;</span></span>gluster volume heal VOLNAME split-brain ...&#39; ?<br></div>What the main different between GFID split-brain and data split brain? On nodes this file absolutely different by data content and size or it isn&#39;t &#39;data&#39; in glusterfs meaning?<br><br></div>Best regards,<br></div>Igor<br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-14 20:13 GMT+03:00 Ravishankar N <span dir="ltr">&lt;<a href="mailto:ravishankar@redhat.com" target="_blank">ravishankar@redhat.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF"><span class="">
    <br>
    <br>
    <div>On 10/14/2015 10:05 PM, Игорь Бирюлин
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>Thanks for your replay.<br>
          <br>
        </div>
        <div>If I do listing in mount point (/repo):<br>
          # ls /repo/xxx/keyrings/debian-keyring.gpg<br>
          ls: cannot access /repo/xxx/keyrings/debian-keyring.gpg:
          Input/output error<br>
          # <br>
        </div>
        <div>In log /var/log/glusterfs/repo.log I see:<br>
          [2015-10-14 16:27:36.006815] W [MSGID: 108008]
          [afr-self-heal-name.c:359:afr_selfheal_name_gfid_mismatch_check]
          0-repofiles-replicate-0: GFID mismatch for
          &lt;gfid:4a99bf9d-7423-47d9-a09d-fabaa333eccf&gt;/debian-keyring.gpg
          69aaeee6-624b-400a-aa46-b5c6166c014c on repofiles-client-1 and
          b95ad06e-786a-44e5-ba71-af661982071f on repofiles-client-0<br>
        </div>
      </div>
    </blockquote>
    <br></span>
    So the file has ended up in GFID split-brain (The trusted.gfid value
    is different in both bricks as seen in your output below.), which
    cannot be handled by the split-brain resolution commands. These
    commands can only resolve data and metadata split-brain. I&#39;m afraid
    you&#39;ll manually need to delete one of the file and the .glusterfs
    hardlink from the brick. Not sure why the parent-directory was not
    listed in &#39;gluster v heal VOLNAME info split-brain&#39; output. <br><div><div class="h5">
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>[2015-10-14 16:27:36.008996] W
          [fuse-bridge.c:451:fuse_entry_cbk] 0-glusterfs-fuse: 65961:
          LOOKUP() /xxx/keyrings/debian-keyring.gpg =&gt; -1
          (Input/output error)<br>
          <br>
          On first node getfattr return:<br>
          # getfattr -d -m . -e hex
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          getfattr: Removing leading &#39;/&#39; from absolute path names<br>
          # file:
          storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          trusted.afr.dirty=0x000000000000000000000000<br>
          trusted.afr.repofiles-client-1=0x000000020000000100000000<br>
          trusted.bit-rot.version=0x020000000000000055fdf0910003b37b<br>
          trusted.gfid=0xb95ad06e786a44e5ba71af661982071f<br>
          # ls -l
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          -rw-r--r-- 2 root root 3456271 Oct 13 19:00
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          #<br>
          <br>
        </div>
        <div>On second node getfattr return:<br>
          # getfattr -d -m . -e hex
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          getfattr: Removing leading &#39;/&#39; from absolute path names<br>
          # file:
          storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          trusted.afr.dirty=0x000000000000000000000000<br>
          trusted.afr.repofiles-client-0=0x000000000000000000000000<br>
          trusted.bit-rot.version=0x020000000000000055f97b57000dc3c6<br>
          trusted.gfid=0x69aaeee6624b400aaa46b5c6166c014c<br>
          # ls -l
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
          -rw-r--r-- 2 root root 3450346 Oct  9 16:22
          /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg<br>
        </div>
        <div>#<br>
          <br>
        </div>
        <div>Best regards,<br>
        </div>
        <div>Igor<br>
        </div>
        <div><br>
          <br>
          <br>
          <br>
          <br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">2015-10-14 19:14 GMT+03:00 Ravishankar
          N <span dir="ltr">&lt;<a href="mailto:ravishankar@redhat.com" target="_blank">ravishankar@redhat.com</a>&gt;</span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#FFFFFF"><span> <br>
                <br>
                <div>On 10/14/2015 07:02 PM, Игорь Бирюлин wrote:<br>
                </div>
                <blockquote type="cite">
                  <div dir="ltr">Hello,<br>
                    today in my 2 nodes replica set I&#39;ve found
                    split-brain. Command &#39;ls&#39; start told &#39;Input/output
                    error&#39;.<br>
                  </div>
                </blockquote>
                <font color="#000099"><br>
                </font></span><font color="#3366ff"><font color="#000099">What does the mount log
                  (/var/log/glusterfs/&lt;path-to-mount&gt;.log) say
                  when you get this  error?<br>
                  <br>
                  Can you run getfattr as root for the file from *both*
                  bricks and share the result?<br>
                  `getfattr -d -m . -e hex
                  /storage/gluster_brick_repofiles/xxx/keyrings/debian-keyring.gpg`<br>
                  <br>
                  Thanks.<br>
                  Ravi</font><br>
              </font><br>
              <br>
              <blockquote type="cite">
                <div>
                  <div>
                    <div dir="ltr">But command &#39;gluster v heal VOLNAME
                      info split-brain&#39; does not show problem files:<br>
                      # gluster v heal repofiles info split-brain<br>
                      Brick
                      dist-int-master03.xxx:/storage/gluster_brick_repofiles<br>
                      Number of entries in split-brain: 0<br>
                      <br>
                      Brick
                      dist-int-master04.xxx:/storage/gluster_brick_repofiles<br>
                      Number of entries in split-brain: 0<br>
                      #<br>
                      In output of &#39;gluster v heal VOLNAME info&#39; I see
                      problem files (/xxx/keyrings/debian-keyring.gpg,
                      /repos.json), but without split-brain markers:<br>
                      # gluster v heal repofiles info<br>
                      Brick
                      dist-int-master03.xxx:/storage/gluster_brick_repofiles<br>
                      /xxx/keyrings/debian-keyring.gpg<br>
                      &lt;gfid:09ec49c9-911a-4b83-abe8-080fe79e7c69&gt;<br>
                      &lt;gfid:35c51b11-a7fb-496d-9e88-6d5a54fda7da&gt;<br>
                      /repos.json<br>
                      &lt;gfid:4f5cb2b5-30e2-43b0-a935-cfc42af883bf&gt;<br>
                      &lt;gfid:9d2fc354-37c0-47a7-b9f3-379504cba797&gt;<br>
                      &lt;gfid:cd86a246-9fc4-47d2-bb4d-67566677f77a&gt;<br>
                      &lt;gfid:b932eed0-07e9-45c5-943e-7478e9f654b4&gt;<br>
                      &lt;gfid:28bf2ffe-948c-4c7d-bce6-966242338581&gt;<br>
                      &lt;gfid:ee5659ae-1335-42c5-a852-790387b4213b&gt;<br>
                      &lt;gfid:fdfb6b8c-3c04-435a-b8d3-8d8341b66409&gt;<br>
                      Number of entries: 11<br>
                      <br>
                      Brick
                      dist-int-master04.xxx:/storage/gluster_brick_repofiles<br>
                      Number of entries: 0<br>
                      #<br>
                      <br>
                      I couldn&#39;t solve split-brain by new standard
                      command:<br>
                      # gluster v heal repofiles  split-brain
                      bigger-file /repos.json<br>
                      Lookup failed on /repos.json:Input/output error<br>
                      Volume heal failed.<br>
                      #<br>
                      <br>
                      Additional info:<br>
                      # gluster v info<br>
                       Volume Name: repofiles<br>
                       Type: Replicate<br>
                       Volume ID: 4b0e2a74-f1ca-4fe7-8518-23919e1b5fa0<br>
                       Status: Started<br>
                       Number of Bricks: 1 x 2 = 2<br>
                       Transport-type: tcp<br>
                       Bricks:<br>
                       Brick1:
                      dist-int-master03.xxx:/storage/gluster_brick_repofiles<br>
                       Brick2:
                      dist-int-master04.xxx:/storage/gluster_brick_repofiles<br>
                       Options Reconfigured:<br>
                       performance.readdir-ahead: on<br>
                       client.event-threads: 4<br>
                       server.event-threads: 4<br>
                       cluster.lookup-optimize: on<br>
                      # cat /etc/issue<br>
                      Ubuntu 14.04.3 LTS \n \l<br>
                      # dpkg -l | grep glusterfs<br>
                      ii  glusterfs-client                       
                      3.7.5-ubuntu1~trusty1                amd64       
                      clustered file-system (client package)<br>
                      ii  glusterfs-common                       
                      3.7.5-ubuntu1~trusty1                amd64       
                      GlusterFS common libraries and translator modules<br>
                      ii  glusterfs-server                       
                      3.7.5-ubuntu1~trusty1                amd64       
                      clustered file-system (server package)<br>
                      #<br>
                      <br>
                      I have 2 questions:<br>
                      1. Why &#39;gluster v heal VOLNAME info split-brain&#39;
                      doesn&#39;t show actual split-brain? Why in &#39;gluster v
                      heal VOLNAME info&#39; I doesn&#39;t see markers like
                      &#39;possible in split-brain&#39;?<br>
                      How I can monitor my gluster installation if these
                      commands doesn&#39;t show problems?<br>
                      2. Why &#39;gluster volume heal VOLNAME split-brain
                      bigger-file FILE&#39; doesn&#39;t solve split-brain? I
                      understand that I can solve split-brain remove
                      files from brick but I thought to use this killer
                      feature.<br>
                      <br>
                      Best regards,<br>
                      Igor<br>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                  </div>
                </div>
                <pre>_______________________________________________
Gluster-users mailing list
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a>
<a href="http://www.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a></pre>
              </blockquote>
              <br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>