久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Heartbeat基礎(chǔ)知識(shí)詳細(xì)總結(jié)

      在日常的集群系統(tǒng)架構(gòu)中,一般用到Heartbeat的主要就2種:
      1)高可用(High Availability)HA集群, 使用Heartbeat實(shí)現(xiàn),也稱為”雙機(jī)熱備”, “雙機(jī)互備”, “雙機(jī)”;
      2)負(fù)載均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)實(shí)現(xiàn);

      Heartbeat 的介紹
      Heartbeat是Linux-HA項(xiàng)目中的一個(gè)組件,它實(shí)現(xiàn)了一個(gè)高可用集群系統(tǒng)。心跳服務(wù)和集群通信是高可用集群的兩個(gè)關(guān)鍵組件,在 Heartbeat項(xiàng)目里,由heartbeat模塊實(shí)現(xiàn)了這兩個(gè)功能。Heartbeat是目前開源HA項(xiàng)目中十分成功的一個(gè)例子,它提供了所有 HA 軟件所需要的基本功能,比如心跳檢測(cè)和資源接管、監(jiān)測(cè)群集中的系統(tǒng)服務(wù)、在群集中的節(jié)點(diǎn)間轉(zhuǎn)移共享 IP 地址的所有者等,自1999年開始到現(xiàn)在,Heartbeat在行業(yè)內(nèi)得到了廣泛的應(yīng)用。heartbeat最核心的功能包括兩個(gè)部分,心跳監(jiān)測(cè)和資源接管。心跳監(jiān)測(cè)可以通過網(wǎng)絡(luò)鏈路和串口進(jìn)行,而且支持冗 余鏈路,它們之間相互發(fā)送報(bào)文來告訴對(duì)方自己當(dāng)前的狀態(tài),如果在指定的時(shí)間內(nèi)未收到對(duì)方發(fā)送的報(bào)文,那么就認(rèn)為對(duì)方失效,這時(shí)需啟動(dòng)資源接管模塊來接管運(yùn)行在對(duì)方主機(jī)上的資源或者服務(wù)。

      Hearbeat和Keepalived區(qū)別
      1) Keepalived使用的VRRP協(xié)議方式,虛擬路由冗余協(xié)議 (Virtual Router Redundancy Protocol,簡(jiǎn)稱VRRP);
      2) Heartbeat是基于主機(jī)或網(wǎng)絡(luò)的服務(wù)的高可用方式;
      3) Keepalived的目的是模擬路由器的雙機(jī);
      4) Heartbeat的目的是用戶Service的雙機(jī);
      5) LVS的高可用建議用Keepavlived;
      6) 業(yè)務(wù)的高可用用Heartbeat;

      Keepalived 主要控制IP飄移,配置應(yīng)用簡(jiǎn)單,而且分層,layer3,4,5,各自配置極為簡(jiǎn)單
      Heartbeat 不但可以控制IP飄移,更擅長對(duì)資源服務(wù)的控制,配置,應(yīng)用比較復(fù)雜;

      HA集群中的相關(guān)術(shù)語

      .節(jié)點(diǎn)(node)
      運(yùn)行heartbeat進(jìn)程的一個(gè)獨(dú)立主機(jī),稱為節(jié)點(diǎn),節(jié)點(diǎn)是HA的核心組成部分,每個(gè)節(jié)點(diǎn)上運(yùn)行著操作系統(tǒng)和heartbeat軟件服務(wù),在heartbeat集群中,節(jié)點(diǎn)有主次之分,分別稱為主節(jié)點(diǎn)和備用/備份節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)擁有唯一的主機(jī)名,并且擁有屬于自己的一組資源,例如,磁盤、文件系統(tǒng)、網(wǎng)絡(luò)地址和應(yīng)用服務(wù)等。主節(jié)點(diǎn)上一般運(yùn)行著一個(gè)或多個(gè)應(yīng)用服務(wù)。而備用節(jié)點(diǎn)一般處于監(jiān)控狀態(tài)。

      .資源(resource)
      資源是一個(gè)節(jié)點(diǎn)可以控制的實(shí)體,并且當(dāng)節(jié)點(diǎn)發(fā)生故障時(shí),這些資源能夠被其它節(jié)點(diǎn)接管,heartbeat中,可以當(dāng)做資源的實(shí)體有:
      –  磁盤分區(qū)、文件系統(tǒng)
      –  IP地址
      –  應(yīng)用程序服務(wù)
      –  NFS文件系統(tǒng)

      .事件(event)
      集群中可能發(fā)生的事情,例如節(jié)點(diǎn)系統(tǒng)故障、網(wǎng)絡(luò)連通故障、網(wǎng)卡故障、應(yīng)用程序故障等。這些事件都會(huì)導(dǎo)致節(jié)點(diǎn)的資源發(fā)生轉(zhuǎn)移,HA的測(cè)試也是基于這些事件來進(jìn)行的。

      .動(dòng)作(action)
       事件發(fā)生時(shí)HA的響應(yīng)方式,動(dòng)作是由shell腳步控制的,例如當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障后,備份節(jié)點(diǎn)將通過事先設(shè)定好的執(zhí)行腳本進(jìn)行服務(wù)關(guān)閉或啟動(dòng), 進(jìn)而接管故障節(jié)點(diǎn)的資源。

      HeartBeat 的組成

      Heartbeat提供了高可用集群最基本的功能,例如,節(jié)點(diǎn)間的內(nèi)部通信方式、集群合作管理機(jī)制、監(jiān)控工具和失效切換功能等等,目前的最新版本是Heartbeat2.x,下面講述也是以Heartbeat2.x為主,主要介紹Heartbeat2.0的內(nèi)部組成,主要分為以下幾大部分:
      heartbeat: 節(jié)點(diǎn)間通信檢測(cè)模塊
      ha-logd: 集群事件日志服務(wù)
      CCM(Consensus Cluster Membership):集群成員一致性管理模塊
      LRM (Local Resource Manager):本地資源管理模塊
      Stonith Daemon: 使出現(xiàn)問題的節(jié)點(diǎn)從集群環(huán)境中脫離
      CRM(Cluster resource management):集群資源管理模塊
      Cluster policy engine: 集群策略引擎
      Cluster transition engine:集群轉(zhuǎn)移引擎

         下圖顯示的是Heartbeat2.0內(nèi)部結(jié)構(gòu)組成

      Heartbeat基礎(chǔ)知識(shí)詳細(xì)總結(jié)

      Heartbeat僅僅是個(gè)HA軟件,它僅能完成心跳監(jiān)控和資源接管,不會(huì)監(jiān)視它控制的資源或應(yīng)用程序,要監(jiān)控資源和應(yīng)用程序是否運(yùn)行正常,必須使用第三方的插件,例如ipfail、Mon、Ldirector等。Heartbeat自身包含了幾個(gè)插件,分別是ipfail、Stonith和Ldirectord,介紹如下:

      ipfail插件的功能直接包含在Heartbeat里面,主要用于檢測(cè)網(wǎng)絡(luò)故障,并作出合理的反應(yīng),為了實(shí)現(xiàn)這個(gè)功能,ipfail使用ping節(jié)點(diǎn)或者ping節(jié)點(diǎn)組來檢測(cè)網(wǎng)絡(luò)連接是否出現(xiàn)故障,從而及時(shí)的做出轉(zhuǎn)移措施。

      Stonith插件可以在一個(gè)沒有響應(yīng)的節(jié)點(diǎn)恢復(fù)后,合理接管集群服務(wù)資源,防止數(shù)據(jù)沖突,當(dāng)一個(gè)節(jié)點(diǎn)失效后,會(huì)從集群中刪除,如果不使用Stonith插件,那么失效的節(jié)點(diǎn)可能會(huì)導(dǎo)致集群服務(wù)在多于一個(gè)節(jié)點(diǎn)運(yùn)行,從而造成數(shù)據(jù)沖突甚至是系統(tǒng)崩潰。因此,使用Stonith插件可以保證共享存儲(chǔ)環(huán)境中的數(shù)據(jù)完整性。

      Ldirector插件是一個(gè)監(jiān)控集群服務(wù)節(jié)點(diǎn)運(yùn)行狀態(tài)的插件。Ldirector如果監(jiān)控到集群節(jié)點(diǎn)中某個(gè)服務(wù)出現(xiàn)故障,就屏蔽此節(jié)點(diǎn)的對(duì)外連接功能,同時(shí)將后續(xù)請(qǐng)求轉(zhuǎn)移到正常的節(jié)點(diǎn)提供服務(wù),這個(gè)插件經(jīng)常用在LVS負(fù)載均衡集群中,關(guān)于Ldirector插件的使用,將在后面詳細(xì)講述。

      同樣,對(duì)于操作系統(tǒng)自身出現(xiàn)的問題,Heartbeat也無法監(jiān)控,如果主節(jié)點(diǎn)操作系統(tǒng)掛起,一方面可能導(dǎo)致服務(wù)中斷,另一方面由于主節(jié)點(diǎn)資源無法釋放,而備份節(jié)點(diǎn)卻接管了主節(jié)點(diǎn)的資源,此時(shí)就發(fā)生了兩個(gè)節(jié)點(diǎn)同時(shí)爭(zhēng)用一個(gè)資源的狀況。針對(duì)這個(gè)問題,就需要在linux內(nèi)核中啟用一個(gè)叫watchdog的模塊,watchdog是一個(gè)Linux內(nèi)核模塊,它通過定時(shí)向/dev/watchdog設(shè)備文件執(zhí)行寫操作,從而確定系統(tǒng)是否正常運(yùn)行,如果watchdog認(rèn)為內(nèi)核掛起,就會(huì)重新啟動(dòng)系統(tǒng),進(jìn)而釋放節(jié)點(diǎn)資源。

      在linux中完成watchdog功能的軟件叫softdog,softdog維護(hù)一個(gè)內(nèi)部計(jì)時(shí)器,此計(jì)時(shí)器在一個(gè)進(jìn)程寫入/dev/watchdog設(shè)備文件時(shí)更新,如果softdog沒有看到進(jìn)程寫入/dev/watchdog文件,就認(rèn)為內(nèi)核可能出了故障。watchdog超時(shí)周期默認(rèn)是一分鐘,可以通過將watchdog集成到Heartbeat中,從而通過Heartbeat來監(jiān)控系統(tǒng)是否正常運(yùn)行。

      HeartBeat 的作用
      通過HeartBeat,可以將資源(IP以及程序服務(wù)等資源)從一臺(tái)已經(jīng)故障的計(jì)算機(jī)快速轉(zhuǎn)移到另一臺(tái)正常運(yùn)轉(zhuǎn)的機(jī)器上繼續(xù)提供服務(wù),一般稱之為高可用的服務(wù)。在實(shí)際的生產(chǎn)應(yīng)用場(chǎng)景中,heartbeat的功能和另一個(gè)高可用的開源軟件keepalived有很多的相同之處,在我們實(shí)際的生產(chǎn)業(yè)務(wù)中也是有區(qū)別的。

      HeartBeat 的工作原理
      heartbeat最核心的包括兩個(gè)部分,心跳監(jiān)測(cè)部分和資源接管部分,心跳監(jiān)測(cè)可以通過網(wǎng)絡(luò)鏈路和串口進(jìn)行,而且支持冗 余鏈路,它們之間相互發(fā)送報(bào)文來告訴對(duì)方自己當(dāng)前的狀態(tài),如果在指定的時(shí)間內(nèi)未收到對(duì)方發(fā)送的報(bào)文,那么就認(rèn)為對(duì)方失效,這時(shí)需啟動(dòng)資源接管模塊來接管運(yùn)行在對(duì)方主機(jī)上的資源或者服務(wù)。

      Heartbeat: (心跳檢測(cè))本身是整個(gè)集群的基礎(chǔ)(cluster messaging layer),負(fù)責(zé)維護(hù)集群各節(jié)點(diǎn)的信息以及它們之前通信;只提供主從備份功能,并不能對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行監(jiān)控,需要安裝ldirectord。
      Resource-agent: (資源代理)就是各種的資源的ocf腳本,這些腳本將被LRM調(diào)用從而實(shí)現(xiàn)各種資源啟動(dòng)、停止、監(jiān)控等等。
      Cluster-glue: 相當(dāng)于一個(gè)中間層,可以將heartbeat和crm(pacemaker)聯(lián)系起來,主要包含2個(gè)部分,LRM和STONITH;
      Ldirectord: 負(fù)責(zé)realserver的健康檢查,可以自動(dòng)將realserver中宕機(jī)的機(jī)器移除,不再分配請(qǐng)求。

      通過修改Heartbeat的軟件的配置文件,可以制定那一臺(tái)Heartbeat服務(wù)器作為主服務(wù)器,則另一臺(tái)將自動(dòng)成為熱備服務(wù)器。然后在熱備服務(wù)器上配置Heartbeat守護(hù)程序來監(jiān)聽來自主服務(wù)器的心跳消息。如果熱備服務(wù)器在指定時(shí)間內(nèi)為監(jiān)聽到來自主服務(wù)器的心跳,就會(huì)啟動(dòng)故障轉(zhuǎn)義程序,并取得主服務(wù)器上的相關(guān)資源服務(wù)的所有權(quán),接替主服務(wù)器繼續(xù)不間斷的提供服務(wù),從而達(dá)到資源以及服務(wù)高可用的目的。

      以上的描述heartbeat的主備模式,heartbeat還支持主主模式,即兩臺(tái)服務(wù)器互為主備,這是他們之間還會(huì)互相發(fā)送報(bào)文來告訴對(duì)方自己的當(dāng)前的狀態(tài),如果在指定的時(shí)間內(nèi)未收到對(duì)方發(fā)送的心跳報(bào)文,那么,一方就會(huì)認(rèn)為對(duì)方失效或者是已經(jīng)宕機(jī)了,這時(shí)每個(gè)運(yùn)行正常的主機(jī)就會(huì)啟動(dòng)自身的資源接管模塊來接管運(yùn)行在對(duì)方主機(jī)上的資源或者是服務(wù),繼續(xù)為用戶提供服務(wù)。一般情況下,可以較好的實(shí)現(xiàn)一臺(tái)主機(jī)故障后,企業(yè)業(yè)務(wù)能夠不間斷的持續(xù)的提供服務(wù)(注意:所謂的業(yè)務(wù)不間斷)。在故障轉(zhuǎn)移期間也是需要切換時(shí)間的,heartbeat的切換時(shí)間是5-20秒。(服務(wù)器宕機(jī)的切換比人工切換要快).

      另外,和keepalived高可用軟件一樣,heartbeat高可用是操作系統(tǒng)級(jí)別的,不是服務(wù)(軟件)級(jí)別的,可以通過簡(jiǎn)單的腳本控制,實(shí)現(xiàn)服務(wù)級(jí)別的高可用! 

      故障切換的常見條件:
      1)主機(jī)服務(wù)器物理宕機(jī)(硬件損壞,操作系統(tǒng)故障)
      2)Heartbeat服務(wù)本身故障
      3)兩臺(tái)主備服務(wù)器之間的連接線路故障
      應(yīng)用服務(wù)故障則不會(huì)產(chǎn)生切換,可以通過服務(wù)宕機(jī)把heartbeat服務(wù)停掉。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)