CARP on -CURRENT

Andrew Hobbs andrew.hobbs at ai.net
Sat Feb 4 03:41:09 UTC 2012


On Feb 3, 2012, at 1:02 PM, Freddie Cash wrote:

> On Fri, Feb 3, 2012 at 1:35 AM, Andrew Hobbs <andrew.hobbs at ai.net> wrote:
>>> On 2 February 2012 04:26, Andrew Hobbs <andrew.hobbs at ai.net> wrote:
>>>> I much appreciate the responses and I was able to get CARP functioning
>>>> using the new ifconfig syntax under -CURRENT. Having done that, CARP
>>>> is now acting as it should, though now I have a new challenge with
>>>> devd and automatic firing of scripts during CARP failover. It appears
>>>> that the documented method of doing this at
>>>> http://www.freebsd.org/doc/handbook/disks-hast.html no longer works
>>>> with the suggested devd.conf setup; notify 30 {
>>>>        match "system" "IFNET";
>>>>        match "subsystem" "carp0";
>>>>        match "type" "LINK_UP";
>>>>        action "/usr/local/sbin/carp-hast-switch master"; };
>>>> 
>>>> notify 30 {
>>>>        match "system" "IFNET";
>>>>        match "subsystem" "carp0";
>>>>        match "type" "LINK_DOWN";
>>>>        action "/usr/local/sbin/carp-hast-switch slave";
>>>> 
>>>> Is it likely that the triggers associated with CARP for devd have changed due to the recent new CARP overhaul? Does anyone know what the new triggers may be?
>>>> 
>>> 
>>> You will need to change this to something like (as taken from man carp):
>>>          match "system"          "CARP";
>>>          match "subsystem"       "[0-9]+@";
>>>          match "type"            "(MASTER|BACKUP)";
>>> 
>>> The subsystem now is generated as
>>> snprintf(subsys, IFNAMSIZ+5, "%u@%s", sc->sc_vhid, sc->sc_carpdev->if_xname);
> 
>> Thanks for the info. I was able to get the triggers firing from devd. I also noticed that the man page on 'carp' references a "carpcontrol.sh" script as an action. Has this script been prototyped anywhere yet?
> 
> Mind posting the devd.conf entries you are using?  Maybe submitting a
> docs PR with them included, to update the HAST page?
> 
> Thanks.  I haven't played with HAST and the new CARP code yet.
> 
> -- 
> Freddie Cash
> fjwcash at gmail.com

The entirety of the cogent entry in /etc/devd.conf that I am using follows;

notify 0 {
        match "system"          "CARP";
        match "subsystem"       "[0-9]+@";
        match "type"            "(INIT|MASTER|BACKUP)";
#       action "/root/carpcontrol.sh $subsystem $type";
       action "/etc/test_carp.sh $subsystem $type";
};

This differs from the example in "man 4 carp" only by one line. I substituted the 'action "/etc/test_carp.sh $subsystem $type";' for the line above it, as I cannot seem to locate a 'carpcontrol.sh' script anywhere on my 10.0-CURRENT test platform. Hence my earlier inquiry as to if it had been prototyped anywhere yet. I did locate several CARP related action scripts in /usr/share/examples/hast/ but I'm not sure how they different from this ephemeral 'carpcontrol.sh' script without seeing it.

-Andrew


More information about the freebsd-current mailing list