CARP 使用笔记
1、安裝
?
freebsd 7.3下用kldload if_carp 加載不了,報找不到模塊的錯,升級到9.2后就可以了。
然后按照freebsd官方手冊的ifconfig carp0 create創建設備,然后改/etc/rc.conf中的carp0配置,重啟網卡生效。
?
2、鉤子腳本
?
看 /etc/devd.conf里面是否有下面這兩個目錄,在freebsd下,默認是有的:
# 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進程無法讀取該配置文件:
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表示這個notify的優先級,讓devd進程接收到后優先處理
?
重啟devd進程:/etc/rc.d/devd restart?
?
3、高階使用
?
由于怕一對carp設備因為網絡的抖動造成ip敏感切換,可以啟用兩對carp設備,一對是綁定對外ip,一對是內網ip,僅用于心跳:
| hostA(master) | hostB(backup) |
| carp0:pub_ip | carp0:pub_ip |
| carp1:10.0.0.1 | carp1:10.0.0.2 |
實際環境中,需要先對A的物理網卡添加別名10.0.0.3/24,對B的物理網卡添加別名10.0.0.4/24,然后再創建carp1設備及添加ip,這樣carp1才會找到路由廣播vrrp,不然兩個carp1設備都認為自己是master。
之后,綁定carp1的鉤子腳本,ip切換時,腳本ping一下pub_ip是否有響應,僅當沒響應的時候才切換pub_ip。
實際使用中發現,如果改了A的路由,讓vrrp發不出去,B在變為master后,再恢復A的路由,此時A會變為backup。
轉載于:https://www.cnblogs.com/children/p/3432989.html
總結
- 上一篇: NO.104使用禅道创建和评审需求
- 下一篇: ARM的批量加载/存储指令