<div dir="ltr">Hi Strahil,<div><br></div><div>Actually, I&#39;d be attaching the additional block storage to the same hosts, just under different mounts, that&#39;s why in my replies, I referenced servers1 through 4, and there would be no servers 5-8.</div><div><br></div><div>server1:brick1 server2:brick2 server3:brick3 server4:brick4 </div><div>server1:brick5 server2:brick6 server3:brick7 server4:brick8 <br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br></div><div>So no peer probe needed, and the backup can still go to the same machine, just with the new brick selected. Good to know.</div><div><br></div><div>I&#39;ll test all of this, but it looks trivial in retrospect. Hope it doesn&#39;t bite us in the butt!</div><div><br></div><div>Thanks, all.</div><div dir="ltr"><br>Sincerely,<br>Artem<br><br>--<br>Founder, <a href="http://www.androidpolice.com" target="_blank">Android Police</a>, <a href="http://www.apkmirror.com/" style="font-size:12.8px" target="_blank">APK Mirror</a><span style="font-size:12.8px">, Illogical Robot LLC</span></div><div dir="ltr"><a href="http://beerpla.net/" target="_blank">beerpla.net</a> | <a href="http://twitter.com/ArtemR" target="_blank">@ArtemR</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 18, 2020 at 11:56 PM Strahil Nikolov &lt;<a href="mailto:hunter86_bg@yahoo.com">hunter86_bg@yahoo.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">On February 19, 2020 1:59:12 AM GMT+02:00, Artem Russakovskii &lt;<a href="mailto:archon810@gmail.com" target="_blank">archon810@gmail.com</a>&gt; wrote:<br>
&gt;Hi Strahil,<br>
&gt;<br>
&gt;We have 4 main servers, and I wanted to run gluster on all of them,<br>
&gt;with<br>
&gt;everything working even if 3/4 are down, so I set up a replica 4 with<br>
&gt;quorum at 1. It&#39;s been working well for several years now, and I can<br>
&gt;lose 3<br>
&gt;out of 4 servers to outages and remain up.<br>
&gt;<br>
&gt;Amar, so to clarify, right now I set up the volume using &quot;gluster v<br>
&gt;create<br>
&gt;$GLUSTER_VOL replica 4 server1:brick1 server2:brick2 server3:brick3<br>
&gt;server4:brick4&quot;.<br>
&gt;In order to turn it into a replica 4 but distributed across 4 old<br>
&gt;bricks<br>
&gt;and 4 new bricks (say server1:brick5 server2:brick6 server3:brick7<br>
&gt;server4:brick8), what exact commands do I need to issue?<br>
&gt;<br>
&gt;The docs are a bit confusing for this case IMO:<br>
&gt;<br>
&gt;&gt; volume add-brick &lt;VOLNAME&gt; [&lt;stripe|replica&gt; &lt;COUNT&gt; [arbiter<br>
&gt;&lt;COUNT&gt;]]<br>
&gt;&gt; &lt;NEW-BRICK&gt; ... [force] - add brick to volume &lt;VOLNAME&gt;<br>
&gt;<br>
&gt;<br>
&gt;Do I need to specify a stripe? Do I need to repeat the replica param<br>
&gt;and<br>
&gt;keep it at 4? I.e.:<br>
&gt;<br>
&gt;&gt; gluster v add-brick $GLUSTER_VOL replicate 4 server1:brick5<br>
&gt;&gt; gluster v add-brick $GLUSTER_VOL replicate 4 server2:brick6<br>
&gt;&gt; gluster v add-brick $GLUSTER_VOL replicate 4 server3:brick7<br>
&gt;&gt; gluster v add-brick $GLUSTER_VOL replicate 4 server4:brick8<br>
&gt;&gt; gluster v rebalance $GLUSTER_VOL fix-layout start<br>
&gt;<br>
&gt;<br>
&gt;My reservations about going with this new approach also include the<br>
&gt;fact<br>
&gt;that right now I can back up and restore just the brick data itself as<br>
&gt;each<br>
&gt;brick contains the full copy of the data, and it&#39;s a loooot faster to<br>
&gt;access the brick data during backups (probably an order of magnitude<br>
&gt;due to<br>
&gt;unresolved list issues). If I go distributed replicated, my current<br>
&gt;backup<br>
&gt;strategy will need to shift to backing up the gluster volume itself<br>
&gt;(not<br>
&gt;sure what kind of additional load that would put on the servers), or<br>
&gt;maybe<br>
&gt;backing up one brick from each replica would work too, though it&#39;s<br>
&gt;unclear<br>
&gt;if I&#39;d be able to restore by just copying the data from such backups<br>
&gt;back<br>
&gt;into one restore location to recreate the full set of data (would that<br>
&gt;work?).<br>
&gt;<br>
&gt;Thanks again for your answers.<br>
&gt;<br>
&gt;Sincerely,<br>
&gt;Artem<br>
&gt;<br>
&gt;--<br>
&gt;Founder, Android Police &lt;<a href="http://www.androidpolice.com" rel="noreferrer" target="_blank">http://www.androidpolice.com</a>&gt;, APK Mirror<br>
&gt;&lt;<a href="http://www.apkmirror.com/" rel="noreferrer" target="_blank">http://www.apkmirror.com/</a>&gt;, Illogical Robot LLC<br>
&gt;<a href="http://beerpla.net" rel="noreferrer" target="_blank">beerpla.net</a> | @ArtemR<br>
&gt;&lt;<a href="http://twitter.com/ArtemR" rel="noreferrer" target="_blank">http://twitter.com/ArtemR</a>&gt;<br>
&gt;<br>
&gt;<br>
&gt;On Mon, Feb 17, 2020 at 3:29 PM Strahil Nikolov &lt;<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>&gt;<br>
&gt;wrote:<br>
&gt;<br>
&gt;&gt; On February 18, 2020 1:16:19 AM GMT+02:00, Artem Russakovskii &lt;<br>
&gt;&gt; <a href="mailto:archon810@gmail.com" target="_blank">archon810@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;Hi all,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;We currently have an 8TB 4-brick replicated volume on our 4 servers,<br>
&gt;&gt; &gt;and<br>
&gt;&gt; &gt;are at 80% capacity. The max disk size on our host is 10TB. I&#39;m<br>
&gt;&gt; &gt;starting to<br>
&gt;&gt; &gt;think about what happens closer to 100% and see 2 options.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Either we go with another new 4-brick replicated volume and start<br>
&gt;&gt; &gt;dealing<br>
&gt;&gt; &gt;with symlinks in our webapp to make sure it knows which volumes the<br>
&gt;&gt; &gt;data is<br>
&gt;&gt; &gt;on, which is a bit of a pain (but not too much) on the sysops side<br>
&gt;of<br>
&gt;&gt; &gt;things. Right now the whole volume mount is symlinked to a single<br>
&gt;&gt; &gt;location<br>
&gt;&gt; &gt;in the webapps (an uploads/ directory) and life is good. After such<br>
&gt;a<br>
&gt;&gt; &gt;split, I&#39;d have to split uploads into yeardir symlinks, make sure<br>
&gt;&gt; &gt;future<br>
&gt;&gt; &gt;yeardir symlinks are created ahead of time and point to the right<br>
&gt;&gt; &gt;volume,<br>
&gt;&gt; &gt;etc).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;The other direction would be converting the replicated volume to a<br>
&gt;&gt; &gt;distributed replicated one<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;<a href="https://docs.gluster.org/en/latest/Administrator%20Guide/Setting%20Up%20Volumes/#creating-distributed-replicated-volumes" rel="noreferrer" target="_blank">https://docs.gluster.org/en/latest/Administrator%20Guide/Setting%20Up%20Volumes/#creating-distributed-replicated-volumes</a><br>
&gt;&gt; ,<br>
&gt;&gt; &gt;but I&#39;m a bit scared to do it with production data (even after<br>
&gt;testing,<br>
&gt;&gt; &gt;of<br>
&gt;&gt; &gt;course), and having never dealt with a distributed replicated<br>
&gt;volume.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;1. Is it possible to convert our existing volume on the fly by<br>
&gt;adding 4<br>
&gt;&gt; &gt;   bricks but keeping the replica count at 4?<br>
&gt;&gt; &gt;2. What happens if bricks 5-8 which contain the replicated volume #2<br>
&gt;go<br>
&gt;&gt; &gt;down for whatever reason or can&#39;t meet their quorum, but the<br>
&gt;replicated<br>
&gt;&gt; &gt;   volume #1 is still up? Does the whole main combined volume become<br>
&gt;&gt; &gt;unavailable or only a portion of it which has data residing on<br>
&gt;&gt; &gt;replicated<br>
&gt;&gt; &gt;   volume #2?<br>
&gt;&gt; &gt;   3. Any other gotchas?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Thank you very much in advance.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Sincerely,<br>
&gt;&gt; &gt;Artem<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;--<br>
&gt;&gt; &gt;Founder, Android Police &lt;<a href="http://www.androidpolice.com" rel="noreferrer" target="_blank">http://www.androidpolice.com</a>&gt;, APK Mirror<br>
&gt;&gt; &gt;&lt;<a href="http://www.apkmirror.com/" rel="noreferrer" target="_blank">http://www.apkmirror.com/</a>&gt;, Illogical Robot LLC<br>
&gt;&gt; &gt;<a href="http://beerpla.net" rel="noreferrer" target="_blank">beerpla.net</a> | @ArtemR<br>
&gt;&gt; &gt;&lt;<a href="http://twitter.com/ArtemR" rel="noreferrer" target="_blank">http://twitter.com/ArtemR</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Distributed replicated sounds more reasonable.<br>
&gt;&gt;<br>
&gt;&gt; Out of curiocity, why did you decide to have an even number of bricks<br>
&gt;in<br>
&gt;&gt; the replica - it can still suffer from split-brain?<br>
&gt;&gt;<br>
&gt;&gt; 1.  It should be OK, but I have never done it. Test on some VMs<br>
&gt;before<br>
&gt;&gt; proceeding.<br>
&gt;&gt; Rebalance might take some time, so keep that in mind.<br>
&gt;&gt;<br>
&gt;&gt; 2.All files on replica 5-8 will be unavailable untill yoiu recover<br>
&gt;that<br>
&gt;&gt; set of bricks.<br>
&gt;&gt;<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Strahil Nikolov<br>
&gt;&gt;<br>
&gt;&gt;<br>
<br>
Hi Artem,<br>
<br>
That&#39;s interesting...<br>
In order to extend the volume you will need to:<br>
gluster peer probe node5<br>
gluster peer probe node6<br>
gluster peer probe node7<br>
gluster peer probe node8<br>
<br>
gluster volume add-brick replica 4 node{5..8}:/brick/path <br>
<br>
Note: Asuming that the brick paths are the same.<br>
<br>
For the backup, you can still backup via the gluster bricks, but you need to pick 1 node per replica set - as your data will be like this:<br>
Node1..4-&gt; A<br>
Node5..8-&gt; B<br>
<br>
So, you need to backup from 2  hosts instead of one.<br>
<br>
Best Regards,<br>
Strahil Nikolov<br>
</blockquote></div>