linux keepalived 脚本,Linux下 keepalived 的安装和配置
安裝前準備
基礎系統:CentOS 7
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
1.下載keepalived
方法一:
yum -y install keepalived
#下載安裝文件
cd /usr/local
wget http://www.keepalived.org/software/keepalived-2.0.18.tar.gz
#解壓文件
tar -zxvf keepalived-2.0.18.tar.gz
#編譯
cd keepalived-2.0.18/
#--prefix 指定安裝地址
#/usr/local/keepalived/ 安裝的目錄,不要和自己安裝文件一個目錄,不然報錯
./configure --prefix=/usr/local/keepalived/
#編譯并安裝
make && make install
2.配置
復制文件:
[root@localhost ~]# cp /usr/local/keepalived-2.0.18/keepalived/etc/init.d/keepalived /etc/init.d/
[root@localhost ~]# mkdir /etc/keepalived
[root@localhost ~]# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
[root@localhost ~]# cp /usr/local/keepalived-2.0.18/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@localhost ~]# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
編輯:
vi /etc/keepalived/keepalived.conf
/etc/keepalived/keepalived.conf內容如下
global_defs {
notification_email {
#mr@mruse.cn # 指定keepalived在發生切換時需要發送email到的對象,一行一個
#sysadmin@firewall.loc
}
notification_email_from xxx@163.com # 指定發件人
smtp_server smtp@163.com # smtp 服務器地址
smtp_connect_timeout 30 # smtp 服務器連接超時時間
router_id LVS_1 # 必填,標識本節點的字符串,通常為hostname,但不一定非得是hostname,故障發生時,郵件通知會用到
}
vrrp_script chk_tomcat { #詳細看下面
script "/etc/keepalived/tomcat_check.sh" #檢測服務shell
interval 2 #每個多長時間探測一次
weight -20 #每個多長時間探測一次
}
_instance VI_1 { # 實例名稱
state MASTER # 必填,可以是MASTER或BACKUP,不過當其他節點keepalived啟動時會將priority比較大的節點選舉為MASTER
interface ens33 # 必填, 節點固有IP(非VIP)的網卡,用來發VRRP包做心跳檢測
mcast_src_ip 192.168.2.89 #本機的ip,需要修改
virtual_router_id 101 # 必填,虛擬路由ID,取值在0-255之間,用來區分多個instance的VRRP組播,同一網段內ID不能重復;主備必須為一樣;
priority 100 # 必填,用來選舉master的,要成為master那么這個選項的值最好高于其他機器50個點,該項取值范圍是1-255(在此范圍之外會被識別成默認值100)
advert_int 1 # 必填,檢查間隔默認為1秒,即1秒進行一次master選舉(可以認為是健康查檢時間間隔)
authentication { # 必填,認證區域,認證類型有PASS和HA(IPSEC),推薦使用PASS(密碼只識別前8位)
auth_type PASS # 默認是PASS認證
auth_pass 1111 # PASS認證密碼
}
virtual_ipaddress {
192.168.2.90 # 必填,虛擬VIP地址,允許多個
}
track_script { # 檢測shell
chk_tomcat
}
}
vrrp_script 里的script返回值為0時認為檢測成功,其它值都會當成檢測失敗;
weight 為正時,腳本檢測成功時此weight會加到priority上,檢測失敗時不加;
A.主失敗:主 priority < 從 priority + weight 時會切換。
B.主成功:主 priority + weight > 從 priority + weight 時,主依然為主
weight 為負時,腳本檢測成功時此weight不影響priority,檢測失敗時priority – abs(weight)
A.主失敗:主 priority – abs(weight) < 從priority 時會切換主從
主成功:主 priority > 從priority 主依然為主
檢測shell:/etc/keepalived/tomcat_check.sh 可以根據 tomcat 服務檢測結果返回不同的值,成功執行 exit 0 返回 0,失敗執行 exit 1 返回 1,vrrp_script 可以結合返回值來對當前keepalived優先級做處理
3.開啟服務
設置 keepalived 服務開機啟動
# chkconfig keepalived on
# 啟動keepalived 服務
# service keepalived start
查看keepalived進程,出現如下三個進程即為啟動成功
[root@localhost ~]# ps -ef | grep keep
root 7925 1 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7926 1 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7927 7926 0 11:27 ? 00:00:00 /usr/local/keepalived/sbin/keepalived -D
root 7956 7888 0 12:02 pts/1 00:00:00 grep --color=auto keep
4.指定日志的輸出文件
修改 /etc/sysconfig
vim /etc/sysconfig
#指定位置修改為如下內容
KEEPALIVED_OPTIONS="-D -d -S 0"
修改 /etc/rsyslog.conf
vim /etc/rsyslog.conf
#在最后一行添加如下內容
local0.* /var/log/keepalived.log
重啟服務測試
service rsyslog restart
service rsyslog restart
#如下命令有日志內容輸出即為成功
tailf /var/log/keepalived.log
#centos 基本可以成功,但是 debain 可能失敗,失敗上面 2 個文件可以改為如下內容,再重啟服務測試
KEEPALIVED_OPTIONS="-D -d -S 1"
local1.* /var/log/keepalived.log
如果有哪些不對的地方煩請指認,先行感謝
總結
以上是生活随笔為你收集整理的linux keepalived 脚本,Linux下 keepalived 的安装和配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 脚本 apache进程,Ap
- 下一篇: Linux主机密码设置,Linux如何批