更新時間:2022-09-20 09:44:21 來源:動力節點 瀏覽1650次
有些小伙伴對lvs負載均衡還不是很了解,動力節點小編來告訴大家。LVS負載均衡技術實現是基于Linux內核模塊IPVS,與iptables一樣是直接工作在內核中,互聯網主流的Linux發行版默認都已經集成了ipvs模塊,因此只需安裝管理工具ipvsadm,所需軟件ipvsadm-1.2.4.tar.gz軟件,安裝配置步驟如下:
1.下載安裝Ipvsadm
(1)基于源碼安裝:
wget -c http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
ln -s /usr/src/kernels/2.6.* /usr/src/linux
tar -xzf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make
make install
(2)基于yum安裝:
yum -y install ipvsadm
2.配置
Ipvsadm軟件安裝完畢后,需要進行配置,主要配置方法有三步:添加虛擬服務器IP,添加realserver后端服務及啟動LVS服務器VIP地址,配置代碼如下:
ipvsadm -A -t 192.168.33.188:80 -s rr
ipvsadm -a -t 192.168.33.188:80 -r 192.168.33.12 -g -w 2
ipvsadm -a -t 192.168.33.188:80 -r 192.168.33.13 -g -w 2
其中 -A表示添加一個VIP,-s表示LVS均衡算法為rr(輪訓模式),-t為tcp
其中-a表示添加一個真實后端機器,-r指定后端真實機器的ip,-w表示權重為2(在每次重啟keepalive時優先級會加2),-g表示指定LVS負載均衡轉發方式為DRLVS ipvsadm配置參數說明:
? ? -A? ? ? ? ?增加一臺虛擬服務器VIP地址;
? ? -t? ? ? ? ?虛擬服務器提供的是tcp服務;
? ? -s? ? ? ? ?使用的調度算法;
? ? -a? ? ? ? ?在虛擬服務器中增加一臺后端真實服務器;
? ? -r? ? ? ? ?指定真實服務器地址;
? ? -w? ? ? ? ?后端真實服務器的權重;
-m?????????設置當前轉發方式為NAT模式;-g為直接路由模式;-i? 模式為隧道模式
ipvsadm -L -n 查看當前的均衡狀態
3.可以使用Shell腳本自動部署LVS相關軟件及配置:
#!/bin/bash
SNS_VIP=$2
SNS_RIP1=$3
SNS_RIP2=$4
if [ "$1" == "stop" -a -z "$2" ];then
echo "------------------------------------------"
echo -e "\033[32mPlease Enter $0 stop LVS_VIP\n\nEXample:$0 stop 192.168.1.111\033[0m"
echo
exit
else
if [ -z "$2" -a -z "$3" -a -z "$4" ];then
echo "----------------------------------------"
echo -e "\033[32mPlease Enter Input $0 start VIP REALSERVER1 REALSERVER2\n\nEXample:$0 start/stop 192.168.1.111 192.168.1.2 192.168.1.3\033[0m"
echo
exit 0
fi
fi
. /etc/rc.d/init.d/functions
logger $0 called with $1
function IPVSADM(){
/sbin/ipvsadm --set 30 5 60
/sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP up
/sbin/route add -host $SNS_VIP dev eth0:0
/sbin/ipvsadm -A -t $SNS_VIP:80 -s wlc -p 120
/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1
/sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
}
case "$1" in
start)
IPVSADM
echo "-----------------------------------------------------"
/sbin/ipvsadm -Ln
touch /var/lock/subsys/ipvsadm > /dev/null 2>&1
;;
stop)
/sbin/ipvsadm -C
/sbin/ipvsadm -Z
ifconfig eth0:0 down >>/dev/null 2>&1
route del $SNS_VIP >>/dev/null 2>&1
rm -rf /var/lock/subsys/ipvsadm > /dev/null 2>&1
echo "ipvsadm stopped!"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ]
then
echo "ipvsadm stopped!"
exit 1
else
echo "ipvsadm started!"
fi
;;
*)
echo "Usage: $0 {start | stop | status}"
exit 1
esac
exit 0
4.Nginx客戶端realserver配置VIP腳本:
#!/bin/sh
#LVS Client Server
VIP=192.168.33.188
case $1 in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $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 "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
exit 0
;;
stop)
ifconfig lo:0 down
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 "RealServer Stoped OK"
exit 1
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
LVS+后端Realserver服務器配置同一個VIP地址,而且后端機器配置在lo網卡;
只有LVS服務器的VIP能夠響應路由器發起ARP廣播響應,后端Realserver禁止ARP廣播響應;
arp_ignore=1 #抑制lo網卡回應ARP請求,只回應目標IP(VIP)是本地物理網卡配置上的IP;
arp_announce=2 #當Realserver接收到請求之后,此時的源IP(VIP),網卡不能出去的,請求回應時,可以通過本機其他的網卡將數據發出,可以忽略源IP地址,盡量匹配跟目標機器能夠聯通的網卡IP;
如果單臺LVS發生突發情況,例如宕機、發生不可恢復現象,會導致用戶無法訪問后端所有的應用程序。避免這種問題可以使用HA故障切換,也就是有一臺備用的LVS,主LVS 宕機,LVS VIP自動切換到從,可以基于LVS+Keepalived實現負載均衡及高可用功能,滿足網站7x24小時穩定高效的運行。
Keepalived基于三層檢測(IP層,TCP傳輸層,及應用層),主要用于檢測WEB服務器的狀態,如果有一臺WEB服務器死機,或工作出現故障,Keepalived檢測到并將有故障的WEB服務器從系統中剔除;
當后端一臺WEB服務器工作正常后Keepalived自動將WEB服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的WEB服務器。
需要注意,如果使用了keepalived.conf配置,就不需要再執行ipvsadm -A命令去添加均衡的realserver命令了,所有的配置都在keepalived.conf里面設置即可。本站的Linux教程技術文檔中,還有更多相關知識等著大家去學習,希望對大家能夠給有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習