日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lvs+keepalived   实现负载均衡、故障剔除(DR模式)

發布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lvs+keepalived   实现负载均衡、故障剔除(DR模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

系統都是6.3 32

Vip:192.168.2.244

Lvs-master:192.168.2.80

Lvs-backup:192.168.2.6

Web1:192.168.2.93

Web2:192.168.2.64

?聲明;這里套用一張拓撲圖,基本可以滿足我的實驗環境。 ?不多說,進行實驗。

1、安裝ipvsadm

yum -y install ipvsadm

2、安裝keepalived

[root@node1 ~]# wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

[root@node1 ~]# tar zxvf keepalived-1.1.15.tar.gz

[root@node1 ~]# cd keepalived-1.1.15

root@node1 keepalived-1.1.15]# ./configure --prefix=/ --mandir=/usr/local/share/man/ --with-kernel-dir=/usr/src/kernels/2.6.18-92.el5-i686/

configure后會輸入這結果為正確

Keepalived configuration

------------------------

Keepalived version ? ? ? : 1.1.15

Compiler ? ? ? ? ? ? ? ? : gcc

Compiler flags ? ? ? ? ? : -g -O2

Extra Lib ? ? ? ? ? ? ? ?: -lpopt -lssl -lcrypto

Use IPVS Framework ? ? ? : Yes ? ?#支持lvs

IPVS sync daemon support : Yes ?

Use VRRP Framework ? ? ? : Yes

Use LinkWatch ? ? ? ? ? ?: No

Use Debug flags ? ? ? ? ?: No

[root@node1 keepalived-1.1.15]# make && make install

到此,lvs+keepalived安裝完成。但是還不能使用lvs功能,接下來以dr模式配置lvs+keepalived

MASTER 配置:(BACKUP 配置跟MASTER 基本一樣,只是有些地方需要改下)

?Configuration File for keepalived

global_defs {

notification_email {

biyn321@126.com

}*/全局配置解析global_defs全局配置標識,表面這個區域{}是全局配置*/

notification_email_from biyn321@126.com/*表示發送通知郵件時郵件源地址是誰*/

smtp_server 127.0.0.1/* 表示發送email時使用的smtp服務器地址,這里可以用本地的sendmail來實現*/

#smtp_connect_timeout 30/*連接smtp連接超時時間*/

router_id LVS_DEVEL/*機器標識*/ 我這個實驗沒有區分*/

}

/*表示keepalived在發生諸如切換操作時需要發送email通知,以及email發送給哪些郵件地址,郵件地址可以多個,每行一個*/

vrrp_instance VI_1 {

state MASTER

interface eth0

lvs_sync_daemon_interface eth0

virtual_router_id 51

priority 100

advert_int 5

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.2.244

}

}

virtual_server 192.168.2.244 80 {

delay_loop 6

lb_algo wlc

lb_kind DR

#persistence_timeout 5

protocol TCP

real_server 192.168.2.93 80 {

weight 3

TCP_CHECK {

connect_port 80

nb_get_retry 3

delay_before_retry 3

connect_timeout 30

}

}

}

virtual_server 192.168.2.244 80 {

delay_loop 6

lb_algo wlc

lb_kind DR

#persistence_timeout 5

protocol TCP

real_server 192.168.2.64 80 {

weight 1

TCP_CHECK {

connect_port 80

connect_timeout 30

nb_get_retry 3

delay_brfore_retry 3

}

}

}

statestate 指定instance(Initial)的初始狀態,就是說在配置好后,這臺服務器的初始狀態就是這里指定的,但這里指定的不算,還是得要通過競選通過優先級來確定,里如果這里設置為master,但如若他的優先級不及另外一臺,那么這臺在發送通告時,會發送自己的優先級,另外一臺發現優先級不如自己的高,那么他會就回搶占為master
interface實例綁定的網卡,因為在配置虛擬IP的時候必須是在已有的網卡上添加的
dont track primary忽略VRRPinterface錯誤
track interface跟蹤接口,設置額外的監控,里面任意一塊網卡出現問題,都會進入故障(FAULT)狀態,例如,用nginx做均衡器的時候,內網必須正常工作,如果內網出問題了,這個均衡器也就無法運作了,所以必須對內外網同時做健康檢查
mcast src ip發送多播數據包時的源IP地址,這里注意了,這里實際上就是在那個地址上發送VRRP通告,這個非常重要,一定要選擇穩定的網卡端口來發送,這里相當于heartbeat的心跳端口,如果沒有設置那么就用默認的綁定的網卡的IP,也就是interface指定的IP地址
garp master delay在切換到master狀態后,延遲進行免費的ARP(gratuitous ARP)請求
virtual router id這里設置VRID,這里非常重要,相同的VRID為一個組,他將決定多播的MAC地址
priority 100設置本節點的優先級,優先級高的為master
advert int檢查間隔,默認為1
virtual ipaddress這里設置的就是VIP,也就是虛擬IP地址,他隨著state的變化而增加刪除,當statemaster的時候就添加,當statebackup的時候刪除,這里主要是有優先級來決定的,和state設置的值沒有多大關系,這里可以設置多個IP地址
virtual routes原理和virtual ipaddress一樣,只不過這里是增加和刪除路由
lvs sync daemon interfacelvs syncd綁定的網卡
authentication這里設置認證
auth type認證方式,可以是PASSAH兩種認證方式
auth pass認證密碼
nopreempt設置不搶占,這里只能設置在statebackup的節點上,而且這個節點的優先級必須別另外的高
preempt delay搶占延遲
debugdebug級別
notify mastersync group這里設置的含義一樣,可以單獨設置,例如不同的實例通知不同的管理人員,http實例發給網站管理員,mysql的就發郵件給DBA

Web 1 、2 配置

#!/bin/bash

#descroption: start realserver

VIP=192.168.2.244

/etc/rc.d/init.d/functions

case "$1" in

start)

echo "start LVS of REALServer"

/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255broadcast $VIP

/sbin/route add -host $VIP dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "1" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p >/dev/null 2>&1

;;

stop)

/sbin/ifconfig lo:0 down

/sbin/route del $VIP >/dev/null 2>&1

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "close LVS Directorserver"

;;

*)

echo "Usage:$0{start|stop}"

exit 1

esac

exit 0

chmod +x /usr/local/sbin/lvs.sh

chmod 777 /etc/rc.d/init.d/functions

測試。。。。。。。。。。。。。。。。。。。。。。。。。。。

訪問VIP:80 是在64上面 ,然后停掉64 上面的web 服務。測試

基本功能已經實現,由小弟初步學習,如有不足之處。望各位指出,共同學習。

轉載于:https://blog.51cto.com/melodyfeng/1200590

總結

以上是生活随笔為你收集整理的Lvs+keepalived   实现负载均衡、故障剔除(DR模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。