在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于LVS+Keepalived實(shí)現(xiàn)高可用負(fù)載均衡

馬哥Linux運(yùn)維 ? 來(lái)源:cnblogs ? 2024-04-09 12:30 ? 次閱讀

前言

在業(yè)務(wù)量達(dá)到一定量的時(shí)候,往往單機(jī)的服務(wù)是會(huì)出現(xiàn)瓶頸的。此時(shí)最常見(jiàn)的方式就是通過(guò)負(fù)載均衡來(lái)進(jìn)行橫向擴(kuò)展。其中我們最常用的軟件就是 Nginx。通過(guò)其反向代理的能力能夠輕松實(shí)現(xiàn)負(fù)載均衡,當(dāng)有服務(wù)出現(xiàn)異常,也能夠自動(dòng)剔除。但是負(fù)載均衡服務(wù)自身也可能出現(xiàn)故障,因此需要引入其他的軟件來(lái)實(shí)現(xiàn)負(fù)載均衡服務(wù)的高可用。本文就介紹了一種基于 LVS+Keepalived 的方式,來(lái)實(shí)現(xiàn)高可用 Web 集群。

LVS 與 Keepalived

LVS 是一種預(yù)裝在 Linux 系統(tǒng)中,基于四層、具有強(qiáng)大性能的反向代理服務(wù)器。ipvsadm 是 LVS 的命令行管理工具。

LVS 特點(diǎn)是:

首先它是基于 4 層的網(wǎng)絡(luò)協(xié)議的,抗負(fù)載能力強(qiáng),對(duì)于服務(wù)器的硬件要求除了網(wǎng)卡外,其他沒(méi)有太多要求;

配置性比較低,這是一個(gè)缺點(diǎn)也是一個(gè)優(yōu)點(diǎn),因?yàn)闆](méi)有可太多配置的東西,大大減少了人為出錯(cuò)的幾率;

應(yīng)用范圍比較廣,不僅僅對(duì) web 服務(wù)做負(fù)載均衡,還可以對(duì)其他應(yīng)用(mysql)做負(fù)載均衡;

LVS 架構(gòu)中存在一個(gè)虛擬 IP 的概念,需要向 IDC 多申請(qǐng)一個(gè) IP 來(lái)做虛擬 IP。

Keepalived 是一個(gè)基于 VRRP 協(xié)議來(lái)實(shí)現(xiàn)的服務(wù)高可用方案,可以利用其來(lái)避免 IP 單點(diǎn)故障,一般與其它負(fù)載均衡技術(shù)(如 LVS 、HAProxy 、Nginx)一起工作來(lái)達(dá)到集群的高可用。Keepalived 是 LVS 的擴(kuò)展項(xiàng)目, 因此它們之間具備良好的兼容性,可直接通過(guò) Keepalived 的配置文件來(lái)配置 LVS。

LVS 的工作原理可見(jiàn)參考文獻(xiàn)

關(guān)于 LVS 和 Keepalived 詳細(xì)的結(jié)構(gòu)和原理,以及 LVS 和我們常用的 LB 軟件 Nginx 的異同,可以閱讀末尾提供的參考文獻(xiàn)。接下來(lái)將介紹如何部署一個(gè)高可用的負(fù)載均衡集群。

相關(guān)術(shù)語(yǔ)

LB (Load Balancer 負(fù)載均衡)

HA (High Available 高可用)

Failover (失敗切換)

Cluster (集群)

LVS (Linux Virtual Server Linux 虛擬服務(wù)器)

DS (Director Server),指的是前端負(fù)載均衡器節(jié)點(diǎn)

RS (Real Server),后端真實(shí)的工作服務(wù)器

VIP (Virtual IP),虛擬的 IP 地址,向外部直接面向用戶請(qǐng)求,作為用戶請(qǐng)求的目標(biāo)的 IP 地址

DIP (Director IP),主要用于和內(nèi)部主機(jī)通訊的 IP 地址

RIP (Real Server IP),后端服務(wù)器的 IP 地址

CIP (Client IP),訪問(wèn)客戶端的 IP 地址

測(cè)試環(huán)境

軟件環(huán)境:CentOS7、Keepalived1.3.5、ipvsadm1.27

DS1(MASTER):172.17.13.120

DS1(BACKUP):172.17.13.123

RS1:172.17.13.142:80 Nginx

RS1:172.17.13.173:80 Nginx

VIP:172.17.13.252

                              |
             +----------------+-----------------+
             |                                  |
172.17.13.120|----     VIP:172.17.13.252    ----|172.17.13.123
     +-------+--------+                +--------+-------+
     |     DS1       |                |       DS2      |
     | LVS+Keepalived |                | LVS+Keepalived |
     +-------+--------+                +--------+-------+
             |                |
             +----------------+-----------------+
                              |
  +------------+              |               +------------+
  |     RS1    |172.17.13.142 |  172.17.13.173|     RS2    |
  | Web Server +--------------+---------------+ Web Server |
  +------------+                              +------------+

集群的架構(gòu)圖如上圖所示。DS1、DS2 為兩個(gè) LB 節(jié)點(diǎn),RS1、RS2 為兩個(gè)真實(shí)的服務(wù)節(jié)點(diǎn),通過(guò)一個(gè)虛擬的 IP 地址對(duì)外提供服務(wù)。

最終我們要達(dá)到的目標(biāo)為:

Client 通過(guò) VIP 訪問(wèn)服務(wù)能夠?qū)⒄?qǐng)求根據(jù)配置的規(guī)則進(jìn)行分發(fā)(LB)

當(dāng) MATSER 的 LB 節(jié)點(diǎn)故障時(shí),自動(dòng)切換到 BACKUP 的 LB 節(jié)點(diǎn)上,保證服務(wù)正常訪問(wèn);MASTER 恢復(fù)后,再次作為主 LB 負(fù)載節(jié)點(diǎn)

當(dāng)某個(gè) RS 節(jié)點(diǎn)故障時(shí),自動(dòng)剔除該節(jié)點(diǎn);恢復(fù)后,再次加入集群

詳細(xì)配置流程

安裝相關(guān)軟件

[root@localhost ~]# yum install ipvsadm keepalived -y

配置 Keepalived

DS1(MASTER) 節(jié)點(diǎn)

[root@localhost ~]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER            # 兩個(gè) DS,一個(gè)為 MASTER 一個(gè)為 BACKUP
    interface enp1s0        # 當(dāng)前 IP 對(duì)應(yīng)的網(wǎng)絡(luò)接口,通過(guò) ifconfig 查詢
    virtual_router_id 62    # 虛擬路由 ID(0-255),在一個(gè) VRRP 實(shí)例中主備服務(wù)器 ID 必須一樣
    priority 200            # 優(yōu)先級(jí)值設(shè)定:MASTER 要比 BACKUP 的值大
    advert_int 1            # 通告時(shí)間間隔:?jiǎn)挝幻耄鱾湟恢?    authentication {        # 認(rèn)證機(jī)制,主從節(jié)點(diǎn)保持一致即可
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.17.13.252       # VIP,可配置多個(gè)
    }
}

# LB 配置
virtual_server 172.17.13.252 80  {
    delay_loop 3                    # 設(shè)置健康狀態(tài)檢查時(shí)間
    lb_algo rr                      # 調(diào)度算法,這里用了 rr 輪詢算法
    lb_kind DR                      # 這里測(cè)試用了 Direct Route 模式
    persistence_timeout 50          # 持久連接超時(shí)時(shí)間
    protocol TCP
real_server 172.17.13.173 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            retry 3      # 舊版本為 nb_get_retry 
            delay_before_retry 3
            connect_port 80
        }
    }
 real_server 172.17.13.142 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

DS2(BACKUP) 節(jié)點(diǎn)

復(fù)制之前的配置文件,修改vrrp_instance VI_1中的state為BACKUP。

配置完成后,分別重啟 Keepalived 服務(wù)。

[root@localhost ~]# systemctl restart keepalived

配置 RS

RS 配置主要分兩部分,一部分是 web 服務(wù),另一部分是網(wǎng)絡(luò)轉(zhuǎn)發(fā)配置。

web 服務(wù)部署不多展開(kāi)了,根據(jù)實(shí)際情況來(lái),可以是 Tomcat 也可以是 Nginx,只要能通過(guò) ip:port 能訪問(wèn)到即可。

在網(wǎng)絡(luò)轉(zhuǎn)發(fā)配置上,LVS 支持多種通信模型(NAT、DR、TUN),本文采用 DR 模型來(lái)進(jìn)行通信,大致的流程如下圖所示。請(qǐng)求數(shù)據(jù)包從到達(dá) LB 后,LVS 會(huì)將這個(gè)數(shù)據(jù)包的 MAC 地址改成輪詢到的 RS 的 MAC 地址,并丟給交換機(jī);RS 收到后進(jìn)行處理并從網(wǎng)卡的 lo 端口發(fā)送出去,響應(yīng)報(bào)文到達(dá)交換機(jī)后直接轉(zhuǎn)發(fā)給 Client。

f76f4746-f58e-11ee-a297-92fbcf53809c.png

因此,我們需要在 RS 的網(wǎng)卡上配置 lo 為 VIP。配置腳本如下

#!/bin/bash 
SNS_VIP=172.17.13.252
case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_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"
       ;;
stop)
       ifconfig lo:0 down
       route del $SNS_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

本地創(chuàng)建完后,并執(zhí)行。

[root@localhost ~]# chmod a+x lvs-web.sh
[root@localhost ~]# ./lvs-web.sh start

配置完成后,通過(guò) VIP 就可以訪問(wèn)到 RS 上的服務(wù)了。

HA 測(cè)試

配置完雙機(jī)熱備后,我們就可以測(cè)試下,節(jié)點(diǎn)發(fā)生故障后以及 LB 切換失敗后,能否保證服務(wù)的 HA。

在 LB 的主節(jié)點(diǎn)上輸入ip a,可以看到 VIP 目前已經(jīng)正確配置在網(wǎng)卡上。

f7857fd4-f58e-11ee-a297-92fbcf53809c.png

輸入watch ipvsadm -Ln --stats可實(shí)時(shí)看到負(fù)載均衡的結(jié)果,正常。

f798fd16-f58e-11ee-a297-92fbcf53809c.png

接下面我們?cè)囍L問(wèn)一下 VIP。

[root@localhost ~]# while true ; do curl 172.17.13.252; sleep 1;done

看到服務(wù)可正常輪詢。

f7af6baa-f58e-11ee-a297-92fbcf53809c.png

此時(shí)手動(dòng)停止一個(gè) RS,再次訪問(wèn) VIP,LVS 會(huì)自動(dòng)剔除無(wú)法訪問(wèn)的服務(wù),重啟后,服務(wù)會(huì)被自動(dòng)添加。

f7bd2542-f58e-11ee-a297-92fbcf53809c.png

f7d019ea-f58e-11ee-a297-92fbcf53809c.png

如果此時(shí),手動(dòng)停止 MASTER 上的 Keepalived,模擬 LB MASTER 節(jié)點(diǎn)掛了,VIP 會(huì)自動(dòng)飄到 BACKUP LB 上。

f7e910b2-f58e-11ee-a297-92fbcf53809c.png

f8037664-f58e-11ee-a297-92fbcf53809c.png

此時(shí),如果重啟 MASTER 后,VIP 又會(huì)飄回去。MASTER 的優(yōu)先級(jí)高于 BACKUP,從而實(shí)現(xiàn) HA。

f819eb9c-f58e-11ee-a297-92fbcf53809c.png

總結(jié)

本文介紹了使用 LVS+Keepalived 來(lái)實(shí)現(xiàn)高可用負(fù)載均衡,這能使得我們的服務(wù)能夠更加的穩(wěn)定。Keepalived 默認(rèn)是運(yùn)行在 LVS 之上的,有較好的兼容性,當(dāng)然我們也可以使用戶 Nginx 作為 LB 的軟件,可根據(jù)業(yè)務(wù)和兩者的異同進(jìn)行選擇。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1269

    瀏覽量

    69732
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9304

    瀏覽量

    86066
  • 網(wǎng)絡(luò)協(xié)議

    關(guān)注

    3

    文章

    269

    瀏覽量

    21635
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    267

    瀏覽量

    24501
  • 負(fù)載均衡
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    12391

原文標(biāo)題:你必須會(huì)的LVS高可用負(fù)載均衡方案

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    解析keepalived+nginx實(shí)現(xiàn)可用方案技術(shù)

    的位置,Nginx的可用影響到整個(gè)系統(tǒng)的穩(wěn)定性。如果nginx服務(wù)器宕機(jī),后端web服務(wù)將無(wú)法提供服務(wù),影響嚴(yán)重。所以如何保證Nginx 的穩(wěn)定和可用非常重要,接下來(lái)就來(lái)介紹Ngi
    的頭像 發(fā)表于 09-30 15:52 ?3814次閱讀
    解析<b class='flag-5'>keepalived</b>+nginx<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>高</b><b class='flag-5'>可用</b>方案技術(shù)

    負(fù)載均衡器的誕生和工作機(jī)制

    今天我們來(lái)深度揭秘一下負(fù)載均衡LVS 的秘密,相信大家看了你管這破玩意兒叫負(fù)載均衡?這篇文章后,還是有不少疑問(wèn),比如
    的頭像 發(fā)表于 01-04 12:26 ?1068次閱讀
    <b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>器的誕生和工作機(jī)制

    基于KeepAlive的可用配置

    KeepAlived集群可用搭建
    發(fā)表于 06-11 16:36

    PHP開(kāi)發(fā)中,如何處理負(fù)載并發(fā)?

    負(fù)載均衡轉(zhuǎn)發(fā),可以對(duì)MySQL讀進(jìn)行負(fù)載均衡,對(duì)后端的MySQL節(jié)點(diǎn)進(jìn)行檢測(cè)和負(fù)載均衡,大家可
    發(fā)表于 07-03 10:33

    16nginx+keepalived +zuul如何實(shí)現(xiàn)可用負(fù)載均衡

    學(xué)習(xí)筆記微服務(wù)-16 nginx+keepalived +zuul 實(shí)現(xiàn)可用負(fù)載均衡
    發(fā)表于 05-22 10:16

    Keepalived+Haproxy如何實(shí)現(xiàn)可用負(fù)載綜合實(shí)驗(yàn)

    Keepalived+Haproxy實(shí)現(xiàn)可用負(fù)載綜合實(shí)驗(yàn)
    發(fā)表于 06-02 16:53

    雙機(jī)熱備與負(fù)載均衡的設(shè)計(jì)與實(shí)現(xiàn)

    針對(duì)OpenFlow SDN系統(tǒng)中的策略管理模塊提出了一種新型的雙機(jī)熱備和負(fù)載均衡方案,采用了服務(wù)器集群的方式,通過(guò)Keepalived和Heartbeat實(shí)現(xiàn)了雙機(jī)熱備模塊,通過(guò)Ng
    發(fā)表于 12-24 17:57 ?10次下載

    云環(huán)境中基于LVS集群的負(fù)載均衡算法

    為了解決傳統(tǒng)負(fù)載均衡技術(shù)應(yīng)用到云計(jì)算環(huán)境中引發(fā)的新問(wèn)題,提出一種云環(huán)境下基于LVS集群分組負(fù)載均衡算法。該算法首先根據(jù)硬件性能計(jì)算各節(jié)點(diǎn)的權(quán)
    發(fā)表于 11-24 11:05 ?1次下載
    云環(huán)境中基于<b class='flag-5'>LVS</b>集群的<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>算法

    超詳細(xì)!使用 LVS 實(shí)現(xiàn)負(fù)載均衡原理及安裝配置詳解

    負(fù)載均衡集群是 load balance 集群的簡(jiǎn)寫,翻譯成中文就是負(fù)載均衡集群。常用的負(fù)載均衡
    發(fā)表于 01-21 14:01 ?1268次閱讀

    keepalivedLVS概述,KeepAlived工作原理

    Checkers :此功能模塊主要負(fù)責(zé)真實(shí)服務(wù)器的健康檢查( HealthChecking ),是Keepalived最主要的功能之一,因?yàn)镠ealthChecking是負(fù)載均衡功能穩(wěn)定運(yùn)行的基礎(chǔ),
    的頭像 發(fā)表于 06-25 14:08 ?5.5w次閱讀
    <b class='flag-5'>keepalived</b>及<b class='flag-5'>LVS</b>概述,<b class='flag-5'>KeepAlived</b>工作原理

    負(fù)載均衡keepalived的工作原理

    問(wèn)題初現(xiàn) 「滴~~~」,釘釘突然響起了很多客服轉(zhuǎn)發(fā)來(lái)的用戶投訴信息,說(shuō)是網(wǎng)絡(luò)連接不上了,經(jīng)過(guò)排查發(fā)現(xiàn)是其中一臺(tái)機(jī)器(RS2)掛了 ? 但是 LVS 依然持續(xù)地把流量打到這臺(tái)機(jī)器上,持續(xù)造成線上
    的頭像 發(fā)表于 10-11 17:49 ?2301次閱讀

    搭建Keepalived+Lvs+Nginx可用集群負(fù)載均衡

    Server)實(shí)現(xiàn)可用負(fù)載均衡 附:LVS負(fù)載
    的頭像 發(fā)表于 06-25 15:39 ?3145次閱讀
    搭建<b class='flag-5'>Keepalived+Lvs</b>+Nginx<b class='flag-5'>高</b><b class='flag-5'>可用</b>集群<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>

    nginx負(fù)載均衡配置介紹

    目錄 nginx負(fù)載均衡 nginx負(fù)載均衡介紹 反向代理與負(fù)載均衡 nginx
    的頭像 發(fā)表于 11-10 13:39 ?312次閱讀
    nginx<b class='flag-5'>負(fù)載</b><b class='flag-5'>均衡</b>配置介紹

    確保網(wǎng)站無(wú)縫運(yùn)行:Keepalived可用與Nginx集成實(shí)戰(zhàn)

    nginx負(fù)載均衡機(jī)可用 腦裂 腦裂產(chǎn)生的原因 腦裂的常見(jiàn)解決方案 對(duì)腦裂進(jìn)行監(jiān)控 keepalived簡(jiǎn)介
    的頭像 發(fā)表于 11-27 09:08 ?664次閱讀
    確保網(wǎng)站無(wú)縫運(yùn)行:<b class='flag-5'>Keepalived</b><b class='flag-5'>高</b><b class='flag-5'>可用</b>與Nginx集成實(shí)戰(zhàn)

    常見(jiàn)的lvs負(fù)載均衡算法

    散列(SH)、最短期望延遲(SED)和無(wú)需隊(duì)列(NQ)等,它們根據(jù)服務(wù)器性能、連接數(shù)、請(qǐng)求目標(biāo)或源IP等因素,實(shí)現(xiàn)請(qǐng)求的均衡分配,適用于不同應(yīng)用場(chǎng)景。 以下是UU云小編對(duì)LVS負(fù)載
    的頭像 發(fā)表于 12-12 13:50 ?157次閱讀
    主站蜘蛛池模板: www在线视频 | 国产精品9999久久久久仙踪林 | 国内久久精品视频 | 午夜精品区 | 色多多福利网站老司机 | 69xxxx女人 | 激情久久久久久久久久久 | 丁香激情六月天 | 欧美xxxxxbbbb | 三级在线观看视频 | 黄色网址视频在线观看 | 免费看黄视频 | 五月天狠狠 | 操操操综合网 | 宅宅午夜亚洲精品 | 国产男靠女免费视频网站 | 亚洲福利视频一区二区 | 你懂的在线观看视频 | 婷婷亚洲综合一区二区 | 一级毛片一级毛片一级级毛片 | 你懂的在线观看视频 | 国产精品美女自在线观看免费 | 亚洲欧美日韩在线观看你懂的 | 五月婷亚洲 | 一区二区影院 | 91色在线播放 | 中文字幕亚洲一区二区v@在线 | 欧美在线资源 | 久久riav二区三区 | 免费的黄色大片 | 成人夜色香网站在线观看 | 97影院理论片在线观看 | 成人在线综合 | 国产或人精品日本亚洲77美色 | 欧美性视频一区二区三区 | 一级色视频 | 乱人伦的小说 | 淫www| 最新版天堂资源8网 | 亚洲韩国日本欧美一区二区三区 | 色拍拍综合网 |