Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 May 2015 15:04:41 -0700
From:      Motty Cruz <motty.cruz@gmail.com>
To:        Konstantin Kukushkin <dark@rambler-co.ru>
Cc:        =?UTF-8?B?VHJvbmQgRW5kcmVzdMO4bA==?= <Trond.Endrestol@fagskolen.gjovik.no>, freebsd-questions@freebsd.org
Subject:   Re: Help! carp slave take over as master at boot!
Message-ID:  <5553CA79.60104@gmail.com>
In-Reply-To: <5553C041.7050903@rambler-co.ru>
References:  <55511AF3.3030408@gmail.com>	<alpine.BSF.2.20.1505120742290.46962@mail.fig.ol.no>	<CALoOYy6Tb3Pc2fLJFnQE%2Bz85Mwc1_eSTYBD8T=j4vo-i8kCRmg@mail.gmail.com>	<55531870.9060607@rambler-co.ru> <CALoOYy7doZusm6bWHtV7wkQaC4kkr6Sd-8vWxSLEvky04gwpDQ@mail.gmail.com> <5553C041.7050903@rambler-co.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for your reply;

I disabled preempt on both machines:
# net.inet.carp.preempt=1

# sysctl -a | grep "preempt"
kern.sched.preemption: 1
kern.sched.preempt_thresh: 80
net.inet.carp.preempt: 0

Machine B(slave) does take over as Master whenever Machine A(master) 
dies; However, when Machine A (master) boot up it takes over as Master; 
I would like for a Master to stay Master as long as it lives.
Thanks,
Motty


On 05/13/2015 02:21 PM, Konstantin Kukushkin wrote:
> 13.05.2015 20:58, motty cruz пишет:
>> Hello Konstantin
>>
>> This is a new setup; my goal is to have a redundant "file server"; if
>> "Machine A(master) goes down or just reboot for any reason, I want
>> Machine B(slave) to take over as Master and I want Machine (B slave) to
>> stay Master when Machine A come back on-line.
>>
>> Here is what I have thus far:
>> Machine A (master)
>> ifconfig_igb0_alias0="inet vhid 31 advbase 12 advskew 40 pass password2
>> 19.16.31.80/24 <http://19.16.31.80/24>"
>>
>> Machine B (slave)
>> ifconfig_igb0_alias0="inet vhid 31 advbase 12 advskew 80 pass password2
>> 19.16.31.80/24 <http://19.16.31.80/24>"
>> both machines: /etc/sysctl.conf
>> # net.inet.carp.preempt=1
>>
>> (Machine A ) /etc/devd.conf
>> ##### Check status of CARP interface ########
>> notify 5 {
>>                     match "system"          "CARP";
>>                     match "subsystem"       "[0-9]+@[0-9a-z]+";
>>                     match "type"            "(MASTER)";
>>                     action "/usr/local/sbin/startmaster.pl
>> <http://startmaster.pl>";
>> };
>>
>> notify 5 {
>>          match "system"          "CARP";
>>          match "type"            "[0-9]+@[0-9a-z]+";
>>          match "subsystem"       "(BACKUP)";
>>          action "/usr/local/sbin/slave.sh";
>> };
>>
>>
>> (Machine B) /etc/devd.conf
>> ### Check status of CARP interface  ###
>> notify 5 {
>>                     match "system"          "CARP";
>>                     match "subsystem"       "[0-9]+@[0-9a-z]+";
>>                     match "type"            "(MASTER)";
>>                     action "/usr/local/sbin/startmaster.pl
>> <http://startmaster.pl>";
>> };
>>
>>
>>
>> notify 5 {
>>          match "system"          "CARP";
>>          match "type"            "[0-9]+@[0-9a-z]+";
>>          match "subsystem"       "(BACKUP)";
>>          action "/usr/local/sbin/slave.sh";
>> };
>>
>> if Master machine reboots, I want slave to take over as Master and stay
>> Master even after Machine with lowest advskew come back online.
>>
>> any ideas?
>
> If you want address switched only if neighbour is died you need to 
> take carp preemtion off, i.e. net.inet.carp.preempt=0 on both machines.
> Explanation from carp(4):
> net.inet.carp.preempt - Allow virtual hosts to preempt each other.  
> When enabled, a vhid in a backup state would preempt a master that is 
> announcing itself with a lower advskew.  Disabled by default.
>
> Enabling this option need for setup where one server main and another 
> server for fallback, working if (and only if) main server is died.
>
> Pay attention that carp detect that neighbour is died if 3 packet was 
> lost, so on your setup "switch" time will be between 36 and 48 seconds.
>
>> Thanks,
>> Motty
>>
>>
>>
>> On Wed, May 13, 2015 at 2:25 AM, Konstantin Kukushkin
>> <dark@rambler-co.ru <mailto:dark@rambler-co.ru>> wrote:
>>
>>     13.05.2015 04:19, motty cruz пишет:
>>
>>         Hi thanks for your reply;
>>
>>         Machine A (master)
>>         ifconfig_igb0_alias0="inet vhid 31 advbase 12 advskew 40 pass
>>         password2
>>         19.16.31.80/24 <http://19.16.31.80/24>"
>>
>>         Machine B (slave)
>>         ifconfig_igb0_alias0="inet vhid 31 advbase 12 advskew 80 pass
>>         password2
>>         19.16.31.80/24 <http://19.16.31.80/24>"
>>
>>         if I reboot slave, on boot it takes over as Master, any idea 
>> why?
>>         both machines: /etc/sysctl.conf
>>         # net.inet.carp.preempt=1
>>
>>
>>     I don't understand master was rebooted so check runtime
>>     configuration of sysctl net.inet.carp.preempt on master.
>>     Check also /var/log/messages on both computers, sysctl
>>     net.inet.carp.demotion on master (CARP may be demoted due to
>>     interface/pfsync errors. CARP with preemption may be demoted also by
>>     down any other interface with CARP on the system).
>>     Check firewall on slave, may be it block ingress packets from 
>> master.
>>
>>
>>         On Mon, May 11, 2015 at 10:45 PM, Trond Endrestøl <
>>         Trond.Endrestol@fagskolen.gjovik.no
>>         <mailto:Trond.Endrestol@fagskolen.gjovik.no>> wrote:
>>
>>             On Mon, 11 May 2015 14:11-0700, Motty Cruz wrote:
>>
>>                 Hello, I have two machines running FreeBSD 10.1 Release.
>>                 Machine A is the
>>                 master in Carp with advskew 20 and Machine B slave with
>>                 advskew 200 both
>>
>>             are
>>
>>                 set to advbase 10. however, slave machine becomes Master
>>                 on boot;
>>
>>                 my questions is, how do I configure both machines so if
>>                 reboot any of the
>>                 machines whatever machine is Master stays master if
>>                 secondary machine
>>
>>             reboot.
>>
>>             You should augment your posting with facts. You may 
>> withhold any
>>             sensitive information such as IP addresses, but a copy of
>>             the relevant
>>             lines from /etc/rc.conf and /etc/sysctl.conf would be 
>> helpful.
>>
>>             Have you tried setting:
>>
>>             net.inet.carp.preempt=1
>>
>>             in /etc/sysctl.conf?
>>
>>             Try the command:
>>
>>             sysctl net.inet.carp.preempt=1
>>
>>             to see any immediate effect.
>>
>>             --
>> +-------------------------------+------------------------------------+
>>             | Vennlig hilsen,               | Best regards,
>>                      |
>>             | Trond Endrestøl,              | Trond Endrestøl,
>>                       |
>>             | IT-ansvarlig,                 | System administrator,
>>                      |
>>             | Fagskolen Innlandet,          | Gjøvik Technical College,
>>             Norway,  |
>>             | tlf. mob.   952 62 567,       | Cellular...: +47 952 62
>>             567 <tel:%2B47%20952%2062%20567>,       |
>>             | sentralbord 61 14 54 00.      | Switchboard: +47 61 14 54
>>             00 <tel:%2B47%2061%2014%2054%2000>.      |
>> +-------------------------------+------------------------------------+
>>
>>
>>
>>     --
>>     С уважением, Константин Кукушкин,
>>     Rambler Internet Holding
>>     mailto:dark@rambler-co.ru <mailto:dark@rambler-co.ru>
>>     тел.: 8 (495) 785-17-00#2129
>>
>>
>>
>>
>> -- 
>> Thanks for your support,
>> Motty
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5553CA79.60104>