日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

企业级WEB的负载均衡高可用之LVS+Keepalived(3)

發(fā)布時(shí)間:2025/3/17 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业级WEB的负载均衡高可用之LVS+Keepalived(3) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

②分別在二臺(tái)lvs機(jī)上啟動(dòng)servcie keepalived start就可實(shí)現(xiàn)負(fù)載均衡及高可用集群;keepalived.conf內(nèi)容說(shuō)明如下:

●全局定義塊

1、email通知。作用:有故障,發(fā)郵件報(bào)警。

2、Lvs負(fù)載均衡器標(biāo)識(shí)(lvs_id)。在一個(gè)網(wǎng)絡(luò)內(nèi),它應(yīng)該是唯一的。

3、花括號(hào)“{}”。用來(lái)分隔定義塊,因此必須成對(duì)出現(xiàn)。如果寫(xiě)漏了,keepalived運(yùn)行時(shí),不會(huì)得到預(yù)期的結(jié)果。由于定義塊內(nèi)存在嵌套關(guān)系,因此很容易遺漏結(jié)尾處的花括號(hào),這點(diǎn)要特別注意。

●VRRP定義塊

1、同步vrrp組vrrp_sync_group。作用:確定失敗切換(FailOver)包含的路由實(shí)例個(gè)數(shù)。即在有2個(gè)負(fù)載均衡器的場(chǎng)景,一旦某個(gè)負(fù)載均衡器失效,需要自動(dòng)切換到另外一個(gè)負(fù)載均衡器的實(shí)例是哪些?
2、實(shí)例組group。至少包含一個(gè)vrrp實(shí)例。
3、Vrrp實(shí)例vrrp_instance。實(shí)例名出自實(shí)例組group所包含的那些名字。

(1)實(shí)例狀態(tài)state。只有MASTER和BACKUP兩種狀態(tài),并且需要大寫(xiě)這些單詞。其中MASTER為工作狀態(tài),BACKUP為備用狀態(tài)。當(dāng)MASTER所在的服務(wù)器失效時(shí),BACKUP所在的系統(tǒng)會(huì)自動(dòng)把它的狀態(tài)有BACKUP變換成MASTER;當(dāng)失效的MASTER所在的系統(tǒng)恢復(fù)時(shí),BACKUP從MASTER恢復(fù)到BACKUP狀態(tài)。

(2)通信接口interface。對(duì)外提供服務(wù)的網(wǎng)絡(luò)接口,如eth0,eth1.當(dāng)前主流的服務(wù)器都有2個(gè)或2個(gè)以上的接口,在選擇服務(wù)接口時(shí),一定要核實(shí)清楚。

(3)lvs_sync_daemon_inteface。負(fù)載均衡器之間的監(jiān)控接口,類似于HA HeartBeat的心跳線。但它的機(jī)制優(yōu)于Heartbeat,因?yàn)樗鼪](méi)有“裂腦”這個(gè)問(wèn)題,它是以優(yōu)先級(jí)這個(gè)機(jī)制來(lái)規(guī)避這個(gè)麻煩的。在DR模式中,lvs_sync_daemon_inteface 與服務(wù)接口interface 使用同一個(gè)網(wǎng)絡(luò)接口。

(4)虛擬路由標(biāo)識(shí)virtual_router_id。這個(gè)標(biāo)識(shí)是一個(gè)數(shù)字,并且同一個(gè)vrrp實(shí)例使用唯一的標(biāo)識(shí)。即同一個(gè)vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時(shí)在整個(gè)vrrp內(nèi)是唯一的。

(5)優(yōu)先級(jí)priority。這是一個(gè)數(shù)字,數(shù)值愈大,優(yōu)先級(jí)越高。在同一個(gè)vrrp_instance里,MASTER 的優(yōu)先級(jí)高于BACKUP。若MASTER的priority值為150,那么BACKUP的priority只能是140或更小的數(shù)值。

(6)同步通知間隔advert_int。MASTER與BACKUP負(fù)載均衡器之間同步檢查的時(shí)間間隔,單位為秒。

(7)驗(yàn)證authentication。包含驗(yàn)證類型和驗(yàn)證密碼。類型主要有PASS、AH兩種,通常使用的類型為PASS,據(jù)說(shuō)AH使用時(shí)有問(wèn)題。驗(yàn)證密碼為明文,同一vrrp實(shí)例MASTER與BACKUP 使用相同的密碼才能正常通信。

4、 虛擬ip地址virtual_ipaddress。可以有多個(gè)地址,每個(gè)地址占一行,不需要指定子網(wǎng)掩碼。注意:這個(gè)ip必須與我們?cè)趌vs客戶端設(shè)定的vip相一致!

●虛擬服務(wù)器virtual_server定義塊

虛擬服務(wù)器定義是keepalived框架最重要的項(xiàng)目了,是keepalived.conf必不可少的部分。

1、虛擬服務(wù)器virtual_server。這個(gè)ip來(lái)自于vrrp定義塊的第“4”步,后面一個(gè)空格,然后加上端口號(hào)。定義一個(gè)vip,可以實(shí)現(xiàn)多個(gè)tcp端口的負(fù)載均衡功能。

(1)delay_loop。健康檢查時(shí)間間隔,單位是秒。

(2)lb_algo。負(fù)載均衡調(diào)度算法,互聯(lián)網(wǎng)應(yīng)用常使用wlc或rr。

(3)lb_kind。負(fù)載均衡轉(zhuǎn)發(fā)規(guī)則。一般包括DR、NAT、TUN3種,在我的方案中,都使用DR的方式。

(4)persistence_timeout。會(huì)話保持時(shí)間,單位是秒。這個(gè)選項(xiàng)對(duì)動(dòng)態(tài)網(wǎng)站很有用處:當(dāng)用戶從遠(yuǎn)程用帳號(hào)進(jìn)行登陸網(wǎng)站時(shí),有了這個(gè)會(huì)話保持功能,就能把用戶的請(qǐng)求轉(zhuǎn)發(fā)給同一個(gè)應(yīng)用服務(wù)器。在這里,我們來(lái)做一個(gè)假設(shè),假定現(xiàn)在有一個(gè)lvs 環(huán)境,使用DR轉(zhuǎn)發(fā)模式,真實(shí)服務(wù)器有3個(gè),負(fù)載均衡器不啟用會(huì)話保持功能。當(dāng)用戶第一次訪問(wèn)的時(shí)候,他的訪問(wèn)請(qǐng)求被負(fù)載均衡器轉(zhuǎn)給某個(gè)真實(shí)服務(wù)器,這樣他看到一個(gè)登陸頁(yè)面,第一次訪問(wèn)完畢;接著他在登陸框填寫(xiě)用戶名和密碼,然后提交;這時(shí)候,問(wèn)題就可能出現(xiàn)了---登陸不能成功。因?yàn)闆](méi)有會(huì)話保持,負(fù)載均衡器可能會(huì)把第2次的請(qǐng)求轉(zhuǎn)發(fā)到其他的服務(wù)器。

(5)轉(zhuǎn)發(fā)協(xié)議protocol。一般有tcp和udp兩種。實(shí)話說(shuō),我還沒(méi)嘗試過(guò)udp協(xié)議類的轉(zhuǎn)發(fā)。

2、真實(shí)服務(wù)器real_server,也即服務(wù)器池。Real_server的值包括ip地址和端口號(hào),多個(gè)連續(xù)的真實(shí)ip。

(1)權(quán)重weight,權(quán)重值是一個(gè)數(shù)字,數(shù)值越大,權(quán)重越高。使用不同的權(quán)重值的目的在于為不同性能的機(jī)器分配不同的負(fù)載,性能較好的機(jī)器,負(fù)載分擔(dān)大些;反之,性能差的機(jī)器,則分擔(dān)較少的負(fù)載,這樣就可以合理的利用不同性能的機(jī)器資源。

(2)Tcp檢查tcp_check。

附注:以上就是lvs+keepalived的基本配置步驟,有興趣的同學(xué)建議可做下lvs的1+2的基本架構(gòu)實(shí)驗(yàn),即不需要keepalived,采用單lvs的方式,其lvs_dr腳本如下

  • #vim?/usr/local/sbin/lvs-dr.sh ?

  • ???????#!/bin/bash ?

  • ???????#website?director?vip. ?

  • ???????SNS_VIP=192.168.1.188 ?

  • ???????SNS_RIP1=192.168.1.104 ?

  • ???????SNS_RIP2=192.168.1.105 ?

  • ??????./etc/rc.d/init.d/functions ?

  • ?????????logger?$0?called?with?$1 ?

  • ?????????case?"$1"?in ?

  • ?????????start) ?

  • ?????????#?set?squid?vip ?

  • ?????????/sbin/ipvsadm?--set?30?5?60 ?

  • ?????????/sbin/ifconfig?eth0:0?$SNS_VIP?broadcast?$SNS_VIP?netmask?255.255.255.255?broadcast?$SNS_VIP?up ?

  • ?????????/sbin/route?add?-host?$SNS_VIP?dev?eth0:0 ?

  • ?????????/sbin/ipvsadm?-A?-t?$SNS_VIP:80?-s?wrr?-p?3 ?

  • ?????????/sbin/ipvsadm?-a?-t?$SNS_VIP:80?-r?$SNS_RIP1:80?-g?-w?1 ?

  • ?????????/sbin/ipvsadm?-a?-t?$SNS_VIP:80?-r?$SNS_RIP2:80?-g?-w?1 ?

  • ?????????touch?/var/lock/subsys/ipvsadm?>/dev/null?2>&1 ?

  • ????????;; ?

  • stop) ?

  • ?????????/sbin/ipvsadm?-C ?

  • ?????????/sbin/ipvsadm?-Z ?

  • ?????????ifconfig?eth0:0?down ?

  • ?????????route?del?$SNS_VIP ?

  • ?????????rm?-rf?/var/lock/subsys/ipvsadm?>/dev/null?2>&1 ?

  • ?????????echo?"ipvsadm?stoped" ?

  • ????????;; ?

  • status) ?

  • ?????????if?[?!?-e?/var/lock/subsys/ipvsadm?];then ?

  • ?????????????????echo?"ipvsadm?stoped" ?

  • ?????????????????exit?1 ?

  • ?????????else ?

  • ?????????????????echo?"ipvsadm?OK" ?

  • ?????????fi ?

  • ???????;; ?

  • *) ?

  • ?????????echo?"Usage:?$0?{start|stop|status}" ?

  • ?????????exit?1 ?

  • esac ?

  • exit?0?

  • 最新版更新內(nèi)容如下:

    ①每臺(tái)服務(wù)器都有二塊網(wǎng)卡,分別連接內(nèi)外網(wǎng);后端的mysql數(shù)據(jù)庫(kù)與web連接采用內(nèi)網(wǎng)方式,整個(gè)網(wǎng)絡(luò)環(huán)境采用內(nèi)網(wǎng);

    ②增加了keepalivedyiyyy .conf語(yǔ)法內(nèi)容;

    ③刪除了lvs.sh腳本內(nèi)容,直接讓keepalived內(nèi)容更直接明了,新增加了單lvs的配置腳本lvs_dr.sh;

    ④lvs主從機(jī)上的keepalived.conf文件我直接從生產(chǎn)服務(wù)器上download下來(lái)了,可方便大家使用。



    轉(zhuǎn)載于:https://blog.51cto.com/changjianglinux/1862127

    總結(jié)

    以上是生活随笔為你收集整理的企业级WEB的负载均衡高可用之LVS+Keepalived(3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。