本文不講 keepalived 的工做機制及原理服務器
我的實驗採用的源碼安裝的方式進行的安裝,比較麻煩。負載均衡
經過 yum 安裝會更快,方法以下:rest
yum install keepalived
啓動/關閉/重啓/查看狀態code
systemctl start/stop/restart/status keepalived
編輯配置文件router
vi /ect/keepalived/keepalived.conf
所以採用 yum 安裝能夠直接跳到 第 5 步。server
注意:進程
無論是哪一種方式安裝,關注點在 配置文件 和 啓動腳本的位置。ip
wget https://www.keepalived.org/software/keepalived-1.2.16.tar.gz
mkdir keepalived-1.2.16ssl
tar -zxvf keepalived-1.2.16.tar.gz -C keepalived-1.2.16get
cd keepalived-1.2.16
./configure
若是出現以下錯誤
configure: error: !!! OpenSSL is not properly installed on your system. !!! !!! Can not include OpenSSL headers files. !!!
解決辦法: yum -y install openssl-devel
make
make install
/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived # 複製配置文件
/bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived
/bin/cp /usr/local/sbin/keepalived /usr/sbin/
啓動
/etc/init.d/keepalived start
查看進程
ps -ef | grep keepalived
關閉
/etc/init.d/keepalived stop
我採用的 keepalived-1.2.16 版本。版本功能差別,以及配置文件差別不肯定。 如下所有基於 1.2.16 版本。
! Configuration File for keepalived # 暫時沒什麼用,只需改最後一個字段 router_id global_defs { notification_email { 1111@163.com # 收件人配置 failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc # 發件人 smtp_server 192.168.200.1 # 郵件服務器 smtp_connect_timeout 30 router_id LVS_01 } # 檢測腳本 vrrp_script checkTest { # 腳本所在路徑 script "/mano/module/checkTest.sh" interval 3 weight -20 } # vrrp 實例,能夠有多個實例,可是好像有個數限制 # 須要改的地方 # 1. state 主 :MASTER 備 :BACKUP # 2. virtual_router_id 主備保持一致 # 3. priority 一大一小 # 4. virtual_ipaddress 主備保持一致 vrrp_instance VI_1 { state MASTER # 服務器狀態:主, 若是是備用服務器,改成 BACKUP interface eth0 # 通訊端口 virtual_router_id 51 # 主備須要配置同樣 priority 100 # 優先級 advert_int 1 # 心跳間隔 authentication { # 主備服務器間通訊的鑰匙對 auth_type PASS auth_pass 1111 } # 檢測腳本配置 track_script { checkTest } # 虛擬ip,即vip 一個或多個 virtual_ipaddress { 172.16.10.83/24 # 綁在 interface上 # 192.168.200.17 # 192.168.200.18 } # 通知腳本 notify_master "/path/to/to_master.sh" notify_backup "/path/to/to_backup.sh" } # 如下的配置是爲了配置負載均衡的,由於咱們用不到,暫時刪除了。
分別啓動兩臺機器上的 keepalived
啓動成功後
在 MASTER 機器上執行,
ip add | grep 172.16.10.83(配置文件中配置的虛擬ip) 打印結果:inet 172.16.10.83/24 scope global secondary eth0
在 BACKUP 機器上執行
ip add | grep 172.16.10.83(配置文件中配置的虛擬ip) 打印結果:什麼也不輸出
關閉 MASTER 機器上的 keepalived ,執行步驟 2, 結果相反