真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

LVS-DR與Keepalived群集

keepalived概述

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供召陵網(wǎng)站建設(shè)、召陵做網(wǎng)站、召陵網(wǎng)站設(shè)計(jì)、召陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、召陵企業(yè)網(wǎng)站模板建站服務(wù),十余年召陵做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Keepalived的作用是檢測服務(wù)器的狀態(tài),如果有一臺web服務(wù)器宕機(jī),或工作出現(xiàn)故障,Keepalived將檢測到,并將有故障的服務(wù)器從系統(tǒng)中剔除,同時(shí)使用其他服務(wù)器代替該服務(wù)器的工作,當(dāng)服務(wù)器工作正常后Keepalived自動(dòng)將服務(wù)器加入到服務(wù)器群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工做的只是修復(fù)故障的服務(wù)器。

keepalived工作原理

1、keepalived是以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。

2、虛擬路由冗余協(xié)議,可以認(rèn)為是實(shí)現(xiàn)路由器高可用的協(xié)議,即將N臺提供相同功能的路由器組成一個(gè)路由器組,這個(gè)組里面有一個(gè)master和多個(gè)backup,master上面有一個(gè)對外提供服務(wù)的vip(該路由器所在局域網(wǎng)內(nèi)其他機(jī)器的默認(rèn)路由為該vip),master會發(fā)組播,當(dāng)backup收不到vrrp包時(shí)就認(rèn)為master宕掉了,這時(shí)就需要根據(jù)VRRP的優(yōu)先級來選舉一個(gè)backup當(dāng)master。這樣的話就可以保證路由器的高可用了。

3、keepalived主要有三個(gè)模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。check負(fù)責(zé)健康檢查,包括常見的各種檢查方式。vrrp模塊是來實(shí)現(xiàn)VRRP協(xié)議的。

實(shí)驗(yàn)環(huán)境

調(diào)度服務(wù)器DR1(主): 192.168.100.66 centos7-1
調(diào)度服務(wù)器DR2(備): 192.168.100.77 centos7-2

節(jié)點(diǎn)服務(wù)器web1: 192.168.100.88 centos7-3
節(jié)點(diǎn)服務(wù)器web2: 192.168.100.99 centos7-4

漂移地址vip: 192.168.100.100

客戶端client: 192.168.100.200 windows7

配置centos7-1

yum install ipvsadm keepalived -y

修改網(wǎng)卡模式為僅主機(jī)并固定IP:192.168.100.66

[root@dr1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=192.168.100.66
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

[root@dr1 ~]# service network restart
Restarting network (via systemctl): [ 確定 ]

[root@dr1 ~]# vim /etc/sysctl.conf
#添加路由轉(zhuǎn)發(fā)功能
net.ipv4.ip_forward=1
#proc響應(yīng)關(guān)閉重定向功能
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0

#生效路由轉(zhuǎn)發(fā)功能
[root@dr1 ~]# sysctl -p

構(gòu)建虛擬網(wǎng)卡

[root@dr1 ~]# cd /etc/sysconfig/network-scripts/

[root@dr1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0

[root@dr1 network-scripts]# vim ifcfg-ens33:0
#刪除原有內(nèi)容
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.100
NETWASK=255.255.255.0

#啟用虛擬網(wǎng)卡
[root@dr1 network-scripts]# ifup ens33:0

添加服務(wù)啟動(dòng)腳本

[root@dr1 ~]# cd /etc/init.d/

[root@dr1 init.d]# vim dr.sh
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.100
RIP1=192.168.100.88
RIP2=192.168.100.99
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up
/sbin/route add -host $VIP dev ens33:0
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped--------------------[ok]"
;;
status)
if [ ! -e ar/lock/subsys/ipvsadm ];then
echo "ipvsadm stoped--------------------"
exit 1
else
echo "ipvsamd Runing-------------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0

#授予腳本執(zhí)行權(quán)限
[root@dr1 init.d]# chmod +x dr.sh

#啟動(dòng)腳本
[root@dr1 init.d]# service dr.sh start

#查看ipvsadm 狀態(tài)
[root@dr1 init.d]# systemctl status ipvsadm #查看服務(wù)開啟狀態(tài)

#關(guān)閉防火墻與安全功能
[root@dr1 init.d]# systemctl stop firewalld.service
[root@dr1 init.d]# setenforce 0

配置centos7-2

安裝ipvsdam、keepalived軟件包

[root@dr2 ~]# yum install ipvsdam keepalived -y

修改網(wǎng)卡模式為僅主機(jī)并固定IP:192.168.100.77

[root@dr2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=192.168.100.77
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

[root@dr2 ~]# service network restart
Restarting network (via systemctl): [ 確定 ]

[root@dr2 ~]# vim /etc/sysctl.conf
#添加路由轉(zhuǎn)發(fā)功能
net.ipv4.ip_forward=1
#proc響應(yīng)關(guān)閉重定向功能
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0

#生效路由轉(zhuǎn)發(fā)功能
[root@dr1 ~]# sysctl -p

構(gòu)建虛擬網(wǎng)卡

[root@dr1 ~]# cd /etc/sysconfig/network-scripts/

[root@dr1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0

[root@dr1 network-scripts]# vim ifcfg-ens33:0
#刪除原有內(nèi)容
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.100
NETWASK=255.255.255.0

#啟用虛擬網(wǎng)卡
[root@dr2 ~]# ifup ens33:0

添加服務(wù)啟動(dòng)腳本

[root@dr2 ~]# cd /etc/init.d/

[root@dr2 ~]# vim dr.sh
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.100
RIP1=192.168.100.88
RIP2=192.168.100.99
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up
/sbin/route add -host $VIP dev ens33:0
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
echo "ipvsadm starting------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped--------------------[ok]"
;;
stop)
/sbin/ipvsadm -C
systemctl stop ipvsadm
ifconfig ens33:0 down
route del $VIP
echo "ipvsamd stoped--------------------[ok]"
;;
status)
if [ ! -e ar/lock/subsys/ipvsadm ];then
echo "ipvsadm stoped--------------------"
exit 1
else
echo "ipvsamd Runing-------------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0

[root@dr2 ~]# chmod +x dr.sh

[root@dr2 ~]# service dr.sh start

[root@dr2 ~]# systemctl status ipvsadm #查看服務(wù)開啟狀態(tài)

[root@dr2 ~]# systemctl stop firewalld.service
[root@dr2 ~]# setenforce 0

配置centos7-3

安裝httpd軟件包

[root@web-1 ~]# yum install httpd -y

修改網(wǎng)卡模式:僅主機(jī)并固定IP:192.168.100.88

[root@web-1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=192.168.100.88
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

[root@web-1 ~]# service network restart #重啟網(wǎng)卡
[root@web-1 ~]# systemctl stop firewalld.service #關(guān)閉防火墻
[root@web-1 ~]# setenforce 0

[root@web-1 ~]# systemctl start httpd.service #啟動(dòng)網(wǎng)站服務(wù)

創(chuàng)建網(wǎng)站首頁

[root@web-1 ~]# cd /var/www/html/
[root@web-1 ~]# echo "this is accp web" > index.html**

創(chuàng)建虛擬網(wǎng)卡

[root@web-1 ~]# cd /etc/sysconfig/network-scripts/
[root@web-1 ~]# cp ifcfg-lo ifcfg-lo:0
[root@web-1 ~]# vim ifcfg-lo:0

#刪除原來所有信息,添加以下內(nèi)容:
DEVICE=Lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.0
ONBOOT=yes

編寫服務(wù)啟動(dòng)腳本

[root@web-1 ~]# cd /etc/init.d/
[root@web-1 ~]# vim web.sh #控制服務(wù)啟動(dòng)腳本

#!/bin/bash
VIP=192.168.100.100
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/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/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
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"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0

[root@web-1 ~]# chmod +x web.sh

[root@web-1 ~]# service web.sh start

[root@web-1 ~]# ifup lo:0

在web2節(jié)點(diǎn)服務(wù)器上查看IP,可以看到虛擬IP就說明沒問題:ifconfig

firefox "http://127.0.0.1/" & #直接訪問網(wǎng)站

[root@web-1 ~]# service web.sh stop

[root@web-1 ~]# service web.sh start #建議重啟服務(wù)

配置centos7-4

安裝httpd軟件包

[root@web-2 ~]# yum install httpd -y

調(diào)整網(wǎng)卡模式為僅主機(jī)并固定IP:192.168.100.99

[root@web-2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static

IPADDR=192.168.100.99
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

[root@web-2 ~]# service network restart #重啟網(wǎng)卡
[root@web-2 ~]# systemctl stop firewalld.service #關(guān)閉防火墻
[root@web-2 ~]# setenforce 0

[root@web-2 ~]# systemctl start httpd.service
[root@web-2 ~]# systemctl status httpd.service

[root@web-2 ~]# cd /var/www/html/
[root@web-2 ~]# echo "this is benet web" > index.html

[root@web-2 ~]# cd /etc/sysconfig/network-scripts/
[root@web-2 ~]# cp ifcfg-lo ifcfg-lo:0

[root@web-2 ~]# vim ifcfg-lo:0

DEVICE=Lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.0
ONBOOT=yes

[root@web-2 ~]# cd /etc/init.d/
[root@web-2 ~]# vim web.sh #控制服務(wù)啟動(dòng)腳本

#!/bin/bash
VIP=192.168.100.100
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/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/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
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"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0

[root@web-2 ~]# chmod +x web.sh

[root@web-2 ~]# service web.sh start

#開啟虛擬網(wǎng)卡
[root@web-2 ~]# ifup lo:0

firefox "http://127.0.0.1/" & #直接訪問網(wǎng)站

#關(guān)閉并重啟服務(wù)
[root@web-2 ~]# service web.sh stop
[root@web-2 ~]# service web.sh start

使用Win7客戶端測試

C:\Users\czt>ping 192.168.100.100

正在 Ping 192.168.100.100具有 32 字節(jié)的數(shù)據(jù):
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64

192.168.100.100 的 Ping 統(tǒng)計(jì)信息:
數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計(jì)時(shí)間(以毫秒為單位):
最短 = 0ms,最長 = 0ms,平均 = 0ms

LVS-DR與 Keepalived群集

keepalived部署

[root@dr1 ~]# cd /etc/keepalived/

[root@dr1 ~]# vim keepalived.conf

global_defs {
notification_email {acassen@firewall.loc
br/>acassen@firewall.loc
br/>sysadmin@firewall.loc
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1 #指向本地
smtp_connect_timeout 30
router_id LVS_01 #指定名稱,備份服務(wù)器不同名稱,另一臺為02
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}

vrrp_instance VI_1 {
state MASTER #備份服務(wù)器將MASTER換為BACKUP
interface eth0
virtual_router_id 10 #組號相同
priority 100 #優(yōu)先級,備小于主
advert_int 1
authentication {
auth_type PASS
auth_pass abc123 #驗(yàn)證密碼
}
virtual_ipaddress {
192.168.100.100 #虛擬IP
}
}

virtual_server 192.168.100.100 80 { #虛擬IP及端口號
delay_loop 6
lb_algo rr
lb_kind DR #改為DR
persistence_timeout 50
protocol TCP

real_server 192.168.100.88 80 {              #節(jié)點(diǎn)服務(wù)器1
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

real_server 192.168.100.99 80 {              #節(jié)點(diǎn)服務(wù)器2
    weight 1
    TCP_CHECK {                     #修改為TCP_CHECK
        connect_port 80              #添加端口
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}

#啟動(dòng)keepalived服務(wù)
[root@dr1 ~]# systemctl start keepalived.service

使用客戶端測試
模擬down掉一臺調(diào)度服務(wù)器,在win7上嘗試互聯(lián)服務(wù)器,如果在win7上還能ping通,就說明另一臺調(diào)度服務(wù)器已經(jīng)接替并開始工作

C:\Users\czt>ping 192.168.100.100

正在 Ping 192.168.100.66 具有 32 字節(jié)的數(shù)據(jù):
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64
來自 192.168.100.100 的回復(fù): 字節(jié)=32 時(shí)間<1ms TTL=64

192.168.100.100 的 Ping 統(tǒng)計(jì)信息:
數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計(jì)時(shí)間(以毫秒為單位):
最短 = 0ms,最長 = 0ms,平均 = 0ms


分享文章:LVS-DR與Keepalived群集
網(wǎng)址分享:http://weahome.cn/article/pseoed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部