Re: about heal full

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxx> 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@xxxxxxx> 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@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-users



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

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.



 

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

[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux