[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gluster-devel
Subject:    [Gluster-devel] Gro-replication may fail after using glfsapi to create and write a file with gluster
From:       彭繼霆 <wowowowowody () gmail ! com>
Date:       2016-07-26 1:59:15
Message-ID: CAEz+iSyb2WZcxR4DHtmb5KKbJOoAXHr9zVeL71Qa9Aepob+fiA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi all,

I did some experiments on geo-replication.

# gluster volume info
Source site:
Volume Name: source
Type: Disperse
Volume ID: 1b6f0353-b4f2-4a1e-9f4a-157e90dafc07
Status: Started
Number of Bricks: 1 x (2 + 1) = 3
Transport-type: tcp
Bricks:
Brick1: giting1:/export/sor_bk1/fs
Brick2: giting2:/export/sor_bk2/fs
Brick3: giting3:/export/sor_bk3/fs
Options Reconfigured:
performance.readdir-ahead: on
geo-replication.indexing: on
geo-replication.ignore-pid-check: on
changelog.changelog: on

Target site:
Volume Name: target
Type: Disperse
Volume ID: eec13159-5a3a-4e64-a89a-81185e8bbdbf
Status: Started
Number of Bricks: 1 x (2 + 1) = 3
Transport-type: tcp
Bricks:
Brick1: giting4:/export/tar_bk1/fs
Brick2: giting5:/export/tar_bk2/fs
Brick3: giting6:/export/tar_bk3/fs
Options Reconfigured:
performance.readdir-ahead: on

To begin with, the first step is to use the georepsetup succeeded to create
a geo-replication.

MASTER NODE    MASTER VOL    MASTER BRICK          SLAVE USER    SLAVE
               SLAVE NODE    STATUS     CRAWL STATUS       LAST_SYNCED
--------------------------------------------------------------------------------------------------------------------------------------------------------
 giting1        source        /export/sor_bk1/fs    root
 ssh://giting4::target    giting6       Active     Changelog Crawl
 2016-07-26 17:13:54
giting3        source        /export/sor_bk3/fs    root
 ssh://giting4::target    giting4       Passive    N/A                N/A
giting2        source        /export/sor_bk2/fs    root
 ssh://giting4::target    giting5       Passive    N/A                N/A

Next, we can compare two way, 'fuse' and 'glfsapi', to create and write a
file.
In the beginning of the experiment by using 'fuse' to create and write a
file, it work well.

By using 'glfsapi' to create and write a file, it failed with following
message.

Source site log:
[2016-07-26 09:35:44.886520] E [fuse-bridge.c:3374:fuse_xattr_cbk]
0-glusterfs-fuse: extended attribute not supported by the backend storage

Target site log:
[2016-07-26 09:35:45.177060] E [MSGID: 122065]
[ec-common.c:961:ec_prepare_update_cbk] 0-target-disperse-0: Unable to get
config xattr [No data available]
[2016-07-26 09:35:45.219461] E [MSGID: 122034]
[ec-common.c:461:ec_child_select] 0-target-disperse-0: Insufficient
available childs for this request (have 0, need 2)
[2016-07-26 09:35:45.219496] W [MSGID: 122040]
[ec-common.c:919:ec_prepare_update_cbk] 0-target-disperse-0: Failed to get
size and version [Input/output error]
[2016-07-26 09:35:45.228818] W [fuse-bridge.c:709:fuse_truncate_cbk]
0-glusterfs-fuse: 64: FTRUNCATE() ERR => -1 (Input/output error)
The message "E [MSGID: 122065] [ec-common.c:961:ec_prepare_update_cbk]
0-target-disperse-0: Unable to get config xattr [No data available]"
repeated 3 times between [2016-07-26 09:35:45.177060] and [2016-07-26
09:35:45.230205]

Thanks
Giting


[Attachment #5 (text/html)]

<div dir="ltr">Hi all,<div><br></div><div>I did some experiments on \
geo-replication.</div><div><br></div><div># gluster volume info</div><div>Source \
site:</div><div><div>Volume Name: source</div><div>Type: Disperse</div><div>Volume \
ID: 1b6f0353-b4f2-4a1e-9f4a-157e90dafc07</div><div>Status: Started</div><div>Number \
of Bricks: 1 x (2 + 1) = 3</div><div>Transport-type: \
tcp</div><div>Bricks:</div><div>Brick1: giting1:/export/sor_bk1/fs</div><div>Brick2: \
giting2:/export/sor_bk2/fs</div><div>Brick3: \
giting3:/export/sor_bk3/fs</div><div>Options \
Reconfigured:</div><div>performance.readdir-ahead: \
on</div><div>geo-replication.indexing: on</div><div>geo-replication.ignore-pid-check: \
on</div><div>changelog.changelog: on</div></div><div><br></div><div>Target \
site:</div><div><div>Volume Name: target</div><div>Type: Disperse</div><div>Volume \
ID: eec13159-5a3a-4e64-a89a-81185e8bbdbf</div><div>Status: Started</div><div>Number \
of Bricks: 1 x (2 + 1) = 3</div><div>Transport-type: \
tcp</div><div>Bricks:</div><div>Brick1: giting4:/export/tar_bk1/fs</div><div>Brick2: \
giting5:/export/tar_bk2/fs</div><div>Brick3: \
giting6:/export/tar_bk3/fs</div><div>Options \
Reconfigured:</div><div>performance.readdir-ahead: \
on</div></div><div><br></div><div>To begin with, the first step is to use the \
georepsetup  <span style="color:rgb(0,0,0);font-family:Helvetica,Arial,sans-serif;font-size:12px;line-height:18px">succeeded</span><span \
style="color:rgb(0,0,0);font-family:Helvetica,Arial,sans-serif;font-size:12px;line-height:18px"> \
</span>to create a geo-replication.</div><div><br></div><div><div>MASTER NODE      \
MASTER VOL      MASTER BRICK               SLAVE USER      SLAVE                      \
SLAVE NODE      STATUS       CRAWL STATUS          \
LAST_SYNCED</div><div>---------------------------------------------------------------- \
----------------------------------------------------------------------------------------</div><div>giting1 \
source            /export/sor_bk1/fs      root               ssh://giting4::target    \
giting6          Active       Changelog Crawl      2016-07-26 \
17:13:54</div><div>giting3            source            /export/sor_bk3/fs      root  \
ssh://giting4::target      giting4          Passive      N/A                        \
N/A</div><div>giting2            source            /export/sor_bk2/fs      root       \
ssh://giting4::target      giting5          Passive      N/A                        \
N/A</div></div><div><br></div><div>Next, we can compare two way, &#39;fuse&#39; and \
&#39;glfsapi&#39;, to create and write a file.</div><div><span \
style="font-size:14px">In the beginning of the experiment by using &#39;fuse&#39; to \
create and write a file, it work well.</span><br></div><div><span \
style="font-size:14px"><br></span></div><div><span style="font-size:14px">By using \
&#39;glfsapi&#39; to create and write a file, it failed with following \
message.</span></div><div><span style="font-size:14px"><br></span></div><div><span \
style="font-size:14px">Source site log:</span></div><div><div><span \
style="font-size:14px">[2016-07-26 09:35:44.886520] E \
[fuse-bridge.c:3374:fuse_xattr_cbk] 0-glusterfs-fuse: extended attribute not \
supported by the backend storage</span></div><div><span \
style="font-size:14px"><br></span></div><div style="font-size:14px">Target site \
log:</div></div><div style="font-size:14px"><div>[2016-07-26 09:35:45.177060] E \
[MSGID: 122065] [ec-common.c:961:ec_prepare_update_cbk] 0-target-disperse-0: Unable \
to get config xattr [No data available]</div><div>[2016-07-26 09:35:45.219461] E \
[MSGID: 122034] [ec-common.c:461:ec_child_select] 0-target-disperse-0: Insufficient \
available childs for this request (have 0, need 2)</div><div>[2016-07-26 \
09:35:45.219496] W [MSGID: 122040] [ec-common.c:919:ec_prepare_update_cbk] \
0-target-disperse-0: Failed to get size and version [Input/output \
error]</div><div>[2016-07-26 09:35:45.228818] W [fuse-bridge.c:709:fuse_truncate_cbk] \
0-glusterfs-fuse: 64: FTRUNCATE() ERR =&gt; -1 (Input/output error)</div><div>The \
message &quot;E [MSGID: 122065] [ec-common.c:961:ec_prepare_update_cbk] \
0-target-disperse-0: Unable to get config xattr [No data available]&quot; repeated 3 \
times between [2016-07-26 09:35:45.177060] and [2016-07-26 \
09:35:45.230205]</div></div><div><br></div><div>Thanks</div><div>Giting</div><div><br></div></div>




_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://www.gluster.org/mailman/listinfo/gluster-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic