下文給大家?guī)?lái)LVS-DR數(shù)據(jù)包流向分析介紹,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。
成都創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元白河做網(wǎng)站,已為上家服務(wù),為白河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220為方便進(jìn)行原理分析,將Client與群集機(jī)器放在同一網(wǎng)絡(luò)中,數(shù)據(jù)包流經(jīng)的路線為1-2-3-4
VRRP,虛擬路由冗余協(xié)議,是針對(duì)路由器的一-種備份解決方案
root@lvs1 ~]# yum install keepalived ipvsadm -y
[root@lvs1 ~]# vim /etc/sysctl.conf //配置路由轉(zhuǎn)發(fā)功能
net.ipv4.ip_forward=1 //路由功能
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0 //proc響應(yīng)關(guān)閉重定向功能
net.ipv4.conf.ens33.send_redirects = 0
[root@lvs1 ~]# sysctl -p //加載生效
[root@lvs1 ~]# cd /etc/sysconfig/network-scripts/
[root@lvs1 network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33:0 //復(fù)制虛擬網(wǎng)卡的配置文件
[root@lvs1 network-scripts]# vim ifcfg-ens33:0
DEVICE=ens33:0 //添加配置文件信息,原有的信息刪除
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
[root@lvs1 network-scripts]# cd /etc/init.d/ //創(chuàng)建腳本便于service使用
[root@lvs1 init.d]# vim dr.sh
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.10 //虛擬ip
RIP1=192.168.100.200 //真實(shí)web服務(wù)器ip
RIP2=192.168.100.222
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm //保存配置
systemctl start ipvsadm //啟動(dòng)服務(wù)
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up //設(shè)置ens33:0地址,廣播地址,子網(wǎng)掩碼,并開(kāi)啟
/sbin/route add -host $VIP dev ens33:0 //添加路由網(wǎng)段信息
/sbin/ipvsadm -A -t $VIP:80 -s rr //指定虛擬服務(wù)訪問(wèn)入口,指定輪詢算法
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g //指定真實(shí)服務(wù)器,dr模式
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting --------------------[ok]"
;;
stop)
/sbin/ipvsadm -C //清空緩存
systemctl stop ipvsadm //關(guān)閉服務(wù)
ifconfig ens33:0 down //關(guān)閉接口
route del $VIP //刪除路由信息
echo "ipvsamd stoped----------------------[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then //判斷文件存在與否決定狀態(tài)
echo "ipvsadm stoped---------------"
exit 1
else
echo "ipvsamd Runing ---------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
[root@lvs1 init.d]# chmod +x dr.sh //給執(zhí)行權(quán)限
[root@lvs1 init.d]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改網(wǎng)卡信息
BOOTPROTO=static
IPADDR=192.168.100.110
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@lvs1 init.d]# service network restart //重啟網(wǎng)絡(luò)服務(wù)
[root@lvs1 init.d]# ifup ens33:0 //開(kāi)啟虛擬網(wǎng)卡
[root@lvs1 init.d]# service dr.sh start //開(kāi)啟lvs服務(wù)
ipvsadm starting --------------------[ok]
[root@lvs1 init.d]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@lvs1 init.d]# setenforce 0
[root@lvs2 ~]# yum install keepalived ipvsadm -y
[root@lvs2 ~]# vim /etc/sysctl.conf //配置路由轉(zhuǎn)發(fā)功能
net.ipv4.ip_forward=1 //路由功能
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0 //proc響應(yīng)關(guān)閉重定向功能
net.ipv4.conf.ens33.send_redirects = 0
[root@lvs2 ~]# sysctl -p //加載生效
[root@lvs2 ~]# cd /etc/sysconfig/network-scripts/
[root@lvs2 network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33:0 //復(fù)制虛擬網(wǎng)卡的配置文件
[root@lvs2 network-scripts]# vim ifcfg-ens33:0
DEVICE=ens33:0 //添加配置文件信息,原有的信息刪除
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
[root@lvs2 network-scripts]# cd /etc/init.d/ //創(chuàng)建腳本便于service使用
[root@lvs2 init.d]# vim dr.sh
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.10 //虛擬ip
RIP1=192.168.100.200 //真實(shí)web服務(wù)器ip
RIP2=192.168.100.222
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm //保存配置
systemctl start ipvsadm //啟動(dòng)服務(wù)
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up //設(shè)置ens33:0地址,廣播地址,子網(wǎng)掩碼,并開(kāi)啟
/sbin/route add -host $VIP dev ens33:0 //添加路由網(wǎng)段信息
/sbin/ipvsadm -A -t $VIP:80 -s rr //指定虛擬服務(wù)訪問(wèn)入口,指定輪詢算法
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g //指定真實(shí)服務(wù)器,dr模式
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting --------------------[ok]"
;;
stop)
/sbin/ipvsadm -C //清空緩存
systemctl stop ipvsadm //關(guān)閉服務(wù)
ifconfig ens33:0 down //關(guān)閉接口
route del $VIP //刪除路由信息
echo "ipvsamd stoped----------------------[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then //判斷文件存在與否決定狀態(tài)
echo "ipvsadm stoped---------------"
exit 1
else
echo "ipvsamd Runing ---------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
[root@lvs2 init.d]# chmod +x dr.sh //給執(zhí)行權(quán)限
[root@lvs2 init.d]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改網(wǎng)卡信息,切換為僅主機(jī)模式
BOOTPROTO=static
IPADDR=192.168.100.111
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@lvs2 init.d]# service network restart //重啟網(wǎng)絡(luò)服務(wù)
[root@lvs2 init.d]# ifup ens33:0 //開(kāi)啟虛擬網(wǎng)卡
[root@lvs2 init.d]# service dr.sh start //開(kāi)啟lvs服務(wù)
ipvsadm starting --------------------[ok]
[root@lvs2 init.d]# systemctl stop firewalld.service ##關(guān)閉防火墻
[root@lvs2 init.d]# setenforce 0
[root@web1 ~]# yum install httpd -y //安裝web服務(wù)
[root@web1 ~]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@web1 ~]# setenforce 0
[root@web1 ~]# echo "this is kgc web" > /var/www/html/index.html //創(chuàng)建網(wǎng)站頁(yè)面
[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp -p ifcfg-lo ifcfg-lo:0 //修改回環(huán)網(wǎng)卡的虛擬網(wǎng)卡
[root@web1 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes
[root@web1 network-scripts]# cd /etc/init.d/
[root@web1 init.d]# vim web.sh //編寫(xiě)arp腳本
#!/bin/bash
VIP=192.168.100.10
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 //arp忽略
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 "
;;
stop)
ifconfig lo:0 down
route del $VIP /dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore //arp開(kāi)啟
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 Stopd"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
[root@web1 init.d]# chmod +x web.sh //給權(quán)限
[root@web1 init.d]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改網(wǎng)卡,僅主機(jī)模式
BOOTPROTO=static
IPADDR=192.168.100.200
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@web1 init.d]# service network restart //重啟網(wǎng)絡(luò)服務(wù)
[root@web1 init.d]# service web.sh start //啟動(dòng)腳本
RealServer Start OK
[root@web1 init.d]# systemctl start httpd.service //開(kāi)啟web服務(wù)
[root@web1 init.d]# ifup lo:0 //開(kāi)啟回環(huán)虛擬網(wǎng)卡
[root@web2 ~]# yum install httpd -y //安裝web服務(wù)
[root@web2 ~]# systemctl stop firewalld.service //關(guān)閉防火墻
[root@web2 ~]# setenforce 0
[root@web2 ~]# echo "this is accp web" > /var/www/html/index.html //創(chuàng)建網(wǎng)站頁(yè)面
[root@web2 ~]# cd /etc/sysconfig/network-scripts/
[root@web2 network-scripts]# cp -p ifcfg-lo ifcfg-lo:0 //修改回環(huán)網(wǎng)卡的虛擬網(wǎng)卡
[root@web2 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes
[root@web2 network-scripts]# cd /etc/init.d/
[root@web2 init.d]# vim web.sh //編寫(xiě)arp腳本
#!/bin/bash
VIP=192.168.100.10
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 //arp忽略
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 "
;;
stop)
ifconfig lo:0 down
route del $VIP /dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore //arp開(kāi)啟
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 Stopd"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
[root@web2 init.d]# chmod +x web.sh //給權(quán)限
[root@web2 init.d]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //修改網(wǎng)卡,僅主機(jī)模式
BOOTPROTO=static
IPADDR=192.168.80.222
NETMASK=255.255.255.0
GATEWAY=192.168.80.1
[root@web2init.d]# service network restart //重啟網(wǎng)絡(luò)服務(wù)
[root@web2init.d]# service web.sh start //啟動(dòng)腳本
RealServer Start OK
[root@web2 init.d]# systemctl start httpd.service //開(kāi)啟web服務(wù)
[root@web2 init.d]# ifup lo:0 //開(kāi)啟回環(huán)虛擬網(wǎng)卡
[root@lvs1 init.d]# vim /etc/keepalived/keepalived.conf
global_defs {
...
smtp_server 127.0.0.1 //指向本地
router_id LVS_01 //指定名稱,備份服務(wù)器不同名稱
...
}
vrrp_instance VI_1 {
state MASTER //備份服務(wù)器是BACKUP
virtual_router_id 10 //組號(hào)相同
...
auth_pass abc123 //驗(yàn)證密碼
priority 100 //優(yōu)先級(jí)備份小于主服務(wù)器
...
virtual_ipaddress {
192.168.100.10
}
...
virtual_server 192.168.100.10 80 {
...
real_server 192.168.100.200 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.100.222 80 {
weight 1
TCP_CHECK { //tcp
connect_port 80 //添加端口
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@lvs1 init.d]# systemctl start keepalived.service
[root@lvs1 init.d]# scp /etc/keepalived/keepalived.conf root@192.168.100.111:/etc/keepalived/ //復(fù)制到lvs2服務(wù)器上
[root@lvs2 init.d]# vim /etc/keepalived/keepalived.conf ##修改keepalive配置文件
router_id LVS_02 ##router_id不能相同
...
state BACKUP ##備服務(wù)器
...
priority 90 ##優(yōu)先級(jí)低于主服務(wù)器
[root@lvs2 init.d]# systemctl start keepalived.service ##啟動(dòng)keepalive服務(wù)
看了以上關(guān)于LVS-DR數(shù)據(jù)包流向分析介紹,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。創(chuàng)新互聯(lián)官網(wǎng)鏈接www.yisu.com
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。