[heketi-devel] Remove Device: Used to distribute all the bricks from device to other devices

Luis Pabon lpabon at chrysalix.org
Thu Feb 16 18:00:01 UTC 2017


Great summary.  Yes, the next step should be to figure out how to enhance
the ring to return a brick for another zone.  It could be as simple as:

If current bricks in set are in different zones:
    Get a ring
    Remove disks from the ring in zones already used
    Return devices until one is found with the appropriate size
else:
   Get a ring
   Return devices until one is found with the appropriate size

Also, order of the disks may matter.  This part I am not sure of, but, we
may need to make sure of the order of the bricks were added to the volume
during 'create'.  This may be necessary to determine which of the bricks in
the brick set are in different zones.

We may have to add a new DB entry in the Brick Entry.  For example: Brick
peers, and Volume ID

- Luis

On Wed, Feb 15, 2017 at 2:17 PM, Mohamed Ashiq Liyazudeen <
mliyazud at redhat.com> wrote:

> Hi,
>
> This mail talks about the PR[1]
>
> Let me start off with what is planned to do in this.
>
> We only support this feature for Replicate and Distribute Replicate Volume.
> Refer: https://gluster.readthedocs.io/en/latest/Administrator%
> 20Guide/Managing%20Volumes/#replace-brick
>
> Removes all the brick from the device and start these bricks on other
> devices based on allocator. Heal is triggered automatically for replicate
> volumes on replace brick. Allocate and create new brick to replace. It
> stops the brick to be replaced, If it is not already down(kill the brick
> process). Then gluster replace brick which will replace the brick with new
> one and also starts the heals.
>
> If other nodes does not have sufficient storage then this command should
> fail.
>
> 1) If there are no bricks then tell user, It is clean to remove the device.
> 2) If there are bricks in the device, then find the volume they are
> related to from the list of volumes. Brickentry does not have the volume
> name it is associated to.
> 3) move the bricks to other devices by calling the allocator for the
> devices.
> 4) eliminate the device to be removed and all the nodes which are
> associated the volume already.
>
> We missed on the zone handling part. If there is a way to give the already
> used zone and node for the volume to allocator. Then allocator can return
> the devices which will be from different zone's node. I think 2,3,4 will
> handle if there is only one zone. Let us know if there are any other risks
> or better ways to use allocator.
>
> [1] https://github.com/heketi/heketi/pull/676
>
> --
> Regards,
> Mohamed Ashiq.L
>
> _______________________________________________
> heketi-devel mailing list
> heketi-devel at gluster.org
> http://lists.gluster.org/mailman/listinfo/heketi-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/heketi-devel/attachments/20170216/3b500b54/attachment.html>


More information about the heketi-devel mailing list