[Gluster-users] about heal full

Krutika Dhananjay kdhananj at redhat.com
Tue Mar 15 14:16:39 UTC 2016


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/20160315/f6a1b2a3/attachment.html>


More information about the Gluster-users mailing list