一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

高可用軟件keepalived詳解

 漢無為 2018-12-11

高可用軟件闡述

在高可用軟件領(lǐng)域,我們可能常會聽到Heartbeat、Corosync、Pacemaker、keepalived等軟件。常見有人問Heartbeat、Corosync、Keepalived這三個集群組件我們到底選哪個好呢?

首先我想說明的是,Heartbeat、Corosync是屬于同一類型,Keepalived與Heartbeat、Corosync,根本不是同一類型的。Keepalived使用的vrrp協(xié)議方式,虛擬路由冗余協(xié)議 (Virtual Router Redundancy Protocol,簡稱VRRP);Heartbeat或Corosync是基于主機或網(wǎng)絡服務的高可用方式;

簡單的說就是,Keepalived的目的是模擬路由器的高可用,Heartbeat或Corosync的目的是實現(xiàn)Service的高可用。所以一般Keepalived是實現(xiàn)前端高可用,常用的前端高可用的組合有,就是我們常見的LVS+Keepalived、Nginx+Keepalived、HAproxy+Keepalived。而Heartbeat或Corosync是實現(xiàn)服務的高可用,常見的組合有Heartbeat v3(Corosync)+Pacemaker+NFS+Httpd 實現(xiàn)Web服務器的高可用、Heartbeat v3(Corosync)+Pacemaker+NFS+MySQL 實現(xiàn)MySQL服務器的高可用。

總結(jié)一下,Keepalived中實現(xiàn)輕量級的高可用,一般用于前端高可用,且不需要共享存儲,一般常用于兩個節(jié)點的高可用。而Heartbeat(或Corosync)一般用于服務的高可用,且需要共享存儲,一般用于多節(jié)點的高可用。

下面主要介紹下keepalived。

Keepalived詳解

Keepalived是什么?

Keepalived是集群管理中保證集群高可用的一個服務軟件,用來防止單點故障。Keepalived起初就是為了LVS調(diào)度節(jié)點高可用而設計的,專門用來監(jiān)控集群系統(tǒng)中各個服務節(jié)點的狀態(tài)。如果某個服務節(jié)點出現(xiàn)異常,或工作出現(xiàn)故障,Keepalived將檢測到,并將出現(xiàn)故障的服務節(jié)點從集群系統(tǒng)中剔除,也就是替LVS做了對后端realserver的健康狀態(tài)監(jiān)測。而當故障節(jié)點恢復正常后,Keepalived又可以自動將此服務節(jié)點重新加入到服務器集群中。這些工作全部自動完成,不需要人工干涉,需要人工完成的只是修復出現(xiàn)故障的服務節(jié)點。

Keepalived后來實現(xiàn)了VRRP協(xié)議的功能,基于VRRP協(xié)議來實現(xiàn)的LVS服務高可用方案,可以利用其來避免單點故障。一個LVS服務會有2臺服務器運行Keepalived,一臺為主服務器(MASTER),一臺為備份服務器(BACKUP),但是對外表現(xiàn)為一個虛擬IP,主服務器會發(fā)送特定的消息給備份服務器,當備份服務器收不到這個消息的時候,即主服務器宕機的時候, 備份服務器就會接管虛擬IP,繼續(xù)提供服務,從而保證了高可用性。Keepalived是VRRP的完美實現(xiàn),因此在介紹keepalived之前,先介紹一下VRRP的原理。

VRRP工作機制

先看兩個概念:VRRP路由器和VRRP虛擬路由器

1. VRRP路由器

就是一臺物理路由器,只不過上面運行了VRRP協(xié)議實現(xiàn)的程序,一臺VRRP物理路由器可以位于多個虛擬路由器。

2 .VRRP虛擬路由器

所謂虛擬就是說并不是實際存在的,虛擬路由器通常由多臺物理的VRRP路由器通過某種方式組成的,就好比這些物理的路由器都丟到一個池里面去,整個pool對外看起來就像是一臺路由器,其實內(nèi)部有多臺虛擬路由器。

然后再來看一下VRRP的工作機制?

VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議??梢哉J為是實現(xiàn)路由器高可用的協(xié)議,目的就是為了解決靜態(tài)路由單點故障。VRRP通過一種競選協(xié)議來動態(tài)的將路由任務交給LAN中的虛擬路由器的某臺VRRP路由器。將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網(wǎng)內(nèi)其他機器的默認路由為該vip),master會發(fā)組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據(jù)VRRP的優(yōu)先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。Keepalived就是巧用VRRP協(xié)議來實現(xiàn)高可用性(HA)的。

VRRP所有的協(xié)議報文都是通過IP多播(multicast)包(多播地址224.0.0.18)形式發(fā)送的。虛擬路由器由VRID(范圍0-255)和一組IP地址組成,對外表現(xiàn)為一個周知的MAC地址。所以,在一個虛擬路由 器中,不管誰是MASTER,對外都是相同的MAC和IP(稱之為VIP)??蛻舳酥鳈C并不需要因為MASTER的改變而修改自己的路由配置,對客戶端來說,這種主從的切換是透明的。

在一個虛擬路由器中,只有作為MASTER的VRRP路由器會一直發(fā)送VRRP通告信息(VRRPAdvertisement message),BACKUP不會搶占MASTER,除非它的優(yōu)先級(priority)更高。當MASTER不可用時(BACKUP收不到通告信息), 多臺BACKUP中優(yōu)先級最高的這臺會被搶占為MASTER。這種搶占是非常快速的(<>

VRRP工作流程?

1) 初始化

路由器啟動時,如果路由器的優(yōu)先級是255(最高優(yōu)先級,路由器擁有路由器地址),要發(fā)送VRRP通告信息,并發(fā)送廣播ARP信息通告路由器IP地址對應的MAC地址為路由虛擬MAC,設置通告信息定時器準備定時發(fā)送VRRP通告信息,轉(zhuǎn)為MASTER狀態(tài);否則進入BACKUP狀態(tài),設置定時器檢查定時檢查是否收到MASTER的通告信息。

2) Master

  • 設置定時通告定時器;
  • 用VRRP虛擬MAC地址響應路由器IP地址的ARP請求;
  • 轉(zhuǎn)發(fā)目的MAC是VRRP虛擬MAC的數(shù)據(jù)包;
  • 如果是虛擬路由器IP的擁有者,將接受目的地址是虛擬路由器IP的數(shù)據(jù)包,否則丟棄;
  • 當收到shutdown的事件時刪除定時通告定時器,發(fā)送優(yōu)先權(quán)級為0的通告包,轉(zhuǎn)初始化狀態(tài);
  • 如果定時通告定時器超時時,發(fā)送VRRP通告信息;
  • 收到VRRP通告信息時,如果優(yōu)先權(quán)為0,發(fā)送VRRP通告信息;否則判斷數(shù)據(jù)的優(yōu)先級是否高于本機,或相等而且實際IP地址大于本地實際IP,設置定時通告定時器,復位主機超時定時器,轉(zhuǎn)BACKUP狀態(tài);否則的話,丟棄該通告包;

3)Backup

  • 設置主機超時定時器;
  • 不能響應針對虛擬路由器IP的ARP請求信息;
  • 丟棄所有目的MAC地址是虛擬路由器MAC地址的數(shù)據(jù)包;
  • 不接受目的是虛擬路由器IP的所有數(shù)據(jù)包;
  • 當收到shutdown的事件時刪除主機超時定時器,轉(zhuǎn)初始化狀態(tài);
  • 主機超時定時器超時的時候,發(fā)送VRRP通告信息,廣播ARP地址信息,轉(zhuǎn)MASTER狀態(tài);
  • 收到VRRP通告信息時,如果優(yōu)先權(quán)為0,表示進入MASTER選舉;否則判斷數(shù)據(jù)的優(yōu)先級是否高于本機,如果高的話承認MASTER有效,復位主機超時定時器;否則的話,丟棄該通告包;

VRRP ARP查詢處理?

當內(nèi)部主機通過ARP查詢虛擬路由器IP地址對應的MAC地址時,MASTER路由器回復的MAC地址為虛擬的VRRP的MAC地址,而不是實際網(wǎng)卡的 MAC地址,這樣在路由器切換時讓內(nèi)網(wǎng)機器覺察不到;而在路由器重新啟動時,不能主動發(fā)送本機網(wǎng)卡的實際MAC地址。如果虛擬路由器開啟的ARP代理 (proxy_arp)功能,代理的ARP回應也回應VRRP虛擬MAC地址。

keepalived架構(gòu)

高可用軟件keepalived詳解

keepalived也是模塊化設計不同模塊負責不同的功能,下面是keepalived的相關(guān)模塊:core、check、vrrp、libipfwc、libipvs-2.4、libipvs-2.6。

core:是keepalived的核心,負責主進程的啟動和維護及全局配置文件的加載解析等。

check:負責healthchecker(健康檢查),包括了各種健康檢查方式以及對應的配置的解析(包括LVS的配置解析)。

vrrp:VRRPD子進程就是來實現(xiàn)VRRP協(xié)議的。

libipfwc:liipfwc庫是配置LVS時會用到的。

libipvs*:配置LVS時會用到。

PS:注意keepalived和LVS完全是兩碼事只不過他們各負其責相互配合而已。


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产成人综合亚洲欧美日韩| 小黄片大全欧美一区二区| 五月婷婷欧美中文字幕| 中文字幕日韩精品人一妻| 人妻一区二区三区多毛女| 九九热精品视频免费在线播放 | 国产精品一级香蕉一区| 久久老熟女一区二区三区福利| 久草精品视频精品视频精品| 亚洲乱码av中文一区二区三区| 人妻一区二区三区在线| 欧美精品一区二区水蜜桃| 欧美日韩国产亚洲三级理论片| 人妻露脸一区二区三区| 91精品国产综合久久不卡| 午夜日韩在线观看视频| 亚洲少妇人妻一区二区| 亚洲精品黄色片中文字幕| 日本二区三区在线播放| 日本高清中文精品在线不卡| 1024你懂的在线视频| 久久精品色妇熟妇丰满人妻91| 国产一级片内射视频免费播放| 国产超薄黑色肉色丝袜| 国产户外勾引精品露出一区| 日韩精品综合福利在线观看| 国产欧洲亚洲日产一区二区| 少妇福利视频一区二区| 欧美成人国产精品高清| 麻豆国产精品一区二区三区| 国产精品欧美激情在线观看| 国产级别精品一区二区视频| a久久天堂国产毛片精品| 国产又粗又猛又黄又爽视频免费| 亚洲国产性感美女视频| 在线观看那种视频你懂的| 国产成人精品午夜福利| 黑色丝袜脚足国产一区二区| 亚洲男人的天堂就去爱| 国自产拍偷拍福利精品图片| 亚洲一区二区三区一区|