安裝:
公司主營業(yè)務(wù):網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出惠東免費做網(wǎng)站回饋大家。
tar -zxvf keepalived-1.2.2.tar.gz
yum list all |grep "ipvsadm"
yum -y install kernel-devel openssl-develpopt-devel ipvsadm libnl libnl-devel
service iptables stop
setenforce 0
./configure --prefix=/--with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64 && make&& make install
添加系統(tǒng)服務(wù):
chkconfig --add keepalived 添加后可以使用service、chkconfig工具管理keepalived服務(wù)
chkconfig keepalived on on級別為2、3、4
chkconfig --list keepalived 查看2、3、4級別是否開啟
全局配置文件:
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.1.1
smtp_connect_timeout 30
router_id LVS_master
}
vrrp_script check_httpd {
#vrrp_script模塊專門用于對集群中服務(wù)資源進行監(jiān)控(HA集群監(jiān)控)。于此模塊一起使用的還有track_script模塊,track_script模塊主要是調(diào)用vrrp_script模塊。還可以檢查端口、shell語句檢查、腳本檢查。在附錄下面演示
script “killall –O httpd”
#用killall –O httpd 查看httpd服務(wù)返回狀態(tài),如果是零則表示運行正常,為1則表示運行異常。
interval 2
#檢查的時間間隔,單位為秒。
}
Vrrp配置(keepalived高可用配置)實例:
vrrp_instance VI_1 {
#標(biāo)識,vrrp實例開始的標(biāo)識
state MASTER
#定義主備角色master和backup
interface eth0
#指定監(jiān)聽網(wǎng)卡
virtual_router_id51
#虛擬路由標(biāo)識,此標(biāo)識主備不許相同。
priority 100
#優(yōu)先級。數(shù)字越大優(yōu)先級越高,在同一個vrrp-instance下master必須比backup優(yōu)先級大
advert_int 1
#設(shè)置master與backup之間同步檢查的時間間隔,單位是秒
authentication {
auth_type PASS
auth_pass 1111
#設(shè)定master和backup驗證類型(AH、PASS)和密碼,主備密碼一致才能通信。
}
notify_master “/etc/keep/master.sh”
notify_backup “/etc/keep/backup.sh”
notify_fault “/etc/keep/fault.sh”
#指定當(dāng)keepalived進入master、backup、fault狀態(tài)時執(zhí)行到腳本。腳本舉例在附錄下。
track_script {
check_httpd
}
#調(diào)用vrrp_script模塊,check_httpd為vrrp_script模塊后面跟的名字。
virtual_ipaddress {
192.168.1.250
#虛擬地址,可以設(shè)置多個。它是以ip address add的方式加入地址。
}
#nopreempt
#不搶占功能,此功能只能用在state狀態(tài)是backup的節(jié)點上,而且這個節(jié)點優(yōu)先級要高于其他節(jié)點
#preempt_delay 300
#搶占延遲時間,單位是秒。例如:網(wǎng)絡(luò)有抖動master節(jié)點向backup節(jié)點發(fā)送探測包不及時實際master節(jié)點沒有問題,無需主備切換。重啟服務(wù)或重啟系統(tǒng)也是如此。
}
————————————————vrrp配置附錄—————————————————
-----------------------------------vrrp配置附錄--------------------------------------------
notify_master “/etc/keep/master.sh” 腳本實例如下:
#!/bin/bash
logfile=/var/log/keep/keep-http-statsu.log
echo “[MASTER]” >>$logfile
date >> $logfile
backup.sh和fault.sh 略過。
端口檢查:
vrrp_script check_httpd {
script “</dev/tcp/127.0.0.1/80”
#這個方式是定義了對本機的80端口的狀態(tài)檢查。
interval 2
#檢查的時間間隔,單位為秒。
fall 2
#表示檢查到失敗的最大次數(shù)
rise 1
#表示檢查到一次成功,則認為節(jié)點恢復(fù)正常。
}
shell語句檢查:
vrrp_script check_httpd {
script “if [ -f /var/run/httpd/httpd.pid ];hten exit 0; else exit 1; fi”
# 檢查pid文件是否存在,如果返回0表示正常,返回1則表示異常。
interval 2
#檢查的時間間隔,單位為秒。
fall 2
#表示檢查到失敗的最大次數(shù)
rise 1
#表示檢查到一次成功,則認為節(jié)點恢復(fù)正常。
}
vrrp_script需要track_script模塊調(diào)用我在演示時省略,但是不要忘記在vrrp_instance配置實例中調(diào)用。
------------------------------------------------------------------------------------------
LVS(負載均衡)配置實例:
virtual_server 192.168.1.250 {
#LVS配置實例已virtual_server表示開始
delay_loop 6
#設(shè)置健康檢查的間隔,單位是秒。
lb_algo rr
#負載調(diào)度算法,有rr(輪巡)、wrr(加權(quán)輪詢)、lc、wlc、lblc、sh、dh等
lb_kind NAT
#負載均衡機制,有NAT、TUN、DR。
nat_mask255.255.255.0
#不知道是什么意思,后續(xù)在查。
persistence_timeout50
#同一IP的連接50秒內(nèi)被分配到同一臺realserver
persistence_granularity255.255.255.0
#此選項是配合persistence_timeout,如果后面寫的是4個255就代表單個ip,如果是255.255.255.0則代表客戶端所在的整個網(wǎng)段的請求都會分配到同一臺real_server上。
protocol TCP
#指定轉(zhuǎn)發(fā)協(xié)議類型有tcp和udp。
sorry_server192.168.1.120 80
#相當(dāng)一個備用節(jié)點,當(dāng)所有real_server節(jié)點失效則啟用備用節(jié)點
real_server192.168.1.108 80 {
# real_server段的開始標(biāo)識,后面跟著的是后端節(jié)點真實ip地址。Ip和端口用空格分開。
weight 1
#權(quán)重。數(shù)值越大權(quán)重越高。為性能高的節(jié)點分配高權(quán)重。合理使用節(jié)點
notify_up/root/keepalived/keepup.sh
notify_down/root/keepalived/keepdown.sh
#表示在檢測到real_server節(jié)點是up或是down時執(zhí)行的腳本。
HTTP_GET |SSL_GET {
#Http和SSL檢測方式實例
url {
#可以指定多個URL
path /index.html
#后面跟詳細的路徑
digestff20ad2481f97b1754ef3e12ecd3a9cc
#SSl檢查后的摘要信息,這個摘要信息可以通過ganhash命令工具獲取。例如:ganhash -s192.168.1.108 –p 80 –u /。
status_code 200
#返回的結(jié)果是200狀態(tài)碼。
}
connect_port80
#健康檢查的端口,如果不指定,默認是real_server指定的端口
bindto192.168.1.108
#通過此地址發(fā)送請求檢查服務(wù)器健康狀態(tài)。
connect_timeout 3
#無響應(yīng)時間,單位是秒。
nb_get_retry 3
#重試次數(shù)
delay_before_retry 3
#重試次數(shù)的間隔。
}
}
}
————————————————LVS配置附錄—————————————————
-------------------------------------lvs配置附錄------------------------------------------
除了HTTP_GET 、SSL_GET這兩個real_server健康狀態(tài)檢查外還有TCP_CHECK、MISC_CHECK、SMTP_CHECK這三個。
接下來演示TCP_CHECK(端口檢查)、MISC_CHECK(外部程序檢查也就是腳本檢查)
TCP_CHECK{
connect_port80
#健康檢查的端口,如果不指定,默認是real_server指定的端口
connect_timeout 3
#無響應(yīng)時間,單位是秒。
nb_get_retry 3
#重試次數(shù)
delay_before_retry 3
#重試次數(shù)的間隔。
}
MISC_CHECK{
misc_path “/usr/local/bin/script.sh 1.1.1.180 http://www.baidu.com”
#指定腳本的執(zhí)行路徑,后面可以帶參數(shù)。跟普通方式執(zhí)行腳本相同。
misc_timeout 5
#設(shè)定腳本的超時時間
! misc_dynamic
#表示不啟用節(jié)點動態(tài)調(diào)整real_server權(quán)重。
#如果啟用并且返回碼是零則表示檢查正常,權(quán)重不變。如果是1則表示節(jié)點異常權(quán)重降為零。如果返回值是2-255之間的數(shù)字則用返回值減2。如:返回值是10,權(quán)重則是8(10-2)
/usr/local/bin/script.sh 腳本如下:
cat/usr/local/bin/check_squidproxy.sh 1.1.1.1 80 http://www.baidu.com
#!/bin/bash
if [ $#-ne 3 ];then
echo"Warning: check_command error."
exit 1
else
PROXY_IP=$1
PROXY_PORT=$2
CHECK_URL=$3
CMD=`/usr/bin/curl-I -x ${PROXY_IP}:${PROXY_PORT} "${CHECK_URL}" 2>/dev/null | grep"200 OK" | wc -l`
if [ ${CMD} -ne 1];then
echo"CRITCAL: check proxy ${PROXY_IP} failed."
exit 1
else
echo"OK: check proxy ${PROXY_IP} OK."
echo0
fi
fi
當(dāng)前題目:keepalived+lvs配置詳解
分享地址:http://aaarwkj.com/article30/jeiopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、App設(shè)計、品牌網(wǎng)站設(shè)計、網(wǎng)站維護、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)