轉帖請註明來源:https://my.oschina.net/u/2342969/blog/2962442vim
環境準備centos
爲何源碼安裝bash
centos7 自帶的 yum安裝,keepalived 版本爲1.3.5, 這個版本會有一個大坑,致使高可用對應的服務掛掉,若是觸發keepalived down服務器
經過 service keepalived status 命令查看運行狀態會看到 tcp socket bind failed. rescheduling 這個異常, 經過源碼安裝無此問題curl
#cd /opt #wget http://www.keepalived.org/software/keepalived-1.4.5.tar.gz #tar -zxvf /opt/keepalived-1.4.5.tar.gz
#yum install curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink-devel -y
編譯安裝成功後,就會自動生成啓停服務socket
#cd /opt/keepalived-1.4.5 #./configure #make && make install
源碼安裝默認配置文件路徑爲: /etc/keepalived/keepalived.conf ,不建立這個文件,不能成功啓動tcp
#mkdir -p /etc/keepalived #vim /etc/keepalived/keepalived.conf
配置文件以下:url
自行根據註釋修改 備實例的配置centos7
注意: 實際配置要把註釋內容去掉,不然會產生某些功能失效spa
! Configuration File for keepalived global_defs { router_id 1 #每一個keepalived取個不一樣名稱 } vrrp_instance VI_1 { state MASTER # MASTER爲主實例,BACKUP 爲從實例 interface eth0 # 網卡名稱 virtual_router_id 60 # 主備這裏要配置爲一樣的 priority 100 # 優先級,主要高於備. 通常主配置爲100 備配置爲80 advert_int 1 nopreempt # 主動搶佔,主備都開啓的話,服務器搶佔過去後,要等這個服務器keepalived停掉纔會漂移到另外一臺 authentication { auth_type PASS # 主備必須配置成一樣的 auth_pass 1111 # 主備必須配置成一樣的 } virtual_ipaddress { 172.16.0.169 # vip,主備必須配置同樣 } } } }
keepalived 是基於vrrp作到虛擬ip漂移的,這裏不開啓的話,主備均會認爲對方掛掉了,會形成主備都能獲取到虛擬ip(vip)
#firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent #firewall-cmd --reload
#systemctl enable keepalived
#service keepalived start #service keepalived stop #service keepalived restart #service keepalived status
首先在主備實例的服務器分別 執行 service keepalived start 開啓keepalived