Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Feb 2012 12:54:49 +0200
From:      George Kontostanos <gkontos.mail@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   HAST considarations
Message-ID:  <CA%2BdUSypg_3uNYMtU2tnvrvAPFw8MjM596tDZ=R_eqpE=GL1-=A@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Greetings list,

I have been experimenting with HAST on a raidz ZFS pool and I have
stumbled upon some issues. So, any suggestions are highly appreciated
:)

My testing environment is consisted of a Linux KVM machine with an
Intel Core2Duo and 4G RAM with 2 SATA drives striped (for performance)
since I don't have the metal to experiment.

When someone is considering to use a HA solution for storage then I am
quite sure that their set up would include redundant switches and
NICs. For best performance the HAST synchronization should be
independent from the CARP interfaces, possibly consisting with more
than 1 NIC with lag. At least that's what I think.

The first problem appeared when trying to setup the resources. It
seems that the resource name is tight up with the machines hostname.
My hast.conf looks like this:

resource disk1 {
        on hast1 {
                local /dev/da0
                remote hast2
        }
        on hast2 {
                local /dev/da0
                remote hast1
        }
}

resource disk2 {
        on hast1 {
                local /dev/da1
                remote hast2
        }
        on hast2 {
                local /dev/da1
                remote hast1
        }
}

However, the hostnames are storage1 and storage2 with storage being
the shared CARP IP. Both hast1 & hast2 resolve in /etc/hosts and are
connected to a different private vlan but when trying to create the
first resource the system complained that only hast1 is an acceptable
resource name.

After changing both machines hostnames I was able to create the
resources and a zpool mirror consisted upon /dev/hast/disk1 &
/dev/hast/disk2

Manual failover also worked by exporting the pool from the master,
switching roles and then importing the pool on the slave. Yet, looking
at the example scripts I realized that there is a lot of work to be
done since automatic failover is based upon the CARP device and is
limited to one resource. I replicated the resources at the script
level in order to switch roles for all the devices. Still it looks
very basic and crapy.
Also, I added the NIC witch is being used for HAST replication to the
/etc/devd.conf besides CARP

I see this being at an early stage but I was wondering if anyone has
to share some success (or not) stories. Also, does anyone else share
my point regarding separating CARP and HAST replication? If yes I
would be very interesting to know how this was done.

Regards

-- 
George Kontostanos
Aicom telecoms ltd
http://www.aisecure.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BdUSypg_3uNYMtU2tnvrvAPFw8MjM596tDZ=R_eqpE=GL1-=A>