centos7 下源碼安裝keepalived踩坑記

轉帖請註明來源:https://my.oschina.net/u/2342969/blog/2962442vim

目錄

  • 環境準備centos

  • 爲何源碼安裝bash

  • 源碼安裝

環境準備

  1. 全新最小化安裝的centos 7.5
  2. keepalived 1.4.5
  3. vip : 172.16.0.169

爲何源碼安裝

    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,主備必須配置同樣
}
}
}
}

    防火牆開啓vrrp

keepalived 是基於vrrp作到虛擬ip漂移的,這裏不開啓的話,主備均會認爲對方掛掉了,會形成主備都能獲取到虛擬ip(vip)

#firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
#firewall-cmd --reload

    設置開機服務

#systemctl enable keepalived

    操做keepalived

#service keepalived start
#service keepalived stop
#service keepalived restart
#service keepalived status

    驗證結果

首先在主備實例的服務器分別 執行 service keepalived start 開啓keepalived

  1. 經過ip addr 命令分別查看主備兩臺機器,只有主示例的服務器能夠看到這個vip
  2. 在主實例的服務器執行 service keepalived stop 中止keepalived
  3. 經過ip addr 命令查看備實例的ip, 會發現能夠看到vip的
  4. 在主實例的服務器執行 service keepalived start 再次啓動keepalived
  5. 經過ip addr 命令分別查看主備兩臺機器,只有主示例的服務器能夠看到這個vip

相關文章
相關標籤/搜索