URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97462
[ Назад ]

Исходное сообщение
"nopreempt в keealived"

Отправлено dile , 12-Сен-19 19:07 
Товарсчи, такой момент что отказывается работать директива nopreempt в keeapalived, настроен centos/7 из репозитория и последний скомпилированный из исходников
Собственно вопрос не сложный, скажите что это штука работает, ну и если не сложно укажите что прям такого нужно сделать акромя описнного в manual'е.

конфиг такой
--------------------------
для master


! Configuration File for keepalived

global_defs {
   notification_email {
   }
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}


vrrp_instance VI_1 {
    strict_mode off
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    unicast_src_ip 192.168.199.171
    unicast_peer {
        192.168.199.172
    }
    virtual_ipaddress {
        192.168.199.20
    }
}
~                                                                                                
~                                                                                                
~                              

-------------------------------------------------------------
для backup

! Configuration File for keepalived

global_defs {
   notification_email {
   }
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    strict_mode off
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    nopreempt
    unicast_src_ip 192.168.199.172
    unicast_peer {
        192.168.199.171
    }
    virtual_ipaddress {
        192.168.199.20
    }
}
~  


Содержание

Сообщения в этом обсуждении
"nopreempt в keealived"
Отправлено Ананомизец , 13-Сен-19 17:25 
а чего получить то хочешь, мил человек?

делай оба state BACKUP


"nopreempt в keealived"
Отправлено dile , 13-Сен-19 23:10 
> а чего получить то хочешь, мил человек?

нужно для переключалки master'а mysql, т.е. если переключился ip и промоутился на master то держать ip "зубами"
> делай оба state BACKUP

нужно что бы первый при прочих равных зарусках был всегда мастер, а второй если что случилось, то переключился на себя промутил бы mysql и держал этот VIP что бы не случилось с первым хостом, пока не придет бородатый админ и все не вернет как было,
...хотя даже это рискованно


"nopreempt в keealived"
Отправлено GRCat , 25-Сен-19 09:50 
> нужно что бы первый при прочих равных запусках был всегда мастер, а
> второй если что случилось, то переключился VIP на себя и промутил
> бы mysql, и нужно что бы держал этот VIP что бы
> не случилось, пока не придет бородатый админ и все не вернет
> как было
> ...хотя даже это рискованно

Один Master, второй Backup.

Пишете собственный скрипт для notify, в котором создается флаг.
Пишете собственный скрипт для проверки, в котором проверяются условия переключения VIP (жив сервис или что-то еще)
и дополнительно - наличие флага. При наличии флага/не прохождении проверок, скрипт возвращает
любое значение, отличное от 0(нуля), в противном случае - возвращается 0(нуль).

Т.о. VIP будет держаться на backup ноде, даже если сервис на мастере поднялся (но остался флаг).