[Gluster-users] Shared VM disk/image on gluster for redundancy?

Emmanuel Noobadmin centos.admin at gmail.com
Tue Jun 29 20:57:52 UTC 2010


Just realized something but most likely it's just me missing it.

If I were to add additional storage servers to the mix, doesn't it
mean I would have to edit the volume files for every single
application server and add an entry for datasrv2vol0 then datasrv3vol0
when I add a fourth? Sounds a little tedious and also if I didn't
understand wrongly, replicate will simply use these to replicate the
same data so I don't get increased capacity, just increased
redundancy.




On 6/30/10, Emmanuel Noobadmin <centos.admin at gmail.com> wrote:
> Thanks for the help! Now that I'm certain I'm not trying something
> undoable, I'll probably test drive on VMs first before ordering the
> physical machines. But before that, I'll still have to decide between
> ESXi/Xen/KVM.
>
>
>
> On 6/29/10, Jeff Darcy <jdarcy at redhat.com> wrote:
>> On 06/29/2010 10:04 AM, Emmanuel Noobadmin wrote:
>>> So most likely I would run two or more physical machines with VM to
>>> failover to each other to catch situations of a single machine
>>> failure. Along with that a pair of storage server. In the case of a
>>> total failure where both the primary & secondary VM dies physically,
>>> roll in a new machine to load up the VM images still safe on the
>>> gluster data servers.
>>>
>>> So in this case would I be correct that my configuration, assuming a
>>> basic 2 physical VM host server and 2 storage server would probably
>>> look something like
>>>
>>> volume rep0
>>> 	type cluster/replicate
>>> 	option read-subvolume vmsrv0vol0
>>> 	subvolumes vmsrv0vol0 datasrv0vol0 datasrv1vol0
>>> end-volume
>>>
>>>
>>> volume rep1
>>> 	type cluster/replicate
>>> 	option read-subvolume vmsrv1vol0
>>> 	subvolumes vmsrv1vol0 datasrv0vol0 datasrv1vol0
>>> end-volume
>>>
>>> volume my_nufa
>>> 	type cluster/nufa
>>> 	option local-volume-name rep0
>>> 	subvolumes rep0 rep1
>>> end-volume
>>>
>>> Or did I lose my way somewhere? :)
>>
>> That looks reasonable to me, except that the last stanza would only
>> apply on vmsrv0.  For vmsrv1, you'd want this instead:
>>
>> 	volume my_nufa
>> 		type cluster/nufa
>> 		option local-volume-name rep1	# this is the only difference
>> 		subvolumes rep0 rep1
>> 	end-volume
>>
>> It's a little unfortunate that you can't do this with a single volfile,
>> perhaps with $-variable substitutions or some such, but that's the way
>> it is AFAIK.
>> 		
>>
>>> Does it make any sense to replicate across all 3 or should I simply
>>> spec the VM servers with tiny drives and put everything on the gluster
>>> storage which I suppose would impact performance severely?
>>
>> That's a pretty murky area.  With a fast interconnect it's tempting to
>> say the "storage of record" should be only on the data nodes and the app
>> nodes should only do caching.  It would certainly be simpler, though
>> with more than two data nodes you'd have to do essentially the same
>> layering of distribute on top of replicate (nufa wouldn't be
>> particularly useful in that configuration).  If you wanted to stick with
>> something more like the above, you'd just need to pair each app node
>> with a data node, so e.g. rep0=vmsrv0vol0+datasrv0vol0 and
>> rep1=vmsrv1vol0+datasrv1vol1.  You would probably also want to "cross"
>> the read-subvolume assignments, so for example vol0 would go first to
>> datasrv1vol0 instead of vmsrv1vol0 for rep1.  This avoids having the app
>> nodes talk to each other when they could be talking to data nodes
>> instead.
>> _______________________________________________
>> Gluster-users mailing list
>> Gluster-users at gluster.org
>> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
>>
>



More information about the Gluster-users mailing list