<div dir="ltr">Hi Strahil,Diego,<div><br></div><div>Thanks for your help. Moving the folder on the Arbiter and touching the directory on another node solved the issue.</div><div><br></div><div>Much appreciated</div><div>David</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 23 Feb 2023 at 13:29, Diego Zuccato <<a href="mailto:diego.zuccato@unibo.it">diego.zuccato@unibo.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">IIUC that should be it.<br>
But I think you also should remove the gfid file corresponding to the <br>
removed folder.<br>
<br>
I created a simple batch to convert GFID to path inside brick (I've had <br>
to manually remove quite a lot of files and folders... every big rm -rf <br>
leaves something behind, sometimes directories that appear empty but <br>
that aren't clean on all the bricks, other times plain broken <br>
directories/files that give IO errors).<br>
The script is as simple as:<br>
-8<--<br>
#!/bin/bash<br>
# convert gfid to path inside brick.<br>
<br>
# gfid should be like b14d99e4-4477-4ffb-aca7-835cfa1c9b2a but even 32 <br>
hex chars gets accepted<br>
# (that's what getfattr -d -m . -e hex path/to/file reports under <br>
'trusted.gfid')<br>
GFID=$1<br>
<br>
if [[ "$GFID" =~ ^/ ]]; then<br>
        echo "Paths not yet supported (TODO)"<br>
        exit<br>
fi<br>
<br>
if [[ "$GFID" =~ ^[0-9a-f]* ]]; then<br>
        GFID=$(echo $GFID|sed <br>
's/^\(.\{8\}\)\(.\{4\}\)\(.\{4\}\)\(.\{4\}\)\(.\{12\}\)/\1-\2-\3-\4-\5/')<br>
fi<br>
echo .glusterfs/$(echo $GFID| sed 's!^\(..\)\(..\)!\1/\2/\1\2!')<br>
-8<--<br>
<br>
Just call it with the hex gfid (trusted.gfid=0x...) without the 0x prefix.<br>
<br>
HIH<br>
<br>
Diego<br>
<br>
Il 23/02/2023 13:48, David Dolan ha scritto:<br>
> Just to confirm I've got this correct?<br>
> <br>
> So I'll move the directory with the different gfid on the Arbiter brick <br>
> to somewhere else<br>
> I then touch this directory on another brick(software is not sensitive <br>
> to atime update)<br>
> <br>
> I guess the healing should then take place automatically?<br>
> <br>
> Thanks<br>
> David<br>
> <br>
> On Thu, 23 Feb 2023 at 11:01, Strahil Nikolov <<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a> <br>
> <mailto:<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>>> wrote:<br>
> <br>
>     Move away the file located onthe arbiter brick as it has different<br>
>     gfid and touch it(only if the software that consumes it is NOT<br>
>     sensitive to atime modification).<br>
> <br>
>     Best Regards,<br>
>     Strahil Nikolov<br>
> <br>
>         On Wed, Feb 22, 2023 at 13:09, David Dolan<br>
>         <<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a> <mailto:<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a>>> wrote:<br>
>         Hi Strahil,<br>
> <br>
>         The output in my previous email showed the directory the file is<br>
>         located in with a different GFID on the Arbiter node compared<br>
>         with the bricks on the other nodes.<br>
> <br>
>         Based on that, do you know what my next step should be?<br>
> <br>
>         Thanks<br>
>         David<br>
> <br>
> <br>
>         On Wed, 15 Feb 2023 at 09:21, David Dolan <<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a><br>
>         <mailto:<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a>>> wrote:<br>
> <br>
>             sorry I didn't receive the previous email.<br>
>             I've run the command on all 3 nodes(bricks). See below. The<br>
>             directory only has one file.<br>
>             On the Arbiter, the file doesn't exist and the directory the<br>
>             file should be in has a different GFID than the bricks on<br>
>             the other nodes<br>
> <br>
>             Node 1 Brick<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1/subdir2/file<br>
>             trusted.gfid=0x7b1aa40dd1e64b7b8aac7fc6bcbc9e9b<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1/subdir2<br>
>             trusted.gfid=0xdc99ac0db85d4b1c8a6af57a71bbe22c<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1<br>
>             trusted.gfid=0x2aa1fe9e65094e6188fc91a6d16dd2c4<br>
> <br>
>             Node 2 Brick<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1/subdir2/file<br>
>             trusted.gfid=0x7b1aa40dd1e64b7b8aac7fc6bcbc9e9b<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1/subdir2<br>
>             trusted.gfid=0xdc99ac0db85d4b1c8a6af57a71bbe22c<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1<br>
>             trusted.gfid=0x2aa1fe9e65094e6188fc91a6d16dd2c4<br>
> <br>
>             Node 3 Brick (Arbiter)<br>
>             Path to file doesn't exist<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1/subdir2<br>
>             trusted.gfid=0x51cca97ac2974ceb9322fe21e6f8ea91<br>
>             getfattr -d -m . -e hex /path_on_brick/subdir1<br>
>             trusted.gfid=0x2aa1fe9e65094e6188fc91a6d16dd2c4<br>
> <br>
>             Thanks<br>
>             David<br>
> <br>
>             On Tue, 14 Feb 2023 at 20:38, Strahil Nikolov<br>
>             <<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a> <mailto:<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>>> wrote:<br>
> <br>
>                 I guess you didn't receive my last e-mail.<br>
>                 Use getfattr and identify if the gfid mismatch. If yes,<br>
>                 move away the mismatched one.<br>
>                 In order a dir to heal, you have to fix all files inside<br>
>                 it before it can be healed.<br>
> <br>
>                 Best Regards,<br>
>                 Strahil Nikolov<br>
>                 В вторник, 14 февруари 2023 г., 14:04:31 ч. Гринуич+2,<br>
>                 David Dolan <<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a><br>
>                 <mailto:<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a>>> написа:<br>
> <br>
> <br>
>                 I've touched the directory one level above the directory<br>
>                 with the I\O issue as the one above that is the one<br>
>                 showing as dirty.<br>
>                 It hasn't healed. Should the self heal daemon<br>
>                 automatically kick in here?<br>
> <br>
>                 Is there anything else I can do?<br>
> <br>
>                 Thanks<br>
>                 David<br>
> <br>
>                 On Tue, 14 Feb 2023 at 07:03, Strahil Nikolov<br>
>                 <<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a> <mailto:<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>>><br>
>                 wrote:<br>
> <br>
>                     You can always mount it locally on any of the<br>
>                     gluster nodes.<br>
> <br>
>                     Best Regards,<br>
>                     Strahil Nikolov<br>
> <br>
>                         On Mon, Feb 13, 2023 at 18:13, David Dolan<br>
>                         <<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a><br>
>                         <mailto:<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a>>> wrote:<br>
>                         HI Strahil,<br>
> <br>
>                         Thanks for that. It's the first time I've been<br>
>                         in this position, so I'm learning as I go along.<br>
> <br>
>                         Unfortunately I can't go into the directory on<br>
>                         the client side as I get an input/output error<br>
>                         Input/output error<br>
>                         d????????? ? ?      ?        ?            ? 01<br>
> <br>
>                         Thanks<br>
>                         David<br>
> <br>
> <br>
>                         On Sun, 12 Feb 2023 at 20:29, Strahil Nikolov<br>
>                         <<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a><br>
>                         <mailto:<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>>> wrote:<br>
> <br>
>                             Setting blame on client-1 and client-2 will<br>
>                             make a bigger mess.<br>
>                             Can't you touch the affected file from the<br>
>                             FUSE mount point ?<br>
> <br>
>                             Best Regards,<br>
>                             Strahil Nikolov<br>
> <br>
>                                 On Tue, Feb 7, 2023 at 14:42, David Dolan<br>
>                                 <<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a><br>
>                                 <mailto:<a href="mailto:daithidolan@gmail.com" target="_blank">daithidolan@gmail.com</a>>> wrote:<br>
>                                 Hi All.<br>
> <br>
>                                 Hoping you can help me with a healing<br>
>                                 problem. I have one file which didn't<br>
>                                 self heal.<br>
>                                 it looks to be a problem with a<br>
>                                 directory in the path as one node says<br>
>                                 it's dirty. I have a replica volume with<br>
>                                 arbiter<br>
>                                 This is what the 3 nodes say. One brick<br>
>                                 on each<br>
> <br>
>                                 Node1getfattr -d -m . -e hex /path/to/dir | grep afrgetfattr: Removing leading '/' from absolute path namestrusted.afr.volume-client-2=0x000000000000000000000001trusted.afr.dirty=0x000000000000000000000000Node2getfattr -d -m . -e hex /path/to/dir | grep afrgetfattr: Removing leading '/' from absolute path namestrusted.afr.volume-client-2=0x000000000000000000000001trusted.afr.dirty=0x000000000000000000000000Node3(Arbiter)getfattr -d -m . -e hex /path/to/dir | grep afrgetfattr: Removing leading '/' from absolute path namestrusted.afr.dirty=0x000000000000000000000001<br>
> <br>
>                                 Since Node3(the arbiter) sees it as<br>
>                                 dirty and it looks like Node 1 and Node<br>
>                                 2 have good copies, I was thinking of<br>
>                                 running the following on Node1 which I<br>
>                                 believe would tell Node 2 and Node 3 to<br>
>                                 sync from Node 1<br>
>                                 I'd then kick off a heal on the volume<br>
> <br>
>                                 setfattr -n trusted.afr.volume-client-1 -v 0x000000010000000000000000 /path/to/dirsetfattr -n trusted.afr.volume-client-2 -v 0x000000010000000000000000 /path/to/dir<br>
> <br>
>                                 client-0 is node 1, client-1 is node2<br>
>                                 and client-2 is node 3. I've verified<br>
>                                 the hard links with gfid are in the<br>
>                                 xattrop directory<br>
>                                 Is this the correct way to heal and<br>
>                                 resolve the issue?<br>
> <br>
>                                 Thanks<br>
>                                 David<br>
>                                 ________<br>
> <br>
> <br>
> <br>
>                                 Community Meeting Calendar:<br>
> <br>
>                                 Schedule -<br>
>                                 Every 2nd and 4th Tuesday at 14:30 IST /<br>
>                                 09:00 UTC<br>
>                                 Bridge:<br>
>                                 <a href="https://meet.google.com/cpu-eiue-hvk" rel="noreferrer" target="_blank">https://meet.google.com/cpu-eiue-hvk</a><br>
>                                 <<a href="https://meet.google.com/cpu-eiue-hvk" rel="noreferrer" target="_blank">https://meet.google.com/cpu-eiue-hvk</a>><br>
>                                 Gluster-users mailing list<br>
>                                 <a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
>                                 <mailto:<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a>><br>
>                                 <a href="https://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a> <<a href="https://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a>><br>
> <br>
> <br>
> ________<br>
> <br>
> <br>
> <br>
> Community Meeting Calendar:<br>
> <br>
> Schedule -<br>
> Every 2nd and 4th Tuesday at 14:30 IST / 09:00 UTC<br>
> Bridge: <a href="https://meet.google.com/cpu-eiue-hvk" rel="noreferrer" target="_blank">https://meet.google.com/cpu-eiue-hvk</a><br>
> Gluster-users mailing list<br>
> <a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
> <a href="https://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a><br>
<br>
-- <br>
Diego Zuccato<br>
DIFA - Dip. di Fisica e Astronomia<br>
Servizi Informatici<br>
Alma Mater Studiorum - Università di Bologna<br>
V.le Berti-Pichat 6/2 - 40127 Bologna - Italy<br>
tel.: +39 051 20 95786<br>
</blockquote></div>