keepalive+lvs蜂科,keepalive+nginx配置

lvs容易出現(xiàn)單點故障顽决,keepalive可以很好的解決這個問題,配置好keepalive會自動生成ipvs規(guī)則下面讓我們來動手試試吧

image.png

將所有的地址都配好后我們只需要在兩臺lvs主機上編輯keepalive的配置文件

vrrp_instance VI_1 {
    state MASTER
    interface ens33 
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 12345678
    }
    virtual_ipaddress {
        192.168.31.66/24 dev ens33 label ens33:0
    }
}

virtual_server 192.168.31.66 80 {
        delay_loop 1 #每隔1秒檢測一次
        lb_algo wrr #wrr算法
        lb_kind DR
        protocol TCP
        sorry_server 127.0.0.1 80

        real_server 192.168.31.203 80 {
                weight 1
                HTTP_GET { #獲取健康狀態(tài)的方法
                        url {
                                path /index.html
                                status_code 200
                        }
                        nb_get_retry 3 #失敗重試3次
                        delay_before_retry 2 #每一次重試之前延遲2秒
                        connect_timeout 3 #超時時長
                }
        }
        
        real_server 192.168.31.204 80 {
                weight 1
                HTTP_GET {
                        url {
                                path /index.html
                                status_code 200
                        }
                        nb_get_retry 3 #失敗重試3次
                        delay_before_retry 2 #每一次重試之前延遲2秒
                        connect_timeout 3 #超時時長
                }
        }
                        
}                                 

與普通的keepalive不同的是需要定義一個虛擬服務(wù)器导匣,然后在里面再定義兩臺真正的服務(wù)器
啟動keepalive服務(wù)


image.png

配置好后就會自動生成ipvs規(guī)則了


image.png

下面我們來測試下



可以看到已經(jīng)成功的負載均衡了擎值,就算我們down掉其中一臺主機lvs也能正常的工作,可用性大大的增強了逐抑。


image.png

就算我們down掉兩臺服務(wù)器也能訪問sorry頁面

當(dāng)然這樣只有一臺lvs主機在服務(wù)有點浪費資源鸠儿,我們可以設(shè)置keepalived雙主模式,讓兩臺主機都動起來
當(dāng)然lvs使用起來由諸多的限制性,生產(chǎn)中較為常見的一般都是keepalived+nginx配置进每,現(xiàn)在讓我們動手實驗看看吧汹粤。
keepalived調(diào)用外部的輔助腳本進行資源監(jiān)控,并根據(jù)監(jiān)控的結(jié)果狀態(tài)能實現(xiàn)優(yōu)先動態(tài)調(diào)整田晚;也就是說當(dāng)?shù)刂忿D(zhuǎn)移到本主機上就啟動nginx嘱兼,轉(zhuǎn)走就關(guān)閉nginx這一切都是通過腳本的執(zhí)行狀態(tài)來完成,keepalived本身沒有調(diào)動nginx的功能贤徒。當(dāng)然如果是雙主模式就不需要關(guān)閉nginx芹壕,只需要啟動就行了。

分兩步:(1) 先定義一個腳本接奈;(2) 調(diào)用此腳本踢涌;
注意腳本要先定義在虛擬路由器之外,然后用track_script在虛擬路由器之內(nèi)調(diào)用

vrrp_script <SCRIPT_NAME> {
                script "" #腳本如果很簡單可直接寫在這
                interval INT #每隔多久腳本執(zhí)行一次
                weight -INT  #如果失敗當(dāng)前節(jié)點的priority減去多少(減去后因當(dāng)小于備用節(jié)點)
                                  fall INT #至少檢查幾次
                                  rise INT# 如果可用立即加權(quán)
            }
            
            track_script {
                SCRIPT_NAME_1
                SCRIPT_NAME_2
                ...
            }

配置示例:

vrrp_script chk_down {
        script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
        weight -10
        interval 1
        fall 1
        rise 1
}

vrrp_script chk_nginx {
    script "killall -0 nginx && exit 0 || exit 1"
    interval 1
    weight -5
    fall 2
    rise 1
            }

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 12345678
    }
    virtual_ipaddress {
        192.168.31.66/24 dev ens33 label ens33:0
    }


    track_script {
        chk_down
        chk_nginx
    }
        notify_master "/etc/keepalived/notify.sh master"
        notify_backup "/etc/keepalived/notify.sh backup"
        notify_fault "/etc/keepalived/notify.sh fault"
}

在這個腳本我們通過判斷目錄下是否存在down文件來調(diào)整服務(wù)的優(yōu)先級


image.png

這個時候如果我們創(chuàng)建一個down文件序宦,則優(yōu)先級就會被降低睁壁,ip地址會被移動到BACKUP上


image.png

既然這樣我們也可以通過腳本來控制nginx,如果狀態(tài)是主我們就啟動nginx如果狀態(tài)是備就關(guān)掉nginx
在nginx的主配置文件中添加
 upstream webservs {
                server 192.168.0.10:80
                server 192.168.0.11:80
                server 192.168.0.12:80
        {              

 proxy_pass http://webservs;


#通知腳本

notify() {
               local mailsubject="$(hostname) to be $1, vip floating"
               local mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
               echo "$mailbody" | mail -s "$mailsubject" $contact
              }

 case $1 in
        master)
                 systemctl start nginx
                 notify master
                  ;;
        backup)
                 systemctl restart nginx
                 notify backup
                 ;;
        fault)

                 systemctl stop nginx   

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末互捌,一起剝皮案震驚了整個濱河市潘明,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秕噪,老刑警劉巖钳降,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腌巾,居然都是意外死亡遂填,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門壤躲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來城菊,“玉大人,你說我怎么就攤上這事碉克×杌#” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵漏麦,是天一觀的道長客税。 經(jīng)常有香客問我,道長撕贞,這世上最難降的妖魔是什么更耻? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮捏膨,結(jié)果婚禮上秧均,老公的妹妹穿的比我還像新娘食侮。我一直安慰自己,他們只是感情好目胡,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布锯七。 她就那樣靜靜地躺著,像睡著了一般誉己。 火紅的嫁衣襯著肌膚如雪眉尸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天巨双,我揣著相機與錄音噪猾,去河邊找鬼。 笑死筑累,一個胖子當(dāng)著我的面吹牛袱蜡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疼阔,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼戒劫,長吁一口氣:“原來是場噩夢啊……” “哼半夷!你這毒婦竟也來了婆廊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤巫橄,失蹤者是張志新(化名)和其女友劉穎淘邻,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體湘换,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡宾舅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了彩倚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筹我。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖帆离,靈堂內(nèi)的尸體忽然破棺而出蔬蕊,到底是詐尸還是另有隱情,我是刑警寧澤哥谷,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布岸夯,位于F島的核電站,受9級特大地震影響们妥,放射性物質(zhì)發(fā)生泄漏猜扮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一监婶、第九天 我趴在偏房一處隱蔽的房頂上張望旅赢。 院中可真熱鬧齿桃,春花似錦、人聲如沸煮盼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孕似。三九已至踩娘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間喉祭,已是汗流浹背养渴。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泛烙,地道東北人理卑。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像蔽氨,于是被迫代替她去往敵國和親藐唠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容