<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 27 Jun 2019 at 12:17, Nithya Balachandran &lt;<a href="mailto:nbalacha@redhat.com">nbalacha@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi,<div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 25 Jun 2019 at 15:26, Dave Sherohman &lt;<a href="mailto:dave@sherohman.org" target="_blank">dave@sherohman.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I have a 9-brick, replica 2+A cluster and plan to (permanently) remove<br>
one of the three subvolumes.  I think I&#39;ve worked out how to do it, but<br>
want to verify first that I&#39;ve got it right, since downtime or data loss<br>
would be Bad Things.<br>
<br>
The current configuration has six data bricks across six hosts (B<br>
through G), and all three arbiter bricks on the same host (A), such as<br>
one might create with<br>
<br>
# gluster volume create myvol replica 3 arbiter 1 B:/data C:/data A:/arb1 D:/data E:/data A:/arb2 F:/data G:/data A:/arb3<br>
<br>
<br>
My objective is to remove nodes B and C entirely.<br>
<br>
First up is to pull their bricks from the volume:<br>
<br>
# gluster volume remove-brick myvol B:/data C:/data A:/arb1 start<br>
(wait for data to be migrated)<br>
# gluster volume remove-brick myvol B:/data C:/data A:/arb1 commit<br>
<br></blockquote><div><br></div><div>There are some edge cases that may prevent a file from being migrated during a remove-brick. Please do the following after this:</div><div><ol><li>Check the remove-brick status for any failures.  If there are any, check the rebalance log file for errors.</li><li>Even if there are no failures, check the removed bricks to see if any files have not been migrated. If there are any, please check that they are valid files on the brick and that they match on both bricks (files are not in split brain) and copy them to the volume from the brick to the mount point.</li></ol><div></div></div></div></div></blockquote><div>You can run the following at the root of the brick to find any files that have not been migrated:</div><div><br></div><div><span class="gmail-il">find</span> . -not \( -path ./.glusterfs -prune \) -type f -not -<span class="gmail-il">perm</span> 01000</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div>The rest of the steps look good.</div></div><div><br></div><div>Regards,</div><div>Nithya</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
And then remove the nodes with:<br>
<br>
# gluster peer detach B<br>
# gluster peer detach C<br>
<br>
<br>
Is this correct, or did I forget any steps and/or mangle the syntax on<br>
any commands?<br>
<br>
Also, for the remove-brick command, is there any way to throttle the<br>
amount of bandwidth which will be used for the data migration?<br>
Unfortunately, I was not able to provision a dedicated VLAN for the<br>
gluster servers to communicate among themselves, so I don&#39;t want it<br>
hogging all available capacity if that can be avoided.<br>
<br>
<br>
If it makes a difference, my gluster version is 3.12.15-1, running on<br>
Debian and installed from the debs at<br>
<br>
deb <a href="https://download.gluster.org/pub/gluster/glusterfs/3.12/LATEST/Debian/9/amd64/apt" rel="noreferrer" target="_blank">https://download.gluster.org/pub/gluster/glusterfs/3.12/LATEST/Debian/9/amd64/apt</a> stretch main<br>
<br>
-- <br>
Dave Sherohman<br>
_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org" target="_blank">Gluster-users@gluster.org</a><br>
<a href="https://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">https://lists.gluster.org/mailman/listinfo/gluster-users</a><br>
</blockquote></div></div>
</blockquote></div></div>