[Gluster-users] about heal full

songxin songxin_1980 at 126.com
Fri Mar 18 06:34:54 UTC 2016




Hi,
Thank you for your help.
My glusterfs version is 3.7.6.
Must 'heal-full' be executed on the node with the highest uuid in glusterfs 3.7.6.


Does glusterfs 3.7.8 have fixed this problem?Or there is no patch for it?


Thanks,
Xin










At 2016-03-15 22:16:39, "Krutika Dhananjay" <kdhananj at redhat.com> wrote:

Joe,


There is an open bug already: https://bugzilla.redhat.com/show_bug.cgi?id=1112158


-Krutika



On Tue, Mar 15, 2016 at 7:22 PM, Joe Julian <joe at julianfamily.org> wrote:

What? That's poor behavior. I'll open a bug on that. We have a network of management daemons that should be able to coordinate that on their own.



On March 14, 2016 8:43:56 PM PDT, Krutika Dhananjay <kdhananj at redhat.com> wrote:
Yes. 'heal-full' should be executed on the node with the highest uuid.


Here's how i normally figure out what uuid is the highest:

Put all the nodes' uuids in a text file, one per line, sort them and get the last uuid from the list.


To be more precise:

On any node, you can get the uuids of the peers through `gluster peer status` output.

Gather them all and put them in a file.

Next, in order to get the uuid of the node where you executed peer status itself, you use the command `gluster system:: uuid get`

Put this uuid as well into the text file.


Now execute

# cat <text-file-path> | sort


The last uuid printed in this list is the one that corresponds to the highest uuid in the cluster.


HTH,

Krutika





On Mon, Mar 14, 2016 at 12:49 PM, songxin <songxin_1980 at 126.com> wrote:

Hi,
I have create a replicate volume and I want  to run "gluster volume heal gv0 full".


I found that if I run "gluster volume heal gv0 full" on one board it always output err like below.
         Launching heal operation to perform full self heal on volume gv0 has been unsuccessful


But If I run "heal full " on the another board it alway sucessful.


I found the code of glusterfs as  below.


                if (gf_uuid_compare (brickinfo->uuid, candidate) > 0)
                        gf_uuid_copy (candidate, brickinfo->uuid);


                if ((*index) % hxl_children == 0) {
                        if (!gf_uuid_compare (MY_UUID, candidate)) {
                                _add_hxlator_to_dict (dict, volinfo,
                                                      ((*index)-1)/hxl_children,
                                                      (*hxlator_count));
                                (*hxlator_count)++;
                        }
                        gf_uuid_clear (candidate);
                }


My question is below:
Must I run "heal full" on the board whose uuid is the biggest?
If so, how cound I know which is the biggest board before I try to run "heal full" on every board?


Thanks,
Xin






 




 


_______________________________________________
Gluster-users mailing list
Gluster-users at gluster.org
http://www.gluster.org/mailman/listinfo/gluster-users





Gluster-users mailing list
Gluster-users at gluster.org
http://www.gluster.org/mailman/listinfo/gluster-users


--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20160318/db6a7dad/attachment.html>


More information about the Gluster-users mailing list