国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
高可用軟件keepalived詳解

高可用軟件闡述

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

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

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

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

下面主要介紹下keepalived。

Keepalived詳解

Keepalived是什么?

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

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

VRRP工作機(jī)制

先看兩個(gè)概念:VRRP路由器和VRRP虛擬路由器

1. VRRP路由器

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

2 .VRRP虛擬路由器

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

然后再來看一下VRRP的工作機(jī)制?

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

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

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

VRRP工作流程?

1) 初始化

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

2) Master

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

3)Backup

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

VRRP ARP查詢處理?

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

keepalived架構(gòu)

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

core:是keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動和維護(hù)及全局配置文件的加載解析等。

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

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

libipfwc:liipfwc庫是配置LVS時(shí)會用到的。

libipvs*:配置LVS時(shí)會用到。

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


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx+Keepalived實(shí)現(xiàn)站點(diǎn)高可用 | Sean's Notes
VRRP協(xié)議介紹
虛擬路由器冗余協(xié)議VRRP詳解
高性能集群軟件Keepalived(1)
VRRP協(xié)議
keepalived實(shí)現(xiàn)雙機(jī)熱備
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服