CARP 使用笔记
1、安裝
?
freebsd 7.3下用kldload if_carp 加載不了,報(bào)找不到模塊的錯(cuò),升級(jí)到9.2后就可以了。
然后按照freebsd官方手冊(cè)的ifconfig carp0 create創(chuàng)建設(shè)備,然后改/etc/rc.conf中的carp0配置,重啟網(wǎng)卡生效。
?
2、鉤子腳本
?
看 /etc/devd.conf里面是否有下面這兩個(gè)目錄,在freebsd下,默認(rèn)是有的:
# grep directory /etc/devd.conf
# Each “directory” directive adds a directory to the list of
directory “/etc/devd”;
directory “/usr/local/etc/devd”;
?
編輯notify.conf配置文件,注意必須要.conf后綴,否則devd進(jìn)程無法讀取該配置文件:
vi /usr/local/etc/devd/notify.conf
notify 30{match "system" "IFNET";
match "subsystem" "carp0";
match "type" "LINK_UP";
action "/root/scripts/notify.sh up";
};?
notify 30{
match "system" "IFNET";
match "subsystem" "carp0";
match "type" "LINK_DOWN";
action "/root/scripts/notify.sh down";
};?
?
30表示這個(gè)notify的優(yōu)先級(jí),讓devd進(jìn)程接收到后優(yōu)先處理
?
重啟devd進(jìn)程:/etc/rc.d/devd restart?
?
3、高階使用
?
由于怕一對(duì)carp設(shè)備因?yàn)榫W(wǎng)絡(luò)的抖動(dòng)造成ip敏感切換,可以啟用兩對(duì)carp設(shè)備,一對(duì)是綁定對(duì)外ip,一對(duì)是內(nèi)網(wǎng)ip,僅用于心跳:
| hostA(master) | hostB(backup) |
| carp0:pub_ip | carp0:pub_ip |
| carp1:10.0.0.1 | carp1:10.0.0.2 |
實(shí)際環(huán)境中,需要先對(duì)A的物理網(wǎng)卡添加別名10.0.0.3/24,對(duì)B的物理網(wǎng)卡添加別名10.0.0.4/24,然后再創(chuàng)建carp1設(shè)備及添加ip,這樣carp1才會(huì)找到路由廣播vrrp,不然兩個(gè)carp1設(shè)備都認(rèn)為自己是master。
之后,綁定carp1的鉤子腳本,ip切換時(shí),腳本ping一下pub_ip是否有響應(yīng),僅當(dāng)沒響應(yīng)的時(shí)候才切換pub_ip。
實(shí)際使用中發(fā)現(xiàn),如果改了A的路由,讓vrrp發(fā)不出去,B在變?yōu)閙aster后,再恢復(fù)A的路由,此時(shí)A會(huì)變?yōu)閎ackup。
轉(zhuǎn)載于:https://www.cnblogs.com/children/p/3432989.html
總結(jié)
- 上一篇: NO.104使用禅道创建和评审需求
- 下一篇: ARM的批量加载/存储指令