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

Mohamed Ashiq Liyazudeen mliyazud at redhat.com
Wed Feb 15 19:17:00 UTC 2017


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 



More information about the heketi-devel mailing list