<div dir="ltr">
<div bgcolor="#FFFFFF" text="#000000">
Hi all.<br>
<br>
I've recently installed three Gluster 3.5 servers, two masters and
one geo-replication slave, all of them with 2 bricks. After some
configuration problems It seems that all is working ok but I've
found some problems with geo-replication.<br>
First I'd like to do one question because I couldn't find the
answers neither in documentation nor in any mail list:<br>
<br>
<br>
This is the volume configuration:<br>
<br>
<br>
<a href="mailto:root@filepre03:/gluster/jbossbricks/pre01/disk01/b01/.glusterfs/changelogs#" target="_blank">root@filepre03:/gluster/jbossbricks/pre01/disk01/b01/.glusterfs/changelogs#</a>
gluster v info<br>
<br>
(master)<br>
Volume Name: jbpre01vol<br>
Type: Distributed-Replicate<br>
Volume ID: 316231f7-20bf-44f6-9d9b-20d4e3b27c2c<br>
Status: Started<br>
Number of Bricks: 2 x 2 = 4<br>
Transport-type: tcp<br>
Bricks:<br>
Brick1: filepre03:/gluster/jbossbricks/pre01/disk01/b01<br>
Brick2: filepre04:/gluster/jbossbricks/pre01/disk01/b01<br>
Brick3: filepre03:/gluster/jbossbricks/pre01/disk02/b02<br>
Brick4: filepre04:/gluster/jbossbricks/pre01/disk02/b02<br>
Options Reconfigured:<br>
diagnostics.brick-log-level: WARNING<br>
changelog.changelog: on<br>
geo-replication.ignore-pid-check: on<br>
geo-replication.indexing: on<br>
<br>
<br>
(geo-replica)<br>
Volume Name: jbpre01slvol<br>
Type: Distribute<br>
Volume ID: 0a4d2f3e-c803-4cfe-971b-2f8107180a69<br>
Status: Started<br>
Number of Bricks: 2<br>
Transport-type: tcp<br>
Bricks:<br>
Brick1: filepre05:/gluster/jbossbricks/pre01/disk01/b01<br>
Brick2: filepre05:/gluster/jbossbricks/pre01/disk02/b02<br>
Options Reconfigured:<br>
diagnostics.brick-log-level: WARNING<br>
<br>
And geo replication is running on bricks b01 and b02 :<br>
<br>
<a href="mailto:root@filepre03:/gluster/jbossbricks/pre01/disk01/b01/.glusterfs/changelogs#" target="_blank">root@filepre03:/gluster/jbossbricks/pre01/disk01/b01/.glusterfs/changelogs#</a>
gluster v g jbpre01vol filepre05::jbpre01slvol status<br>
<br>
MASTER NODE MASTER VOL MASTER
BRICK SLAVE
STATUS CHECKPOINT STATUS CRAWL STATUS <br>
-------------------------------------------------------------------------------------------------------------------------------------------------<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Active N/A Changelog Crawl<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Active N/A Changelog Crawl<br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Passive N/A N/A <br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Passive N/A N/A <br>
<br>
Tests are done from another server mounting master and slave
volumes:<br>
<br>
root@testgluster:/mnt/gluster# mount |grep gluster<br>
filepre03:/jbpre01vol on /mnt/gluster/pre01filepre03 type
fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)<br>
filepre04:/jbpre01vol on /mnt/gluster/pre01filepre04 type
fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)<br>
filepre05:/jbpre01slvol on /mnt/gluster/pre01filepre05 type
fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)<br>
<br>
<br>
My question is about directories dates in geo replica, in all my
tests directory date in remote server shows the date when
replication was executed, not original date. Is this the usual
behavior?<br>
<br>
For example:<br>
<br>
root@testgluster:/mnt/gluster# mkdir
/mnt/gluster/pre01filepre03/TESTDIR1<br>
root@testgluster:/mnt/gluster# echo TEST >
pre01filepre03/TESTDIR1/TESTING1<br>
<br>
After a while, gluster has created dir and file but directory's date
is current date not original:<br>
<br>
root@testgluster:/mnt/gluster# ls -d --full-time
pre01filepre0*/TESTDIR1<br>
drwxr-xr-x 2 root root 8192 2014-06-30 11:55:18.651528230 +0200
pre01filepre03/TESTDIR1<br>
drwxr-xr-x 2 root root 8192 2014-06-30 11:55:<a href="tel:18.652637248" target="_blank" value="+18652637248">18.652637248</a> +0200
pre01filepre04/TESTDIR1<br>
drwxr-xr-x 2 root root 8192 2014-06-30 11:56:<a href="tel:14.087626822" target="_blank" value="+14087626822">14.087626822</a> +0200
pre01filepre05/TESTDIR1 (geo-replica)<br>
<br>
However file is replicated with original date:<br>
<br>
root@testgluster:/mnt/gluster# find . -type f -exec ls --full-time
{} \;<br>
-rw-r--r-- 1 root root 5 2014-06-30 11:55:<a href="tel:18.664637725" target="_blank" value="+18664637725">18.664637725</a> +0200
./pre01filepre04/TESTDIR1/TESTING1<br>
-rw-r--r-- 1 root root 5 2014-06-30 11:55:<a href="tel:18.663528750" target="_blank" value="+18663528750">18.663528750</a> +0200
./pre01filepre03/TESTDIR1/TESTING1<br>
-rw-r--r-- 1 root root 5 2014-06-30 11:55:18.000000000 +0200
./pre01filepre05/TESTDIR1/TESTING1 (geo-replica)<br>
<br>
This makes dificult to validate any syncing error between masters
and slave using commands like rsync because directories are always
different:<br>
<br>
root@testgluster:/mnt/gluster# rsync -avn pre01filepre03/TESTDIR1/
pre01filepre05<br>
sending incremental file list<br>
./<br>
TESTING1<br>
<br>
sent 49 bytes received 18 bytes 134.00 bytes/sec<br>
total size is 5 speedup is 0.07 (DRY RUN)<br>
<br>
<br>
<br>
<br>
Next, I would ask If someone has found next problem when bricks in
remoter server goes down:<br>
<br>
After check currently status I've kill one brick process in remote
server:<br>
<br>
root@filepre03:~# gluster v status jbpre01vol<br>
Status of volume: jbpre01vol<br>
Gluster process Port
Online Pid<br>
------------------------------------------------------------------------------<br>
Brick filepre03:/gluster/jbossbricks/pre01/disk01/b01 49169
Y 8167<br>
Brick filepre04:/gluster/jbossbricks/pre01/disk01/b01 49172
Y 7027<br>
Brick filepre03:/gluster/jbossbricks/pre01/disk02/b02 49170
Y 8180<br>
Brick filepre04:/gluster/jbossbricks/pre01/disk02/b02 49173
Y 7040<br>
NFS Server on localhost
2049 Y 2088<br>
Self-heal Daemon on localhost
N/A Y 30873<br>
NFS Server on filepre04
2049 Y 9171<br>
Self-heal Daemon on filepre04
N/A Y 7061<br>
NFS Server on filepre05
2049 Y 1128<br>
Self-heal Daemon on filepre05
N/A Y 1137<br>
<br>
<br>
root@filepre03:~# gluster v status jbpre01slvol<br>
Status of volume: jbpre01slvol<br>
Gluster process Port
Online Pid<br>
------------------------------------------------------------------------------<br>
Brick filepre05:/gluster/jbossbricks/pre01/disk01/b01 49152
Y 6321<br>
Brick filepre05:/gluster/jbossbricks/pre01/disk02/b02 49155
Y 6375<br>
NFS Server on localhost 2049
Y 2088<br>
NFS Server on filepre04 2049
Y 9171<br>
NFS Server on filepre05 2049
Y 1128<br>
<br>
root@filepre03:~# gluster v g status<br>
<br>
MASTER NODE MASTER VOL MASTER
BRICK SLAVE
STATUS CHECKPOINT STATUS CRAWL STATUS <br>
-------------------------------------------------------------------------------------------------------------------------------------------------<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Active N/A Changelog Crawl<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Active N/A Changelog Crawl<br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Passive N/A N/A <br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Passive N/A N/A <br>
<br>
<br>
root@filepre05:/gluster/jbossbricks/pre01# kill -9 6375 (slave:
brick 02 process)<br>
<br>
root@filepre03:~# gluster v status jbpre01slvol<br>
Gluster process Port
Online Pid<br>
------------------------------------------------------------------------------<br>
Brick filepre05:/gluster/jbossbricks/pre01/disk01/b01 49152
Y 6321<br>
Brick filepre05:/gluster/jbossbricks/pre01/disk02/b02 N/A
N 6375<br>
NFS Server on localhost
2049 Y 2088<br>
NFS Server on filepre04
2049 Y 9171<br>
NFS Server on filepre05
2049 Y 1128<br>
<br>
<br>
If I kill only one brick process geo replication doesn't show any
problem and doesn't detect problems when a client writes on the
brick.<br>
<br>
I write on some files:<br>
root@testgluster:/mnt/gluster# echo "TEST2"
>pre01filepre03/TESTFILE2<br>
root@testgluster:/mnt/gluster# echo "TEST3"
>pre01filepre03/TESTFILE3 <br>
root@testgluster:/mnt/gluster# echo "TEST4"
>pre01filepre03/TESTFILE4<br>
root@testgluster:/mnt/gluster# echo "TEST5"
>pre01filepre03/TESTFILE5<br>
<br>
Then, I check where they are:<br>
<br>
root@filepre03:~# find /gluster -name "TESTFILE*" -exec ls -l {} \;<br>
-rw-r--r-- 2 root root 6 Jun 30 16:11
/gluster/jbossbricks/pre01/disk01/b01/TESTFILE3<br>
-rw-r--r-- 2 root root 6 Jun 30 16:11
/gluster/jbossbricks/pre01/disk01/b01/TESTFILE4<br>
-rw-r--r-- 2 root root 6 Jun 30 16:09
/gluster/jbossbricks/pre01/disk01/b01/TESTFILE2<br>
-rw-r--r-- 2 root root 6 Jun 30 16:12
/gluster/jbossbricks/pre01/disk02/b02/TESTFILE5 <--- brick 02<br>
<br>
and finally check geo replication status:<br>
<br>
root@filepre03:~root@filepre03:~# gluster v g jbpre01vol
filepre05::jbpre01slvol status detail<br>
<br>
MASTER NODE MASTER VOL MASTER
BRICK SLAVE
STATUS CHECKPOINT STATUS CRAWL STATUS FILES SYNCD
FILES PENDING BYTES PENDING DELETES PENDING FILES SKIPPED<br>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Active N/A Changelog Crawl 3738
0 0 0 0<br>
filepre03 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Active N/A Changelog Crawl 3891
0 0 0 0<br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk01/b01 filepre05::jbpre01slvol
Passive N/A N/A 0
0 0 0 0<br>
filepre04 jbpre01vol
/gluster/jbossbricks/pre01/disk02/b02 filepre05::jbpre01slvol
Passive N/A N/A 0
0 0 0 0<br>
<br>
<br>
No problem is shown, no file sync is pending but on remote server:<br>
<br>
<br>
root@testgluster:/mnt/gluster# ll pre01filepre05<br>
total 14<br>
drwxr-xr-x 4 root root 4096 Jun 30 16:12 ./<br>
drwxr-xr-x 5 root root 4096 Jun 26 12:57 ../<br>
-rw-r--r-- 1 root root 6 Jun 30 16:09 TESTFILE2<br>
-rw-r--r-- 1 root root 6 Jun 30 16:11 TESTFILE3<br>
-rw-r--r-- 1 root root 6 Jun 30 16:11 TESTFILE4<br>
<br>
... only files written on brick 01 have been replicated <br>
<br>
I can't find any gluster command that returns a failed status.<br>
<br>
Only one more comment, if I kill all brick process at remote server
then geo replication status change to faulty as I expected<br>
<br>
Any additional info will be appreciated.<br>
<br>
Thank you<br>
<br>
Eva<br>
<br>
</div>
</div>