We have plans of introduction the option to scale up/down replication counts on a volume. This way you can move between distributed and distributed-replicated volumes by doing add-brick with a proper 'replica N' parameter. Running replicate with a single subvolume is something we don't test and do not recommend/support.<div>
<br></div><div>Avati<br><br><div class="gmail_quote">On Mon, May 30, 2011 at 5:18 AM, Joe Landman <span dir="ltr"><<a href="mailto:landman@scalableinformatics.com">landman@scalableinformatics.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 05/29/2011 07:31 PM, Craig Carl, Gluster wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Avati - This type of functionality is incredibly useful from an IT<br>
operations POV, my thinking is it would make migrating from a<br>
distribute only to a distribute-replica volume easier.<br>
<br>
<br>
</blockquote>
<br></div>
Actually, this is what I had in mind. This was only the very first step. I was starting to look at the logic underneath the replicate setup. My initial guess is that all it would really take to enable this is a sequence of<br>
<br>
create with missing mirror<br>
add-brick to mirror<br>
<br>
Then growth (add-brick) to grow. Rebalance after add.<br>
<br>
I don't think there needs to be much additional code for this. Will be trying it soon on one of our internal units. The change in this case is a single line really, and it just lowers the limit for the mirror to 1.<br>
<br>
An alternative, and similar to linux MD RAID, is to use the "missing" keyword. This could be useful in setting up a larger mirror with initial portion missing. This might make sense for geo-replication as well (create 1/2 of the replica, and add the next portion as a mirror, leveraging rsync and inotify events).<div>
<div></div><div class="h5"><br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Craig<br>
<br>
<br>
----- Original Message ----- From: "Anand<br>
Avati"<<a href="mailto:anand.avati@gmail.com" target="_blank">anand.avati@gmail.com</a>> To: <a href="mailto:landman@scalableinformatics.com" target="_blank">landman@scalableinformatics.com</a> Cc:<br>
"Gluster Devel"<<a href="mailto:gluster-devel@nongnu.org" target="_blank">gluster-devel@nongnu.org</a>> Sent: Saturday, May 28,<br>
2011 8:12:18 AM Subject: Re: [Gluster-devel] [PATCH] Enable replica 1<br>
mirror creation for mirrored volumes<br>
<br>
<br>
Joe, Can you shed some more light on the use case? What purpose is<br>
the replicate translator serving without the second server? In what<br>
way is this more beneficial than loading the replicate translator<br>
only when the second server is introduced to the system?<br>
<br>
<br>
Avati<br>
<br>
<br>
On Sat, May 28, 2011 at 7:11 PM, Joe Landman<<br>
<a href="mailto:landman@scalableinformatics.com" target="_blank">landman@scalableinformatics.com</a>> wrote:<br>
<br>
<br>
This patch to the cli enables a very simple replica 1 mirror creation<br>
(similar to the "missing" attribute for mdadm RAID1 creation).<br>
<br>
It will likely need additional supporting work in add-brick so that<br>
incomplete mirrors are assembled correctly for distributed-replicated<br>
cases.<br>
<br>
Building/Assembling an incomplete mirror is an important capability<br>
needed for a number of use cases.<br>
<br>
</blockquote>
<br>
<br>
-- <br>
Joseph Landman, Ph.D<br>
Founder and CEO<br>
Scalable Informatics, Inc.<br>
email: <a href="mailto:landman@scalableinformatics.com" target="_blank">landman@scalableinformatics.com</a><br>
web : <a href="http://scalableinformatics.com" target="_blank">http://scalableinformatics.com</a><br>
<a href="http://scalableinformatics.com/sicluster" target="_blank">http://scalableinformatics.com/sicluster</a><br>
phone: +1 734 786 8423 x121<br>
fax : +1 866 888 3112<br>
cell : +1 734 612 4615<br>
</div></div></blockquote></div><br></div>