溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

keepalived含義、工作原理及配置環(huán)境介紹

發(fā)布時(shí)間:2020-04-21 11:39:18 來(lái)源:億速云 閱讀:1383 作者:三月 欄目:云計(jì)算

下文給大家?guī)?lái)keepalived含義、工作原理及配置環(huán)境介紹,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。 

一、keepalived

(1)keepalived是什么
(2)keepalived工作原理

二、配置步驟:

第一步:配置兩臺(tái) DR
第二步:配置第一臺(tái)節(jié)點(diǎn)云服務(wù)器 web1
第三步:配置第二臺(tái)節(jié)點(diǎn)云服務(wù)器 web2
第四步:客戶端測(cè)試
第五步:部署 keepalived
第六步:實(shí)驗(yàn)結(jié)果驗(yàn)證

一、keepalived :

(1)keepalived是什么

keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,其功能類似于heartbeat,用來(lái)防止單點(diǎn)故障。
1、keepalived的三個(gè)核心模塊:
core核心模塊
chech健康監(jiān)測(cè)
vrrp虛擬路由冗余協(xié)議
2、Keepalived服務(wù)的三個(gè)重要功能:
管理LVS
對(duì)LVS集群節(jié)點(diǎn)檢查
作為系統(tǒng)網(wǎng)絡(luò)服務(wù)的高可用功能

keepalived含義、工作原理及配置環(huán)境介紹

(2)keepalived工作原理

1、keepalived是以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。
2、虛擬路由冗余協(xié)議,可以認(rèn)為是實(shí)現(xiàn)路由器高可用的協(xié)議,即將N臺(tái)提供相同功能的路由器組成一個(gè)路由器組,這個(gè)組里面有一個(gè)master和多個(gè)backup,master上面有一個(gè)對(duì)外提供服務(wù)的vip(該路由器所在局域網(wǎng)內(nèi)其他機(jī)器的默認(rèn)路由為該vip),master會(huì)發(fā)組播,當(dāng)backup收不到vrrp包時(shí)就認(rèn)為master宕掉了,這時(shí)就需要根據(jù)VRRP的優(yōu)先級(jí)來(lái)選舉一個(gè)backup當(dāng)master。這樣的話就可以保證路由器的高可用了。
3、keepalived主要有三個(gè)模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。check負(fù)責(zé)健康檢查,包括常見(jiàn)的各種檢查方式。vrrp模塊是來(lái)實(shí)現(xiàn)VRRP協(xié)議的。

二、配置步驟:

實(shí)驗(yàn)環(huán)境說(shuō)明:

(1)準(zhǔn)備四臺(tái)虛擬機(jī),兩臺(tái)為調(diào)度服務(wù)器,兩臺(tái)為節(jié)點(diǎn)服務(wù)器;
(2)調(diào)度服務(wù)器部署 LVS 和 keepalived ,實(shí)現(xiàn)負(fù)載均衡和雙機(jī)熱備;
(3)客戶端主機(jī)能夠通過(guò)虛擬ip地址,訪問(wèn)到后臺(tái)的 Web服務(wù)器的網(wǎng)頁(yè);
(4)實(shí)驗(yàn)結(jié)果驗(yàn)證:其中一臺(tái) DR 宕機(jī),訪問(wèn)正常進(jìn)行,所有服務(wù)照常運(yùn)行。
角色                                      IP地址
調(diào)度服務(wù)器 DR1(主)    192.168.100.201
調(diào)度服務(wù)器 DR2 (備)   192.168.100.202
節(jié)點(diǎn)服務(wù)器 web1            192.168.100.221
節(jié)點(diǎn)服務(wù)器 web2             192.168.100.222
虛擬 IP                               192.168.100.10
客戶端測(cè)試機(jī) win7         192.168.100.50
第一步:配置兩臺(tái) DR
(1)安裝 ipvsadm 和 keepalived 包
yum install ipvsadm keepalived -y
(2)修改 /etc/sysctl.conf 文件,添加以下代碼:
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
sysctl -p     這條命令是讓以上配置生效
(3)配置虛擬網(wǎng)卡(ens33:0):
1、注意路徑:/etc/sysconfig/network-scripts/
2、直接復(fù)制已有的網(wǎng)卡信息,加以修改即可:
cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0
 刪除原來(lái)所有信息,添加以下代碼:
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
3、啟用虛擬網(wǎng)卡:
ifup ens33:0

keepalived含義、工作原理及配置環(huán)境介紹

(4)編寫(xiě)服務(wù)啟動(dòng)腳本,路徑:/etc/init.d
1、vim dr.sh 腳本內(nèi)容如下:
#!/bin/bash
GW=192.168.100.1
VIP=192.168.100.10
RIP1=192.168.100.221
RIP2=192.168.100.222
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
2、添加權(quán)限,啟動(dòng)腳本
chmod +x dr.sh
service dr.sh start

keepalived含義、工作原理及配置環(huán)境介紹

(5)第二臺(tái) DR 配置和第一臺(tái)一模一樣,重復(fù)操作一下即可
第二步:配置第一臺(tái)節(jié)點(diǎn)服務(wù)器 web1
(1)安裝 httpd
yum install httpd -y

systemctl start httpd.service   //開(kāi)啟服務(wù)
(2)在站點(diǎn)寫(xiě)一個(gè)測(cè)試網(wǎng)頁(yè),待會(huì)后面方便驗(yàn)證試驗(yàn)結(jié)果
路徑:/var/www/html
echo "this is accp web" > index.html
(3)創(chuàng)建虛擬網(wǎng)卡
1、路徑:/etc/sysconfig/network-scripts/

2、復(fù)制網(wǎng)卡信息加以修改
cp ifcfg-lo ifcfg-lo:0

3、vim ifcfg-lo:0
刪除原來(lái)所有信息,添加以下內(nèi)容:

DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes
(4)編寫(xiě)服務(wù)啟動(dòng)腳本,路徑:/etc/init.d
1、vim web.sh 腳本內(nèi)容如下:
#!/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
        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
2、添加權(quán)限,并執(zhí)行
chmod +x web.sh           //添加權(quán)限
service web.sh start      //啟動(dòng)服務(wù)
(5)開(kāi)啟虛擬網(wǎng)卡
ifup lo:0
(6)測(cè)試網(wǎng)頁(yè)是否正常

keepalived含義、工作原理及配置環(huán)境介紹

第三步:配置第二臺(tái)節(jié)點(diǎn)服務(wù)器 web2
第二臺(tái)web和第一臺(tái)配置一模一樣,唯一不同的是,為了區(qū)分實(shí)驗(yàn)效果,第二臺(tái)的測(cè)試網(wǎng)頁(yè)內(nèi)容換了:
路徑:/var/www/html
echo "this is benet web" > index.html
測(cè)試網(wǎng)頁(yè)是否正常:

keepalived含義、工作原理及配置環(huán)境介紹

第四步:客戶端測(cè)試
(1)配置好客戶端的IP地址

keepalived含義、工作原理及配置環(huán)境介紹

(2)測(cè)試
1、與 192.168.100.10 能否互通:

keepalived含義、工作原理及配置環(huán)境介紹

2、訪問(wèn)網(wǎng)頁(yè)是否正常

keepalived含義、工作原理及配置環(huán)境介紹

keepalived含義、工作原理及配置環(huán)境介紹

第五步:部署 keepalived
一、在第一臺(tái) DR 上部署:
(1)修改 keepalived.conf 文件,路徑 /etc/keepalived/
修改以下內(nèi)容:

keepalived含義、工作原理及配置環(huán)境介紹

keepalived含義、工作原理及配置環(huán)境介紹

(2)啟動(dòng)服務(wù)
systemctl start keepalived.service
二、在第二臺(tái) DR 上部署:
(1)修改 keepalived.conf 文件

keepalived含義、工作原理及配置環(huán)境介紹

keepalived含義、工作原理及配置環(huán)境介紹

(2)啟動(dòng)服務(wù)
systemctl start keepalived.service
第六步:實(shí)驗(yàn)結(jié)果驗(yàn)證
由于部署了 LVS 和 keepalived,目的是,負(fù)載均衡和雙機(jī)熱備。
此時(shí),我們模擬一下故障,宕掉其中一臺(tái) DR1,如果客戶端依舊可以和虛擬 IP地址 互通,且能夠正常訪問(wèn)網(wǎng)站的話,就說(shuō)明 DR2 就代替 DR1 工作了,防止單點(diǎn)故障的效果實(shí)現(xiàn)了。
(1)故障模擬:宕掉 DR1
ifdown ens33:0
(2)結(jié)果驗(yàn)證
1、在客戶端 ping 一下虛擬ip

keepalived含義、工作原理及配置環(huán)境介紹

2、網(wǎng)站也依舊能夠訪問(wèn)

keepalived含義、工作原理及配置環(huán)境介紹

keepalived含義、工作原理及配置環(huán)境介紹

看了以上關(guān)于keepalived含義、工作原理及配置環(huán)境介紹,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

 

 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI