[Gluster-users] Fixing heal / split-brain when the entry is a directory
Viktor Villafuerte
viktor.villafuerte at optusnet.com.au
Wed Mar 5 00:20:33 UTC 2014
You may have tried this already.. but what if you leave both trusted.afr
entries, change only one to '0' and then self-heal?
v
On Tue 04 Mar 2014 16:46:14, Shawn Heisey wrote:
> I have a bunch of heal problems on a volume. For this email, I
> won't speculate about what caused them - that's a whole other
> discussion that I may have at some point in the future. This will
> concentrate on fixing the immediate problems so I can move forward.
>
> Thanks to JoeJulian's blog posts and talking to him in the IRC
> channel, I have a pretty good handle on how to fix entries in the
> 'heal $vol info' output ... but only if the entry given refers to a
> real *file* or a gluster link file. Almost all of the entries in my
> report are directories, and I have no idea how to fix it.
>
> All I have for these entries is gfid values, so I first locate the
> entry in .glusterfs. In this case, it's a symlink.
>
> [root at slc01dfs001a ~]# stat /bricks/d00v00/mdfs/.glusterfs/fe/93/fe93de6e-5b91-4193-a31c-786726886ff1
> File: `/bricks/d00v00/mdfs/.glusterfs/fe/93/fe93de6e-5b91-4193-a31c-786726886ff1'
> -> `../../a7/30/a730505c-84f3-407f-ac27-d45465a17f40/331'
> Size: 52 Blocks: 0 IO Block: 4096 symbolic link
> Device: fd06h/64774d Inode: 2152112572 Links: 1
> Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
> Access: 2013-06-21 03:17:27.740839811 -0600
> Modify: 2013-06-21 03:17:27.740839811 -0600
> Change: 2013-06-21 03:17:27.740839811 -0600
>
> To figure out what the actual directory name is, I use readlink:
>
> [root at slc01dfs001a ~]# readlink -f /bricks/d00v00/mdfs/.glusterfs/fe/93/fe93de6e-5b91-4193-a31c-786726886ff1
> /bricks/d00v00/mdfs/REDACTED/mdfs/RTR/rtrphotosfour/docs/331
>
> I can get the extended attributes. I know from talking to Joe Julian
> that the following output means both copies think the other needs
> healing. If I compare 'ls -al' output from the brick directory on
> both copies, they are the same.
>
> [root at slc01dfs001a ~]# getfattr -m . -d -e hex
> /bricks/d00v00/mdfs/REDACTED/mdfs/RTR/rtrphotosfour/docs/331
> getfattr: Removing leading '/' from absolute path names
> # file: bricks/d00v00/mdfs/REDACTED/mdfs/RTR/rtrphotosfour/docs/331
> trusted.afr.mdfs-client-0=0x00000000000000000000006e
> trusted.afr.mdfs-client-1=0x00000000000000000000006e
> trusted.gfid=0xfe93de6e5b914193a31c786726886ff1
> trusted.glusterfs.dht=0x00000001000000003ffffffc4ffffffa
>
> Now for the big question ... what do I do, in a step-by-step format,
> to eliminate this entry from the heal info output? On another
> entry, I tried deleting the second trusted.afr entry on both copies,
> I tried deleting them both, I tried deleting one and setting the
> other to zero, and I tried changing them to both to zero. In
> between each of these, I did a stat on the directory via the FUSE
> mount. It did not change the heal info output.
>
> Thanks,
> Shawn
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://supercolony.gluster.org/mailman/listinfo/gluster-users
--
Regards
Viktor Villafuerte
Optus Internet Engineering
t: 02 808-25265
More information about the Gluster-users
mailing list