[Gluster-users] gluster ha/replication/disaster recover(dr translator) wish list
Prabhu Ramachandran
prabhu at aero.iitb.ac.in
Mon Jan 26 18:36:19 UTC 2009
Hi Keith,
Thanks for the detailed response.
On 01/26/09 15:31, Keith Freedman wrote:
> At 09:12 AM 1/25/2009, Prabhu Ramachandran wrote:
>> With glusterfs I used unify for the 4 partitions on each machine and
>> then afr'd the two unified disks but was told that this is not a
>> reliable way of doing things and that I'd run into problems when one
>> host goes down.
>
> it depends what happens when a host goes down.
> if the issue is "server crashed" then you should be fine doing this with
> gluster/HA translator.
>
> as long as you unify bricks that are all on one server, and AFR to a
> unify of bricks all on the other server, then if one server is down, AFR
> will only use the unify brick of the server that is up.
> when the other server comes back up, things will auto-heal the server
> that was down.
OK, I'm in luck then. I have two machines say A and B each of which
have 4 different sized partitions (different disks) that I unify. So I
have a unifyA and a unifyB. I then AFR these two unified bricks.
> IF your problem is that a server is temporarily down because an unstable
> network connection, then you have a more difficult problem.
Well, I only used the setup for a bit till Krishna told me that I was
likely to run into problems and I stopped. So I didn't really run into
problems in that short period.
> Here, if the network connection fails and is back up in short periods of
> time you'll alway be experiencing delays as gluster is often waiting for
> timeouts, then the server is visible again, it auto-heals, then it's not
> visible and it has to timeout.
> It'll likely work just fine, but this will seem pretty slow (but no
> moreso than an NFS mount behind a faulty connection I suppose).
Are you saying I can't use the local files on machine A (even if I am
not touching any files on B) when the network is down even though all I
am doing is reading and perhaps writing locally on A? That could be a
bit of a problem in my case since I usually keep any local builds on the
partitions I'd like to share. There could be other problems when one
machine is down for maintenance for example (or the disk crashes).
> Things can be further complicated if you have some clients that can see
> SERVER 1 and other clients that only see SERVER 2. If this happens,
> then you will increase the likelihood of a split brain situation and
> things will go wrong when it tries to auto-heal (most likely requiring
> manual intervention to get back to a stable state).
Ahh, but in my case I don't have that problem there are only two
machines (currently at any rate).
> so the replication features of gluster/HA will most likely solve your
> problem.
> if you have specific concerns, post a volume config to the group so
> people can advise you on a specific configuration.
Well, I posted my configuration a while ago here:
http://gluster.org/pipermail/gluster-users/20081217/000899.html
The attachment is scrubbed which makes it a pain to get from there. I
enclose the relevant parts below. Many thanks.
cheers,
prabhu
--- glusterfs-server.vol ---
# Unify four partitions (I only display two here for brevity)
# Declare the storage directories.
volume posix1
type storage/posix
option directory /export/sda5/export
end-volume
# The namespace storage.
volume posix-ns
type storage/posix
option directory /export/sdb6/export-ns
end-volume
# snip similar blocks for other partitions
# The locks for the storage to create bricks.
volume brick1
type features/posix-locks
option mandatory on # enables mandatory locking on all files
subvolumes posix1
end-volume
volume brick-ns
type features/posix-locks
option mandatory on # enables mandatory locking on all files
subvolumes posix-ns
# Now unify the bricks.
volume unify
type cluster/unify
option namespace brick-ns
subvolumes brick1 brick2 brick3 brick4
option scheduler rr
end-volume
# Serve the unified brick on the network.
volume server
type protocol/server
option transport-type tcp/server
subvolumes unify
option auth.addr.unify.allow x.y.z.w,127.0.0.1
end-volume
------- EOF ------------
------- glusterfs-client.vol ----------
# The unified servers: 1 and 2.
volume server1
type protocol/client
option transport-type tcp/client
option remote-host w.x.y.z
option remote-subvolume unify
end-volume
volume server2
type protocol/client
option transport-type tcp/client
option remote-host w1.x.y.z
option remote-subvolume unify
end-volume
# AFR the two servers.
volume afr
type cluster/afr
subvolumes server1 server2
end-volume
-------- EOF ------------------
More information about the Gluster-users
mailing list