Hi,

After lauching a "rebalance" on an idle gluster system one week ago, its status 
told me it has scanned
 more than 23 millions files on each of my 6 bricks. However, without knowing 
at least the total files to
 be scanned, this status is USELESS from an end-user perspective, because it 
does not allow you to
 know  WHEN the rebalance could eventually complete (one day, one week, one 
year or never). From
 my point of view, the total files per bricks could be obtained and maintained 
when activating quota,
 since the whole filesystem has to be crawled...

After one week being offline and still no clue when the rebalance would 
complete, I decided to stop it...
 Enormous mistake... It seems that rebalance cannot manage to not screw some 
files. Example, on
 the only client mounting the gluster system, "ls -la /home/seviri" returns
ls: cannot access /home/seviri/.forward: Stale NFS file handle
ls: cannot access /home/seviri/.forward: Stale NFS file handle
-?????????  ? ?      ?             ?            ? .forward
-?????????  ? ?      ?             ?            ? .forward
while this file could perfectly be accessed before (being rebalanced) and has 
not been modifed for at
 least 3 years.

Getting the extended attributes on the various bricks 3, 4, 5, 6 (3-4 
replicate, 5-6 replicate)
*Brick 3:*
ls -l /data/glusterfs/home/brick?/seviri/.forward
-rw-r--r-- 2 seviri users 68 May 26  2014 
/data/glusterfs/home/brick1/seviri/.forward
-rw-r--r-- 2 seviri users 68 Mar 10 10:22 
/data/glusterfs/home/brick2/seviri/.forward

getfattr -d -m . -e hex /data/glusterfs/home/brick?/seviri/.forward
# file: data/glusterfs/home/brick1/seviri/.forward
trusted.afr.home-client-8=0x000000000000000000000000
trusted.afr.home-client-9=0x000000000000000000000000
trusted.gfid=0xc1d268beb17443a39d914de917de123a

# file: data/glusterfs/home/brick2/seviri/.forward
trusted.afr.home-client-10=0x000000000000000000000000
trusted.afr.home-client-11=0x000000000000000000000000
trusted.gfid=0x14a1c10eb1474ef2bf72f4c6c64a90ce
trusted.glusterfs.quota.4138a9fa-a453-4b8e-905a-e02cce07d717.contri=0x0000000000000200
trusted.pgfid.4138a9fa-a453-4b8e-905a-e02cce07d717=0x00000001

*Brick 4:*
ls -l /data/glusterfs/home/brick?/seviri/.forward
-rw-r--r-- 2 seviri users 68 May 26  2014 
/data/glusterfs/home/brick1/seviri/.forward
-rw-r--r-- 2 seviri users 68 Mar 10 10:22 
/data/glusterfs/home/brick2/seviri/.forward

getfattr -d -m . -e hex /data/glusterfs/home/brick?/seviri/.forward
# file: data/glusterfs/home/brick1/seviri/.forward
trusted.afr.home-client-8=0x000000000000000000000000
trusted.afr.home-client-9=0x000000000000000000000000
trusted.gfid=0xc1d268beb17443a39d914de917de123a

# file: data/glusterfs/home/brick2/seviri/.forward
trusted.afr.home-client-10=0x000000000000000000000000
trusted.afr.home-client-11=0x000000000000000000000000
trusted.gfid=0x14a1c10eb1474ef2bf72f4c6c64a90ce
trusted.glusterfs.quota.4138a9fa-a453-4b8e-905a-e02cce07d717.contri=0x0000000000000200
trusted.pgfid.4138a9fa-a453-4b8e-905a-e02cce07d717=0x00000001

*Brick 5:*
ls -l /data/glusterfs/home/brick?/seviri/.forward
---------T 2 root root 0 Mar 18 08:19 
/data/glusterfs/home/brick2/seviri/.forward

getfattr -d -m . -e hex /data/glusterfs/home/brick?/seviri/.forward
# file: data/glusterfs/home/brick2/seviri/.forward
trusted.gfid=0x14a1c10eb1474ef2bf72f4c6c64a90ce
trusted.glusterfs.dht.linkto=0x686f6d652d7265706c69636174652d3400

*Brick 6:*
ls -l /data/glusterfs/home/brick?/seviri/.forward
---------T 2 root root 0 Mar 18 08:19 
/data/glusterfs/home/brick2/seviri/.forward

getfattr -d -m . -e hex /data/glusterfs/home/brick?/seviri/.forward
# file: data/glusterfs/home/brick2/seviri/.forward
trusted.gfid=0x14a1c10eb1474ef2bf72f4c6c64a90ce
trusted.glusterfs.dht.linkto=0x686f6d652d7265706c69636174652d3400

Looking at the results from bricks 3 & 4 shows something weird. The file exists 
on 2 sub-bricks
 storage directories, while it should only be found once on each brick server. 
Or is the issue lying in the
 results of bricks 5 & 6 ? *How can I fix this, please* ? By the way, the 
split-brain tutorial only covers
 BASIC split-brain conditions and not complex (real life) cases like this one. 
It would definitely benefit if
 enriched by this one.

More generally, I think the concept of gluster is promising, but if basic 
commands (rebalance,
 absolutely needed after adding more storage) from its own cli allows to put 
the system into an
 unstable state, I am really starting to question its ability to be used in a 
production environment. And
 from an end-user perspective, I do not care about new features added, no 
matter how appealing they
 could be, if the basic ones are not almost totally reliable. Finally, testing 
gluster under high load on the
 brick servers (real world conditions) would certainly gives insight to the 
developpers on what it failing
 and what needs therefore to be fixed to mitigate this and improve gluster 
reliability.

Forgive my harsh words/criticisms, but having to struggle with gluster issues 
for two weeks now is
 getting on my nerves since my colleagues can not use the data stored on it and 
I do not see any time
 from now when it will be back online.


Regards,


Alessandro.

_______________________________________________
Gluster-users mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-users

Reply via email to