安裝開發工具集(涵蓋了gcc,c++,make等編譯工具),以及Keepalived依賴包。html
# Centos 6.x yum groupinstall "Development Tools" -y yum install libnl-devel libnfnetlink-devel -y # Centos 7.x yum group install "Development Tools" -y yum install libnl-devel libnfnetlink-devel -y
# 下載解壓 wget http://www.keepalived.org/software/keepalived-1.4.1.tar.gz tar xzf keepalived-1.4.1.tar.gz cd keepalived-1.4.1 # 預編譯配置、編譯、安裝 ./configure --prefix=/opt/soft/keepalived make make install # 軟鏈命令到PATH中,或者自定義PATH配置也能夠。 ln -s /opt/soft/keepalived/*bin/* /usr/sbin/ # 從源碼包中/源碼包中/源碼包中 cp 啓動腳本 # Centos 6.x cp keepalived/etc/init.d/keepalived /etc/init.d/ # 修改啓動文件中的配置,或者cp sysconfig/keepalived 到系統環境中 # . /etc/sysconfig/keepalived //找到此處,修改成下面的內容 # . /opt/soft/keepalived/etc/sysconfig/keepalived cp keepalived/etc/sysconfig/keepalived /etc/sysconfig/ service keepalived status # Centos 7.x cp keepalived/keepalived.service /usr/lib/systemd/system systemctl status keepalived
這裏我是基於阿里雲環境配置的,雲端用多播會有問題,因此這裏配置的單播模式。
IP 地址分配狀況以下:c++
! Configuration File for keepalived global_defs { notification_email { opsarno@qq.com } notification_email_from 1-1-1@arno.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id 1-1-1 } vrrp_script chk_sshd { script "killall -0 sshd" interval 2 weight -4 fall 2 rise 2 } vrrp_instance my_v1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 unicast_src_ip 10.1.1.1 unicast_peer { 10.1.1.2 } authentication { auth_type PASS auth_pass my_v1_pass } virtual_ipaddress { 10.1.1.100 } track_script { chk_sshd } }
! Configuration File for keepalived global_defs { notification_email { opsarno@qq.com } notification_email_from 1-1-2@arno.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id 1-1-2 } vrrp_script chk_sshd { script "killall -0 sshd" interval 2 weight -4 fall 2 rise 2 } vrrp_instance my_v1 { state BACKUP interface eth0 virtual_router_id 51 priority 99 advert_int 1 unicast_src_ip 10.1.1.2 unicast_peer { 10.1.1.1 } authentication { auth_type PASS auth_pass my_v1_pass } virtual_ipaddress { 10.1.1.100 } track_script { chk_sshd } }