[Gluster-users] Is rebalance completely broken on 3.5.3 ?

Alessandro Ipe Alessandro.Ipe at meteo.be
Fri Mar 20 11:22:35 UTC 2015


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20150320/c4065246/attachment.html>


More information about the Gluster-users mailing list