[Gluster-devel] HA failover question.

Daniel van Ham Colchete daniel.colchete at gmail.com
Wed Oct 17 13:35:25 UTC 2007


On 10/17/07, Chris Johnson <johnson at nmr.mgh.harvard.edu> wrote:
>
>       Hey all.
>
>       I'm getting an idea on what AFR does here.  Thank you for the
> documentration pointers.  We have a specific implementation in mind of
> course.  I still haven't figured out it if glusterfs can do this yet.
>
>       My definition of High Availability for a file system includes
> multiple points of access.  If an access node drops out I don't want my
> clients to even blink.  Here's what I want to do.
>
>       We have this monstrosity called a SATABeast.  Really big drive
> loaded
> RAID system with two DELLS frontending it, redundant paths yada yada.
> To the DELL nodes it just looks like a LOT of really big drives, /dev/sda
> to /dev/sdz in CentOS5.  It's important to note that the Beast looks
> identical to the DELL frontends.  It is identical, it's the same
> Beats.
>
>       What I'd like to do of course is to use the frontends in a
> failover capacity.  If one frontend fails for whatever reason I want
> the other to seamlessly take over the whole job so the clients don't
> even notice the loss.  And of course when the node comes back the load
> redistributes.  Doing AFR in this configuration would be great to.
> We've tried other forms of RAID and there are limitations as we all
> know.  Really like to find a way around them.
>
>       Can GlusterFS do this?  If so can someone provide me with client
> and server config files for this please?  Much appreciated.
>
>
Chris,

so both servers are accessing the same SATABeast to export the same
filesystem? If so, AFR is not what you are looking for. AFR will try to
replicate the files to both servers and they already to this in the
back-end. If you have two different iSCSI virtual disks to each server, them
AFR is what you are looking for.

Right now AFR will always read from the first available server. Not
splitting the read traffic. This will change with GlusterFS 1.4 (with the HA
translator, not sure though). But you can have two AFRs, each with one
server as it's first subvolume. It would be like (doing AFR on the client
side):

=== BEGIN CLIENT SPEC FILE ===
volume s1-b1
        type protocol/client
        option transport-type tcp/client
        option remote-host 172.16.0.1
        option remote-subvolume b1
        option transport-timeout 5
end-volume

volume s2-b1
        type protocol/client
        option transport-type tcp/client
        option remote-host 172.16.0.2
        option remote-subvolume b1
        option transport-timeout 5
end-volume

volume s1-b2
        type protocol/client
        option transport-type tcp/client
        option remote-host 172.16.0.1
        option remote-subvolume b2
        option transport-timeout 5
end-volume

volume s2-b2
        type protocol/client
        option transport-type tcp/client
        option remote-host 172.16.0.2
        option remote-subvolume b2
        option transport-timeout 5
end-volume

volume s1-bn
        type protocol/client
        option transport-type tcp/client
        option remote-host 172.16.0.1
        option remote-subvolume bn
        option transport-timeout 5
end-volume

volume afr1
        type cluster/afr
        subvolumes s1-b1 s2-b1
        option replicate *:2
end-volume

volume afr2
        type cluster/afr
        subvolumes s2-b2 s1-b2
        option replicate *:2
end-volume

volume unify
        type cluster/unify
        subvolumes afr1 afr2
        option namespace s1-bn
        option scheduler rr
        option rr.limits.min-free-disk 5
end-volume
=== END CLIENT SPEC FILE ===

With this you have to replication you need, plus sharing the read traffic
between the front-end storage servers. The write performance is always
limited to the minimum write performance of each server.

Please pay attention to the fact that you have a serious
single-point-of-failure. A fire, electrical problems, human error and many
other things can happen with that single SATABeast. I would have two. I
always pair everything. But I really liked that SATABeast and having 42
disks with only 4U.

What do you think?

Best regards,
Daniel



More information about the Gluster-devel mailing list