linux ip地址漂移,Linux 实现高可用性(HA) —之ip 漂移方法(vrrp)
在日常的系統管理當中,某些應用對可用性要求比較高,簡單的冷備是不能滿足需求,所以才需要雙機熱備即HA.根據此應用要求,我們介紹一個軟件實現高可用性.
keepalived是Linux下一個雙機熱備的軟件,可提供vrrp以及health-check功能,目前僅用它提供雙機漂移ip,通過vrrp協議實現。
1.安裝
在官方網頁下載keepalived的最新版(現為1.1.12版),URL:?,tar zxvf your-directory/keepalived-1.1.12.tar.gz ,然后是標準的Linux源碼安裝過程:configure→make→make install?。?需要注意的是,在RedHat AS4的系統上安裝過程沒有問題,但是在AS3的系統上configure編譯過程會出錯,出錯提示如下:
checking openssl/ssl.h usability… no
checking openssl/ssl.h presence… no
checking for openssl/ssl.h… no
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.??????????? !!!
其實系統安裝了openssl,ssl.h文件也沒問題,問題在于redhat AS3 把Kerberos includes 放在一個“奇怪”的地方,以致于keepalived的configure程序找不到,只好報openssl安裝有問題。解決方法是設置編譯環境的CPPFLAGS變量:export CPPFLAGS=-I/usr/kerberos/include ,再次編譯就通過了。
安裝完成后Service 控制文件/usr/local/etc/init.d/keepalived,拷貝到/etc/init.d/vrrpd,或者建立一個符號鏈接:ln -s /usr/local/etc/init.d/keepalived /etc/init.d/vrrpd 進行修改,用service vrrpd start|stop|restart進行控制。
配置模板在/usr/local/etc/keepalived目錄,可執行文件在/usr/local/sbin/keepalived。
2.配置
控制文件配置:cp /usr/local/etc/init.d/keepalived /etc/init.d/vrrpd ,vi /etc/vrrpd ,修改文件為以下內容(其中PID_FILE要改為keepalived_vrrp.pid,因為系統實際產生的pid文件就是這個名字;–vrrp參數是控制僅使用vrrp功能;-f參數指定配置文件所在位置):
#!/bin/sh
#
# Startup script for the Keepalived daemon
#
# processname: keepalived
# pidfile: /var/run/keepalived_vrrp.pid
# config: /etc/vrrpd.conf
# chkconfig: 35 21 79
# description: Start and stop Keepalived
# Global definitions
PID_FILE=”/var/run/keepalived_vrrp.pid”
CMD=”/usr/local/sbin/keepalived”
# See how we were called.
case “$1″ in
start)
echo -n “Starting Keepalived for VRRP: ”
$CMD –vrrp -f /etc/vrrpd.conf
touch /var/lock/subsys/keepalived
echo
;;
stop)
echo -n “Shutting down Keepalived for VRRP: ”
PID=`cat $PID_FILE`
kill $PID
rm -rf /var/lock/subsys/keepalived
echo
;;
restart)
echo -n “Shutting down Keepalived for VRRP: ”
PID=`cat $PID_FILE`
kill $PID
echo
echo -n “Starting Keepalived for VRRP: ”
$CMD –vrrp -f /etc/vrrpd.conf
echo
;;
reload)
echo -n “Reloading Keepalived config: ”
killall -HUP keepalived
echo
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit 0
3. 配置文件:指定vrrp的虛擬ip地址、權重、角色等,參考文件如下
global_defs {
notification_email {
}
notification_email_from cfengine@alipay.com
smtp_server email.alipay.com
smtp_connect_timeout 30
router_id dns2
}
vrrp_instance VI_1 {
state MASTER
interface bond0
virtual_router_id 50
smtp_alert
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass alibaba
}
virtual_ipaddress {
192.168.188.254
}
}
其中auth_pass的值要一致,keepalived根據這個驗證vip的成員。state的值有MASTER和BACKUP之分,priority是權重配置,數值越大權重越高越優先。有關email的設定是發生事件時會自動發email報告,請按照實際情況設置。
NOW,use ” service vrrpd start ” on both nodes to start vip !
4.注意事項
1、輸出的日志信息: /var/log/messages ,更具體的日志信息輸出需要在啟動keepalived時加 -d 參數。
2、在都為MASTER且priority一樣的情況下,后啟的節點(service vrrp start)會取代正在運行的節點變成主用的。
3、一臺為MASTER且priority較高的情況下,不受次節點down/up影響,并且其本身再從down變為up時,會搶奪控制權。
4、在都為MASTER且priority一樣的情況下,正在運行的主節點down(斷網),次節點會自動接管,主節點再起來時不會去搶奪控制權。
總結
以上是生活随笔為你收集整理的linux ip地址漂移,Linux 实现高可用性(HA) —之ip 漂移方法(vrrp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去北京环球影城怎么走
- 下一篇: 极米投影仪怎么样?有人买过吗?