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