版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 it 你好 linux 學(xué)習(xí)文檔之-keepalive+lvs 搭建高可用服務(wù)器 版本 V1.1 時(shí) 間 2012-06-16 修改 2012-06-17 版權(quán) GPL 作者 itnihao 本文檔來(lái)自itnihao 對(duì)keepalive 的學(xué)習(xí)和理解,如有謬誤之處,歡迎給我發(fā)郵件交流 本文檔涉及以下內(nèi)容 一、keepalive 軟件概述二、vrrp 協(xié)議概述 三、keepalive 軟件安裝四、keepalive 配置詳解 五、keepalive+lvs 實(shí)現(xiàn)高可用集群六、一些故障排除 一、keepalive 軟件概述什么是 Keepalived 呢,keepal
2、ived 觀其名可知,保持存活,在網(wǎng)絡(luò)里面就是保持在線了,也就是所謂的高可用或熱備,用來(lái)防止單點(diǎn)故障(單點(diǎn)故障是指一旦某一點(diǎn)出現(xiàn)故障就會(huì)導(dǎo)致整個(gè)系統(tǒng)架構(gòu)的不可用)的發(fā)生,那說(shuō)到 keepalived 時(shí)不得不說(shuō)的一個(gè)協(xié)議就是 VRRP 協(xié)議, 可以說(shuō)這個(gè)協(xié)議就是keepalived 實(shí)現(xiàn)的基礎(chǔ),那么首先我們來(lái)看看VRRP 協(xié)議 二、vrrp 協(xié)議概述Vrrp 協(xié)議來(lái)自 h3c 官方的文檔,摘抄如下,希望加深對(duì)這個(gè)協(xié)議的理解 VRRP 技術(shù)白皮書關(guān)鍵詞:VRRP、虛擬路由器 摘 要:本文介紹VRRP 的基本原理和典型應(yīng)用,以及H3C 公司 VRRP 特性解決方案的特點(diǎn)和組網(wǎng)情況。 縮略語(yǔ): 縮略
3、語(yǔ)英文全名中文解釋VRRPVirtual Router Redundancy Protocol虛擬路由器冗余協(xié)議 NQANetwork Quality Analyzer網(wǎng)絡(luò)質(zhì)量分析 BFDBidirectional Forwarding Detection雙向轉(zhuǎn)發(fā)檢測(cè) IRDPICMP Router Discovery ProtocolICMP 路由發(fā)現(xiàn)協(xié)議 VRIDVirtual Router ID虛擬路由器號(hào) 目 錄 1 概述 1.1 產(chǎn)生背景 1.2 技術(shù)優(yōu)點(diǎn) 2 VRRP 協(xié)議介紹 2.1 相關(guān)術(shù)語(yǔ) 2.2 虛擬路由器簡(jiǎn)介 2.3 VRRP 工作過程 歡迎交流itnihao 的運(yùn)維技術(shù)
4、博客 2.3.1 Master 路由器的選舉 2.3.2 Master 路由器狀態(tài)的通告 2.3.3 認(rèn)證方式 3 Comware 實(shí)現(xiàn)的技術(shù)特色 3.1 監(jiān)視上行鏈路 3.2 Backup 監(jiān)視 Master 工作狀態(tài) 4 典型組網(wǎng)案例 4.1 主備備份 4.2 負(fù)載分擔(dān) 4.3 Master 使用 BFD/NQA 監(jiān)視上行鏈路 4.4 Backup 使用 BFD 監(jiān)視 Master 狀態(tài) 5 附錄 5.1 參考文獻(xiàn) 1概述1.1 產(chǎn)生背景隨著 Internet 的發(fā)展,人們對(duì)網(wǎng)絡(luò)可靠性的要求越來(lái)越高。特別是對(duì)于終端用戶來(lái)說(shuō),能夠?qū)崟r(shí)
5、與網(wǎng)絡(luò)其他部分保持聯(lián)系是非常重要的。一般來(lái)說(shuō),主機(jī)通過設(shè)置默認(rèn)網(wǎng)關(guān)來(lái)與外部網(wǎng)絡(luò)聯(lián)系,如圖1所示: 圖1 常用局域網(wǎng)組網(wǎng)方案 主機(jī)將發(fā)送給外部網(wǎng)絡(luò)的報(bào)文發(fā)送給網(wǎng)關(guān),由網(wǎng)關(guān)傳遞給外部網(wǎng)絡(luò),從而實(shí)現(xiàn)主機(jī)與外部網(wǎng)絡(luò)的通信。正常的情況下,主機(jī)可以完全信賴網(wǎng)關(guān)的工作,但是當(dāng)網(wǎng)關(guān)壞掉時(shí),主機(jī)與外部的通信就會(huì)中斷。要解決網(wǎng)絡(luò)中斷的問題,可以依靠再添加網(wǎng)關(guān)的方式解決,不過由于大多數(shù)主機(jī)只允許配置一個(gè)默認(rèn)網(wǎng)關(guān),此時(shí)需要網(wǎng)絡(luò)管理員進(jìn)行手工干預(yù)網(wǎng)絡(luò)配置,才能使得主機(jī)使用新的網(wǎng)關(guān)進(jìn)行通信;有時(shí),人們運(yùn)用動(dòng)態(tài)路由協(xié)議的方法來(lái)解決網(wǎng)絡(luò)出現(xiàn)故障這一問題,如運(yùn)行 RIP、OSPF 等,或者使用 IRDP。然而,這些協(xié)議由于配置
6、過于復(fù)雜,或者安全性能不好等原因都不能滿足用戶的需求。 為了更好地解決網(wǎng)絡(luò)中斷的問題,網(wǎng)絡(luò)開發(fā)者提出了 VRRP ,它既不需要改變組網(wǎng)情況,也不需要在主機(jī)上做任何配置,只需要在相關(guān)路由器上配置極少的幾條命令,就能實(shí)現(xiàn)下一跳網(wǎng)關(guān)的備份,并且不會(huì)給主機(jī)帶來(lái)任何負(fù)擔(dān)。和其他方法比較起來(lái),VRRP 更加能夠滿足用戶的需求。 1.2 技術(shù)優(yōu)點(diǎn)VRRP 是一種容錯(cuò)協(xié)議,它保證當(dāng)主機(jī)的下一跳路由器出現(xiàn)故障時(shí),由另一臺(tái)路由器來(lái)代替出現(xiàn)故障的路由器進(jìn)行工作,從而保持網(wǎng)絡(luò)通信的連續(xù)性和可靠性。 VRRP 具有如下優(yōu)點(diǎn): 簡(jiǎn)化網(wǎng)絡(luò)管理。在具有多播或廣播能力的局域網(wǎng)(如以太網(wǎng))中,借助 VRRP 能在某臺(tái)設(shè)備出現(xiàn)故障
7、時(shí)仍然提供高可靠的缺省鏈路,有效避免單一鏈路發(fā)生故障后網(wǎng)絡(luò)中斷的問題,而無(wú)需修改動(dòng)態(tài)路由協(xié)議、路由發(fā)現(xiàn)協(xié)議等配置信息,也無(wú)需修改主機(jī)的默認(rèn)網(wǎng)關(guān)配置。 適應(yīng)性強(qiáng)。VRRP 報(bào)文封裝在 IP 報(bào)文中,支持各種上層協(xié)議。 網(wǎng)絡(luò)開銷小。VRRP 只定義了一種報(bào)文VRRP 通告報(bào)文,并且只有處于 Master 狀態(tài)的路由器可以發(fā)送 VRRP 報(bào)文。 2 VRRP 協(xié)議介紹2.1 相關(guān)術(shù)語(yǔ) 虛擬路由器:由一個(gè) Master 路由器和多個(gè) Backup 路由器組成。主機(jī)將虛擬路由器當(dāng)作默認(rèn)網(wǎng)關(guān)。 VRID:虛擬路由器的標(biāo)識(shí)。有相同 VRID 的一組路由器構(gòu)成一個(gè)虛擬路由器。 Master 路由器:虛擬路由器
8、中承擔(dān)報(bào)文轉(zhuǎn)發(fā)任務(wù)的路由器。 Backup 路由器:Master 路由器出現(xiàn)故障時(shí),能夠代替 Master 路由器工作的路由器。 虛擬 IP 地址:虛擬路由器的 IP 地址。一個(gè)虛擬路由器可以擁有一個(gè)或多個(gè) IP 地址。 IP 地址擁有者:接口 IP 地址與虛擬 IP 地址相同的路由器被稱為 IP 地址擁有者。 虛擬 MAC 地址:一個(gè)虛擬路由器擁有一個(gè)虛擬 MAC 地址。虛擬 MAC 地址的格式為00-00-5E-00-01-VRID。通常情況下,虛擬路由器回應(yīng) ARP 請(qǐng)求使用的是虛擬 MAC 地址,只有虛擬路由器做特殊配置的時(shí)候,才回應(yīng)接口的真實(shí) MAC 地址。 優(yōu)先級(jí):VRRP 根據(jù)優(yōu)
9、先級(jí)來(lái)確定虛擬路由器中每臺(tái)路由器的地位。 非搶占方式:如果 Backup 路由器工作在非搶占方式下,則只要 Master 路由器沒有出現(xiàn)故障,Backup 路由器即使隨后被配置了更高的優(yōu)先級(jí)也不會(huì)成為 Master 路由器。 搶占方式:如果 Backup 路由器工作在搶占方式下,當(dāng)它收到 VRRP 報(bào)文后,會(huì)將自己的優(yōu)先級(jí)與通告報(bào)文中的優(yōu)先級(jí)進(jìn)行比較。如果自己的優(yōu)先級(jí)比當(dāng)前的 Master 路由器的優(yōu)先級(jí)高,就會(huì)主動(dòng)搶占成為 Master 路由器;否則,將保持 Backup 狀態(tài)。 2.2 虛擬路由器簡(jiǎn)介VRRP 將局域網(wǎng)內(nèi)的一組路由器劃分在一起,形成一個(gè) VRRP 備份組,它在功能上相當(dāng)于一
10、臺(tái)虛擬路由器, 使用虛擬路由器號(hào)進(jìn)行標(biāo)識(shí)。以下使用虛擬路由器代替 VRRP 備份組進(jìn)行描述。 虛擬路由器有自己的虛擬 IP 地址和虛擬 MAC 地址,它的外在表現(xiàn)形式和實(shí)際的物理路由器完全一樣。局域網(wǎng)內(nèi)的主機(jī)將虛擬路由器的 IP 地址設(shè)置為默認(rèn)網(wǎng)關(guān),通過虛擬路由器與外部網(wǎng)絡(luò)進(jìn)行通信。 虛擬路由器是工作在實(shí)際的物理路由器之上的。它由多個(gè)實(shí)際的路由器組成,包括一個(gè) Master 路由器和多個(gè) Backup 路由器。Master 路由器正常工作時(shí),局域網(wǎng)內(nèi)的主機(jī)通過 Master 與外界通信。當(dāng) Master 路由器出現(xiàn)故障時(shí),Backup 路由器中的一臺(tái)設(shè)備將成為新的 Master 路由器,接替轉(zhuǎn)
11、發(fā)報(bào)文的工作,如圖2所示。 圖2 虛擬路由器示意圖 2.3 VRRP 工作過程VRRP 的工作過程為: (1) 虛擬路由器中的路由器根據(jù)優(yōu)先級(jí)選舉出 Master。Master 路由器通過發(fā)送免費(fèi) ARP 報(bào)文,將自己的虛擬 MAC 地址給與它連接的設(shè)備或者主機(jī),從而承擔(dān)報(bào)文轉(zhuǎn)發(fā)任務(wù); (2) Master 路由器周期性發(fā)送 VRRP 報(bào)文,以公布其配置信息(優(yōu)先級(jí)等)和工作狀況; (3) 如果 Master 路由器出現(xiàn)故障,虛擬路由器中的 Backup 路由器將根據(jù)優(yōu)先級(jí)重新選舉新的 Master; (4) 虛擬路由器狀態(tài)切換時(shí),Master 路由器由一臺(tái)設(shè)備切換為另外一臺(tái)設(shè)備,新的 Mas
12、ter 路由器只是簡(jiǎn)單地發(fā)送一個(gè)攜帶虛擬路由器的 MAC 地址和虛擬 IP 地址信息的免費(fèi) ARP 報(bào)文,這樣就可以更新與它連接的主機(jī)或設(shè)備中的 ARP 相關(guān)信息。網(wǎng)絡(luò)中的主機(jī)感知不到 Master 路由器已經(jīng)切換為另外一臺(tái)設(shè)備。 (5) Backup 路由器的優(yōu)先級(jí)高于 Master 路由器時(shí),由 Backup 路由器的工作方式(搶占方式和非搶占方式)決定是否重新選舉 Master。 由此可見,為了保證 Master 路由器和 Backup 路由器能夠協(xié)調(diào)工作,VRRP 需要實(shí)現(xiàn)以下功能: Master 路由器的選舉; Master 路由器狀態(tài)的通告; 同時(shí),為了提高安全性,VRRP 還提供
13、了認(rèn)證功能; 下面將從上述三個(gè)方面詳細(xì)介紹 VRRP 的工作過程。 2.3.1 Master 路由器的選舉VRRP 根據(jù)優(yōu)先級(jí)來(lái)確定虛擬路由器中每臺(tái)路由器的角色(Master 路由器或 Backup 路由器)。優(yōu)先級(jí)越高,則越有可能成為 Master 路由器。 初始創(chuàng)建的路由器工作在 Backup 狀態(tài),通過 VRRP 報(bào)文的交互獲知虛擬路由器中其他成員的優(yōu)先級(jí): 如果 VRRP 報(bào)文中 Master 路由器的優(yōu)先級(jí)高于自己的優(yōu)先級(jí),則路由器保持在Backup 狀態(tài); 如果 VRRP 報(bào)文中 Master 路由器的優(yōu)先級(jí)低于自己的優(yōu)先級(jí),采用搶占工作方式的路由器將搶占成為 Master 狀態(tài),
14、周期性地發(fā)送 VRRP 報(bào)文,采用非搶占工作方式的路由器仍保持 Backup 狀態(tài); 如果在一定時(shí)間內(nèi)沒有收到 VRRP 報(bào)文,則路由器切換為 Master 狀態(tài)。 VRRP 優(yōu)先級(jí)的取值范圍為0到255(數(shù)值越大表明優(yōu)先級(jí)越高),可配置的范圍是1到254,優(yōu)先級(jí)0為系統(tǒng)保留給路由器放棄 Master 位置時(shí)候使用,255則是系統(tǒng)保留給 IP 地址擁有者使用。當(dāng)路由器為 IP 地址擁有者時(shí),其優(yōu)先級(jí)始終為255。因此,當(dāng)虛擬路由器內(nèi)存在 IP 地址擁有者時(shí),只要其工作正常,則為Master 路由器。 2.3.2 Master 路由器狀態(tài)的通告Master 路由器周期性地發(fā)送VRRP 報(bào)文,在虛
15、擬路由器中公布其配置信息(優(yōu)先級(jí)等)和工作狀況。Backup 路由器通過接收到 VRRP 報(bào)文的情況來(lái)判斷 Master 路由器是否工作正常。 Master 路由器主動(dòng)放棄 Master 地位(如 Master 路由器退出虛擬路由器)時(shí),會(huì)發(fā)送優(yōu)先級(jí)為0的 VRRP 報(bào)文,致使 Backup 路由器快速切換變成 Master路由器。這個(gè)切換的時(shí)間稱為 Skew time,計(jì)算方式為: (256Backup 路由器的優(yōu)先級(jí))/256,單位為秒。 當(dāng) Master 路由器發(fā)生網(wǎng)絡(luò)故障而不能發(fā)送 VRRP 報(bào)文的時(shí)候,Backup 路由器并不能立即知道其工作狀況。Backup 路由器等待一段時(shí)間之后
16、,如果還沒有接收到 VRRP 報(bào)文,那么會(huì)認(rèn)為 Master 路由器無(wú)法正常工作,而把自己升級(jí)為 Master 路由器,周期性發(fā)送 VRRP 報(bào)文。如果此時(shí)多個(gè) Backup 路由器競(jìng)爭(zhēng)Master 路由器的位置,將通過優(yōu)先級(jí)來(lái)選舉 Master 路由器。Backup 路由器默認(rèn)等待的時(shí)間稱為Master_Down_Interval,取值為:(3VRRP 報(bào)文的發(fā)送時(shí)間間隔)Skew time,單位為秒。 在性能不夠穩(wěn)定的網(wǎng)絡(luò)中,Backup 路由器可能因?yàn)榫W(wǎng)絡(luò)堵塞而在 Master_Down_Interval 期間沒有收到 Master 路由器的報(bào)文,而主動(dòng)搶占為 Master 位置,如果此
17、時(shí)原 Master 路由器的報(bào)文又到達(dá)了,就會(huì)出現(xiàn)虛擬路由器的成員頻繁的進(jìn)行 Master 搶占現(xiàn)象。為了緩解這種現(xiàn)象的發(fā)生,特制定了延遲等待定時(shí)器。它可以使得 Backup 路由器在等待了 Master_Down_Interval 后,再等待延遲等待時(shí)間。如在此期間仍然沒有收到 VRRP 報(bào)文,則此 Backup 路由器才會(huì)切換為 Master 路由器,對(duì)外發(fā)送 VRRP 報(bào)文。 2.3.3 認(rèn)證方式VRRP 提供了三種認(rèn)證方式: 無(wú)認(rèn)證:不進(jìn)行任何 VRRP 報(bào)文的認(rèn)證,不提供安全性保障。 簡(jiǎn)單字符認(rèn)證:在一個(gè)有可能受到安全威脅的網(wǎng)絡(luò)中,可以將認(rèn)證方式設(shè)置為簡(jiǎn)單字符認(rèn)證。 發(fā)送VRRP 報(bào)
18、文的路由器將認(rèn)證字填入到 VRRP 報(bào)文中,而收到 VRRP 報(bào)文的路由器會(huì)將收到的 VRRP 報(bào)文中的認(rèn)證字和本地配置的認(rèn)證字進(jìn)行比較。如果認(rèn)證字相同,則認(rèn)為接收到的報(bào)文是合法的 VRRP 報(bào)文; 否則認(rèn)為接收到的報(bào)文是一個(gè)非法報(bào)文。 MD5認(rèn)證:在一個(gè)非常不安全的網(wǎng)絡(luò)中,可以將認(rèn)證方式設(shè)置為 MD5認(rèn)證。發(fā)送 VRRP 報(bào)文的路由器利用認(rèn)證字和MD5算法對(duì)VRRP 報(bào)文進(jìn)行加密,加密后的報(bào)文保存在Authentication Header(認(rèn)證頭)中。收到 VRRP 報(bào)文的路由器會(huì)利用認(rèn)證字報(bào)文,檢查該報(bào)文的。 3 Comware 實(shí)現(xiàn)的技術(shù)特色3.1 監(jiān)視上行鏈路VRRP 網(wǎng)絡(luò)傳輸功能有
19、時(shí)需要額外的技術(shù)來(lái)完善其工作。例如,Master 路由器到達(dá)某網(wǎng)絡(luò)的鏈路突然斷掉時(shí),主機(jī)無(wú)法通過此 Master 路由器遠(yuǎn)程訪問該網(wǎng)絡(luò)。此時(shí),可以通過監(jiān)視指定接口上行鏈路功能,解決這個(gè)問題。當(dāng) Master 路由器發(fā)現(xiàn)上行鏈路出現(xiàn)故障后,主動(dòng)降低自己的優(yōu)先級(jí)(使 Master 路由器的優(yōu)先級(jí)低于 Backup 路由器),并立即發(fā)送 VRRP 報(bào)文。Backup 路由器接收到優(yōu)先級(jí)比自己低的 VRRP 報(bào)文后,等待 Skew_Time 切換為新的 Master 路由器。從而,使得能夠到達(dá)此網(wǎng)絡(luò)的 Backup 路由器充當(dāng)VRRP 新的 Master 路由器,協(xié)助主機(jī)完成網(wǎng)絡(luò)通訊。 VRRP 可以
20、直接監(jiān)視連接上行鏈路的接口狀態(tài)。當(dāng)連接上行鏈路的接口 down 時(shí),將 Master 路由器降低指定的優(yōu)先級(jí)。VRRP 優(yōu)先級(jí)最低可以降低到1。 VRRP 可以利用 NQA 技術(shù)監(jiān)視上行鏈路連接的遠(yuǎn)端主機(jī)或者網(wǎng)絡(luò)狀況。例如,Master 設(shè)備上啟動(dòng) NQA 的 ICMP-echo 探測(cè)功能,探測(cè)遠(yuǎn)端主機(jī)的可達(dá)性。當(dāng) ICMP-echo 探測(cè)失敗時(shí),它可以本設(shè)備探測(cè)結(jié)果,達(dá)到降低 VRRP 優(yōu)先級(jí)的目的。 VRRP 也可以利用BFD 技術(shù)監(jiān)視上行鏈路連接的遠(yuǎn)端主機(jī)或者網(wǎng)絡(luò)狀況。由于BFD 的精度可以到達(dá)10ms, 通過 BFD 能夠快速檢測(cè)到鏈路狀態(tài)的變化,達(dá)到快速搶占的目的。例如,可以在 Ma
21、ster 路由器上使用BFD 技術(shù)監(jiān)視上行設(shè)備的物理狀態(tài),在上行設(shè)備壞掉之后,快速檢測(cè)到該變化,并降低 Master 路由器的優(yōu)先級(jí),致使 Backup 路由器等待 Skew time 后,搶占成為新的 Master 路由器。 3.2 Backup 監(jiān)視Master 工作狀態(tài)Backup 路由器在 Master 路由器壞掉之后,正常情況下需要等待 Master_Down_Interval 才能切換為新的 Master 的位置,這段時(shí)間內(nèi)主機(jī)將無(wú)法正常通信,因?yàn)榇藭r(shí)沒有 Master 設(shè)備替它轉(zhuǎn)發(fā)報(bào)文。為了解決這個(gè)網(wǎng)絡(luò)故障,Backup 設(shè)備提供了一個(gè) Master 工作狀態(tài)的功能,使得 Mas
22、ter 路由器壞掉之后 Backup 能夠立即切換成為新的 Master 路由器,維持網(wǎng)絡(luò)通訊。 Backup 路由器監(jiān)視 Master 路由器采用的是具有快速檢測(cè)功能的 BFD 技術(shù)。在 Backup 設(shè)備上使用該技術(shù)監(jiān)視 Master 路由器的狀態(tài),一旦 Master 路由器發(fā)生故障,Backup 就可以自動(dòng)切換成為新的 Master 路由器,將切換時(shí)間縮短到毫秒級(jí)。 4 典型組網(wǎng)案例4.1 主備備份主備備份方式表示業(yè)務(wù)僅由Master 路由器承擔(dān)。當(dāng)Master路由器出現(xiàn)故障時(shí),才會(huì)由選舉出來(lái)的Backup 路由器接替它工作。如圖3中所示。 圖3 主備備份 VRRP初始情況下,Devic
23、e A 是 Master 路由器并承擔(dān)轉(zhuǎn)發(fā)任務(wù),Device B 和 Device C 是 Backup 路由器且都處于就緒 狀態(tài)。如果 Device A 發(fā)生故障,則虛擬路由器內(nèi)處于Backup 狀態(tài)的 Device B 和 Device C 路由器將根據(jù)優(yōu)先級(jí)選出一個(gè)新的 Master 路由器,這個(gè)新 Master 路由器繼續(xù)為網(wǎng)絡(luò)內(nèi)的主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。 4.2 負(fù)載分擔(dān)在路由器的一個(gè)接口上可以創(chuàng)建多個(gè)虛擬路由器,使得該路由器可以在一個(gè)虛擬路由器中作為 Master 路由器,同時(shí)在其他的虛擬路由器中作為 Backup 路由器。 負(fù)載分擔(dān)方式是指多臺(tái)路由器同時(shí)承擔(dān)業(yè)務(wù),因此負(fù)載分擔(dān)方式需要兩個(gè)或
24、者兩個(gè)以上的虛擬路由器,每個(gè)虛擬路由器都包括一個(gè) Master 路由器和若干個(gè) Backup 路由器,各虛擬路由器的 Master 路由器可以各不相同,如圖4中所示。 圖4 負(fù)載分擔(dān) VRRP在圖4中,有三個(gè)虛擬路由器存在: 虛擬路由器1:Device A 作為 Master 路由器,Device B 和 Device C 作為 Backup 路由器。 虛擬路由器2:Device B 作為 Master 路由器,Device A 和 Device C 作為 Backup 路由器。 虛擬路由器3:Device C 作為 Master 路由器,Device A 和 Device B 作為 Back
25、up 路由器。 為了實(shí)現(xiàn)業(yè)務(wù)流量在 Device A、Device B 和 Device C 之間進(jìn)行負(fù)載分擔(dān),需要將局域網(wǎng)內(nèi)的主機(jī)的默認(rèn)網(wǎng)關(guān)分別設(shè)置為虛擬路由器1、2和3。在配置優(yōu)先級(jí)時(shí),需要確保三個(gè)虛擬路由器中各路由器的 VRRP 優(yōu)先級(jí)形成一定的交叉,使得一臺(tái)路由器盡可能不同時(shí)充當(dāng)2個(gè) Master 路由器。 4.3 Master 使用BFD/NQA 監(jiān)視上行鏈路VRRP 可以通過 BFD 或 NQA 等快速檢測(cè)協(xié)議監(jiān)視一些上行敏感鏈路,使得 Master 路由器快速地發(fā)現(xiàn)網(wǎng)絡(luò)故障,降低自身的優(yōu)先級(jí),從而保證上行鏈路工作正常的 Backup 路由器能夠接替它的工作。 圖5 Master
26、監(jiān)視上行鏈路 如圖5所示,初始情況下,Device A 作為 Master 路由器,承擔(dān)轉(zhuǎn)發(fā)任務(wù);Device B 為 Backup 路由器, 處于就緒狀態(tài)。Device A 使用 BFD 監(jiān)視上行到達(dá) Internet 的鏈路狀態(tài)。如果 Device A 的上行鏈路發(fā)生故障,Device A 可以在毫秒級(jí)感知到網(wǎng)絡(luò)變化,立即發(fā)送低優(yōu)先級(jí)的 VRRP 報(bào)文給 Device B。如果此時(shí) Device B 的優(yōu)先級(jí)高于報(bào)文中的優(yōu)先級(jí),那么它將在 Skew Time 時(shí)間之后切換為新的 Master 路由器,之后由這個(gè)新的 Master 路由器為網(wǎng)絡(luò)內(nèi)的主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。 4.4 Backup 使用B
27、FD 監(jiān)視Master 狀態(tài)為了保證網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性,可以在 Backup 設(shè)備上使用 BFD 技術(shù)監(jiān)視 Master 的狀態(tài),使得 Master 設(shè) 備發(fā)生故障時(shí),Backup 設(shè)備能夠立即切換為新的 Master 設(shè)備。 圖6 Backup 監(jiān)視 Master 狀態(tài) 如圖6中所示,初始情況下,Device A 作為 Master 路由器,承擔(dān)轉(zhuǎn)發(fā)任務(wù);Device B 是 Backup 路由器,處于就緒狀態(tài)。Device B 使用 BFD 監(jiān)視 Device A 上 IP 地址的可達(dá)性。如果 Device A 發(fā)生故障,Device B 可以立即通過 BFD 感知到對(duì)端的變
28、化,主動(dòng)切換成為新的 Master 設(shè)備,之后這個(gè)新 Master 路由器將為網(wǎng)絡(luò)內(nèi)的主機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)。 5 附錄5.1 參考文獻(xiàn) RFC 3768:Virtual Router Redundancy Protocol (VRRP)以上 vrrp 協(xié)議來(lái)自 /ProductsTechnology/Technology/Dependability/Other_technology/Tec hnology_book/200802/335873_30003_0.htm#_Toc189476503除了這篇文章,還可用參考/thre
29、ad-790-1-1.html三、keepalive 軟件安裝checkcoreetcincludelibipvs-2.4libipvs-2.6Makefile.invrrpKeepalive 是一個(gè)高度模塊化設(shè)計(jì)的軟件,源代碼的結(jié)構(gòu)似乎很容易看出這一點(diǎn),源碼里面如下目錄 Corekeepalived 的核心程序,比如全局配置的解析,進(jìn)程的啟動(dòng)等等; Vrrpkeepalived 的vrrpd 子進(jìn)程以及相關(guān)的代碼。 Checkkeepalived 的 healthcheck 子進(jìn)程的目錄,包括了所有的健康檢測(cè)方式以及對(duì)應(yīng)配置的解析,lvs 的配置解析也在這個(gè)里面。 Libipfwc ipta
30、bles 庫(kù),主要用來(lái)配置LVS 中的firewall-mak。Libipvs*也是試用LVS 需要使用到的。 多進(jìn)程模式 Keepalived 采用多進(jìn)程的設(shè)計(jì)模式,每個(gè)進(jìn)程負(fù)責(zé)不同的功能,我們?cè)谑褂?lvs 的機(jī)器上通??梢钥吹饺缦逻M(jìn)程: 111Keepalived<父進(jìn)程:內(nèi)存管理,監(jiān)控子進(jìn)程112_Keepalived< VRRPf 子進(jìn)程113_Keepalived< healthchecker 子進(jìn)程 可以通過某些命令行參數(shù)來(lái)控制 u 開啟某些進(jìn)程,比如不運(yùn)行LVS 的機(jī)器上,只開啟vrrp 就可以的話,可以試用-P 參數(shù),如果只運(yùn)行了healthcheck 子進(jìn)
31、程可以試用-C 參數(shù)來(lái)實(shí)現(xiàn)。 控制面板 所謂的控制面板就是對(duì)配置文件的編譯和解析,Keepalive 的配置文件解析比較另類, 并不是一次統(tǒng)統(tǒng)解析所有的配置,只有用到某模塊的時(shí)候才解析相應(yīng)的配置,在每個(gè)模塊里面都可用看到XXX_parser.c 這樣的文件,就是做這個(gè)作用的。 WatchDg這種框架提供了對(duì)子進(jìn)程(VRRP 和 healthchecker)的監(jiān)控IPVS 封裝 Keepalive 里面所有對(duì) LVS 的相關(guān)操作并不直接使用 ipvsadm 這樣的用戶端程序,而是直接使用IPVS 提供的函數(shù)進(jìn)程操作,這些代碼都在 check/ipwrapper.c 中 安裝過程 #!/bin/b
32、ashmkidr keepalivedcdkeepalivedwget /software/keepalived-1.2.2.tar.gz tar xvf keepalived-1.2.2.tar.gzcd keepalived-1.2.2./configure -prefix=/usr -bindir=/usr/bin -sbindir=/usr/bin -libexecdir=/usr/libexec-localstatedir=/var-libdir=/lib64 -infodir=/usr/share/info -sysconfdir=/
33、etc-mandir=/usr/local/share/man-with-kernel-dir=/usr/src/kernels/2.6.32-220.el6.x86_64 make & make install注意:-with-kernel-dir 需要指定正確的內(nèi)核位置,不然會(huì)出現(xiàn)以下的提示 LVS 選項(xiàng)為 No查看 configure 的可選參數(shù)如下rootlocalhost keepalived-1.2.2# ./configure -help Installation directories: -prefix=PREFIXinstall architecture-independen
34、t files in PREFIX /usr/local -exec-prefix=EPREFIX install architecture-dependent files in EPREFIX PREFIX By default, make install will install all the files in /usr/local/bin, /usr/local/lib etc. You can specify an installation prefix other than /usr/local using -prefix, for instance -prefix=$HOME.
35、For better control, use the options below. Fine tuning of the installation directories: -bindir=DIRuser executables EPREFIX/bin -sbindir=DIRsystem admin executables EPREFIX/sbin -libexecdir=DIRprogram executables EPREFIX/libexec -sysconfdir=DIRread-only single-machine data PREFIX/etc -sharedstatedir
36、=DIRmodifiable architecture-independent data PREFIX/com -localstatedir=DIRmodifiable single-machine data PREFIX/var -libdir=DIRobject code libraries EPREFIX/lib -includedir=DIRC header files PREFIX/include -oldincludedir=DIRC header files for non-gcc /usr/include -datarootdir=DIRread-only arch.-inde
37、pendent data root PREFIX/share -datadir=DIRread-only architecture-independent data DATAROOTDIR -infodir=DIRinfo documentation DATAROOTDIR/info -localedir=DIRlocale-dependent data DATAROOTDIR/locale -mandir=DIRman documentation DATAROOTDIR/man -docdir=DIRdocumentation root DATAROOTDIR/doc/PACKAGE -ht
38、mldir=DIRhtml documentation DOCDIR -dvidir=DIRdvi documentation DOCDIR -pdfdir=DIRpdf documentation DOCDIR -psdir=DIRps documentation DOCDIR Optional Features: -disable-option-checking ignore unrecognized -enable/-with options -disable-FEATUREdo not include FEATURE (same as -enable-FEATURE=no) -enab
39、le-FEATURE=ARG include FEATURE ARG=yes -disable-lvs-syncddo not use LVS synchronization daemon -disable-lvsdo not use the LVS framework -disable-vrrpdo not use the VRRP framework -enable-debugcompile with debugging flags -enable-profilecompile with profiling flags Optional Packages: -with-PACKAGE=AR
40、Guse PACKAGE ARG=yes -without-PACKAGEdo not use PACKAGE (same as -with-PACKAGE=no) -with-kernel-dir=DIR path to linux kernel source directory -with-kernel-version=VER forced value for linux kernel version (VER=2.4|2.6) Some influential environment variables: CCC compiler command CFLAGSC compiler fla
41、gs LDFLAGSlinker flags, e.g. -L if you have libraries in a nonstandard directory LIBSlibraries to pass to the linker, e.g. -l CPPFLAGS(Objective) C/C+ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPPC preprocessor Use these variables to override the choices made by conf
42、igure or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. Configure 正確后會(huì)得到以下提示 注意 Use IPVS Frameworkipvs 框架-也即的核心代碼框架,如果不使用,可用在configure 時(shí)指定參數(shù)-disable-lvs,這樣的話,這里看到的就是No 不是Yes,如下所示: IPVS sync daemon support IPVS 同步進(jìn)程,很顯然,如果前面那項(xiàng)是 No 的話,那
43、么這里肯定也是 No,當(dāng)然如果前面這項(xiàng)是 Yes,即使用 LVS ,而不想使用 LVS 的同步進(jìn)程(sync daemon),可以在configure 的時(shí)候指定-disable-lvs-syncdIPVS use libnlUse VRRP FrameworkVRRP 框架,是Keepalived 的核心進(jìn)程vrrrpd Use Debug flags四、keepalive 配置詳解Keep 的配置文件可以分為三類、 1. 全局配置文件 2. VRRPD 配置 3. LVS 配置 全局配置:對(duì)整個(gè)Keepalive 配置生效的,不管是否使用LVS VRRPD 是 Keepalived 的核心
44、 LVS 配置只在使用Keepalived 來(lái)配置和管理 LVS 時(shí)才需要使用,如果僅僅使用 Keepalived 做HA,LVS 的配置完全是不需要的。 ,()配置文件都是以塊(block)形式組織的,每個(gè)塊都在和包圍的范圍內(nèi)。#和!開頭的行都是注釋 #全局配置-包括兩個(gè)子配置 全局定義 global definition 和靜態(tài)地址路由(static ipaddress/routes! Configuration File for keepalived global_defs #全局配置 notification_email #發(fā)生切換的時(shí)候,發(fā)送的郵箱,可以有多個(gè),每行一個(gè)itnihao
45、#需要接收郵箱1 #需要接收郵箱2 notification_email_from #發(fā)件箱smtp_server #指定郵件服務(wù)的地址smtp_connect_timeout 30 #連接 smtp 超時(shí)間隔 router_id LVS_DEVEL#運(yùn)行 keepalive 機(jī)器的標(biāo)示,注意每個(gè)機(jī)器需要唯一的標(biāo)示 #靜態(tài)地址和路由 所謂的靜態(tài)(static)就是說(shuō)不會(huì)隨 vrrpd instance 的開/關(guān)而變化,VIP 就不是 static 的,會(huì)隨著 vrrpd 而添加/刪除。整個(gè)配置可以
46、用來(lái)給服務(wù)器配置靜態(tài)的 IP 地址/路由,當(dāng)然如果服務(wù)器的配置里面已經(jīng)有這 些配置,這里就不需要設(shè)置了。static_ipaddress /24 brd + dev eth0 scope global #keepalive 最終運(yùn)行的命令是 ip addr add /24 brd + dev eth0 scope global #這里的配置要符合 linux 下的命令規(guī)則 static_routes src $SRC_IP to $DST_IP dev $SRC_DEVICE #源地址,目的地址 src $SRC_IP to $DST_IP via
47、$GW dev $SRC_DEVICE #=全局配置到此結(jié)束= #VRRPD 的配置包括2部分:VRRPD 同步組(synchroizstion group)和 VRRPD 實(shí)例(VRRPD instance) VRRPD Sync Groups 不適用 Sync Group 的話,如果機(jī)器(或者說(shuō) router)有兩個(gè)網(wǎng)段,一個(gè)內(nèi)網(wǎng),一個(gè)外網(wǎng),每個(gè)網(wǎng)段開啟一個(gè) VRRPD 實(shí)例,假設(shè) VRRPD 配置為檢查內(nèi)網(wǎng),那么當(dāng)外網(wǎng)出現(xiàn)問題時(shí),VRRPD 認(rèn)為自己仍然健康,那么不會(huì)發(fā)送 Master 和 Backup 的切換,從而導(dǎo)致了問題。Sync group 就是為了解決這個(gè)問題,可以把兩個(gè)實(shí)例放
48、進(jìn)一個(gè) Sync Group,這樣的話,group 里面任何一個(gè)實(shí)例出現(xiàn)問題都會(huì)發(fā)生切換。vrrp_syncv_group VG_1 group inside_network outside_network notify_master /path/to/to_master.sh notify_backup /path/to/to_backup.sh notify_fault /path/fault.sh VG_1 notify /path/to/notify.sh smtp_alter #notify_mater 指定當(dāng)切換到 Master 時(shí),指定的腳本,這個(gè)腳本可以傳入?yún)?shù)(引號(hào)引起 ,其
49、他2個(gè)類推#notify 指定有3個(gè)參數(shù),這些參數(shù)由 Keepalived 提供:$1(GROUP-INSTANCE),$2(group 或者 instance 名字),$3(MASTER_BACKUP-FAULT) #smtp_alter 使用 global_defs 里面定義的郵件地址和 smtp 服務(wù)器在切換后發(fā)送郵件#VIP vrrp_instance VI_1 state MASTER#兩種角色,MASTER or BACKUP 備份服務(wù)器此處是 BACKUP #state 指定 instance 的初始(initial)狀態(tài),在兩臺(tái) router 都啟動(dòng)后,馬上會(huì)發(fā)生競(jìng)選,高 pr
50、iority 的會(huì)競(jìng)選為 Master,所以這里的額 state 并不表示這臺(tái)就是一直是 Master interface eth0#實(shí)例綁定的網(wǎng)卡 dont_track_primary#忽略 VRRP 的 interface 錯(cuò)誤(默認(rèn)不設(shè)置) track_interface #設(shè)置額外的監(jiān)控,里面的任意一個(gè)網(wǎng)卡出現(xiàn)問題,都會(huì)進(jìn)入 FAULT 狀態(tài) )的eth0 eth1 mcast_src_ip #發(fā)送多播包的地址,如果不設(shè)置,默認(rèn)使用綁定的網(wǎng)卡的 primary IP Garp_master_delay 10 #在切換到 MASTER 狀態(tài)后,延遲進(jìn)行 gratuitous ARP 請(qǐng)求
51、virtual_router_id 51 #VRID 標(biāo)記(0.255) priority 100#優(yōu)先級(jí),另一臺(tái)改為90 advert_int 1#檢查間隔,默認(rèn)1s nopreempt#不搶占,只在優(yōu)先級(jí)高的機(jī)器上設(shè)置即可,優(yōu)先級(jí)低的機(jī)器不設(shè)置 lvs_sync_daemon_interface #lvs syncd 綁定的網(wǎng)卡authentication #認(rèn)證 auth_type PASS#認(rèn)證的方式,支持 PASS 和 AH auth_pass 1111#認(rèn)證的 virtual_ipaddress # 指 定 漂 移 地 址 (VIP) 00#如果有多個(gè) VI
52、P,繼續(xù)換行填寫 virtual_routes #發(fā)生切換的時(shí)候添加/刪除路由 src to /24 via 1 dev eth1 /24via 1 dev eth1 /24 dev eth2 /24 via 1 preempt_deay#搶占延遲,默認(rèn)為5分鐘Debug#debug 級(jí)別 #=VRRPD 配置到此結(jié)束= #LVS 配置-包括兩部分:虛擬主機(jī)組(virtual server group)和虛擬主
53、機(jī)(virtual server),這些配置都會(huì)傳遞給 ipvsadm 作為參數(shù) 虛擬主機(jī)組 這個(gè)配置段是可選的,目的是為了讓一臺(tái) RealServer 上的某個(gè) service 可以屬于多個(gè) Virtual Server,并且只做一次監(jiān)控檢查。 virtual_server_group #VIP port fwmark 虛擬主機(jī) 可以用下面三種方式中的任意一種配置1.virtual_server IPport 2.virtual_server fwmark int 3.virtual_server group sting it 你好 linux 學(xué)習(xí)文檔之-keepalive+lvs 搭建高
54、可用服務(wù)器 virtual_server 00 80 # 設(shè) 置 VIP port delay_loop 2#每個(gè)2秒檢查一次 real_server 狀態(tài) lb_algo wrr#LVS 調(diào)度算法#lb_algo rr|wrr|lc|wlc|sh|dh|lblc lb_kind DR#LVS 集群模式#lb_kind NAT|DR|TUN persistence_timeout 60 #會(huì)話保持時(shí)間 #pertsistence_granularity #lvs 會(huì)話保持度,ipvsadm中的-M 參數(shù) 默認(rèn)是0xffffffff, 即根據(jù)每個(gè)客戶端做會(huì)話保持 #virtualhost #HTTP_GET 做健康檢查時(shí),檢查的 Web 服務(wù)器的虛擬主機(jī)(即 Host:頭) protocol TCP#使用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度特色餐廳廚師團(tuán)隊(duì)合作協(xié)議書4篇
- 2024珠寶首飾買賣合同
- 2025年昆山物業(yè)費(fèi)調(diào)價(jià)與新收費(fèi)標(biāo)準(zhǔn)全面合同2篇
- 2025年河南鄭州熱力集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年湖南華菱線纜股份有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年度家庭保姆雇傭與家庭生活美學(xué)合同4篇
- 2025年消防工程總承包與應(yīng)急響應(yīng)服務(wù)合同
- 2025年社區(qū)宣傳欄制作及公益廣告投放合同3篇
- 二零二五版定制門窗設(shè)計(jì)研發(fā)與市場(chǎng)推廣合同4篇
- 湛江科技學(xué)院《語(yǔ)言基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- T-SDLPA 0001-2024 研究型病房建設(shè)和配置標(biāo)準(zhǔn)
- (人教PEP2024版)英語(yǔ)一年級(jí)上冊(cè)Unit 1 教學(xué)課件(新教材)
- 全國(guó)職業(yè)院校技能大賽高職組(市政管線(道)數(shù)字化施工賽項(xiàng))考試題庫(kù)(含答案)
- 2024胃腸間質(zhì)瘤(GIST)診療指南更新解讀 2
- 光儲(chǔ)電站儲(chǔ)能系統(tǒng)調(diào)試方案
- 2024年二級(jí)建造師繼續(xù)教育題庫(kù)及答案(500題)
- 小學(xué)數(shù)學(xué)二年級(jí)100以內(nèi)連加連減口算題
- 建設(shè)單位如何做好項(xiàng)目管理
- 三年級(jí)上遞等式計(jì)算400題
- 一次性餐具配送投標(biāo)方案
- 《中華民族多元一體格局》
評(píng)論
0/150
提交評(píng)論