OpenStack-corosync-pacemaker高可用運維手冊-HA_第1頁
OpenStack-corosync-pacemaker高可用運維手冊-HA_第2頁
OpenStack-corosync-pacemaker高可用運維手冊-HA_第3頁
OpenStack-corosync-pacemaker高可用運維手冊-HA_第4頁
OpenStack-corosync-pacemaker高可用運維手冊-HA_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

目錄

文檔介紹2

在節(jié)點訪問shell2

上傳公用密鑰2

SSH到Fuel主節(jié)點3

SSH到目標(biāo)節(jié)點3

LinuxTIA高可用集群介紹3

概念介紹3

相關(guān)術(shù)語3

集群套件4

開源實現(xiàn)5

本篇重點6

修改內(nèi)核參數(shù)8

使用DRBD設(shè)備同步鏡像9

DRBD設(shè)備原理9

部署DRBD內(nèi)核模塊10

創(chuàng)建/管理DRBD設(shè)備12

高可用切換實現(xiàn)13

使用Corosync實現(xiàn)通訊14

消息層原理14

部署Corosync15

驗證消息傳遞16

使用Pacemaker管理資源18

概念介紹18

內(nèi)部架構(gòu)18

部署Pacemaker18

相關(guān)命令介紹:19

使用Haproxy代理資源21

內(nèi)部架構(gòu)21

部署haproxy21

詳細配置22

mysqlGalera模式23

Openstack中Mysql案例應(yīng)用24

Rabbitmq集群25

Mysql攻略25

HAProxy管理25

默認情況下說明25

Openstack中Rabbimq案例應(yīng)用37

基本介紹5/

備份和恢用Fuel本節(jié)點41

運行備份41

后端數(shù)據(jù)庫的性能42

Corosync/Pacemaker42

.重啟服務(wù)47

常規(guī)測試場景47

失效切換測試場景50

文檔介紹

此文檔用手描述openstack中數(shù)據(jù)庫MySQL的高可用搭建部署和rabbitmqcluster的集群部署處理工

作,主要涉及到組件包括drbd、corosync、pacemakerrabbitmq環(huán)境的基本實踐描述。靈感來自內(nèi)

心。

?OpenStack管理員手冊

?OpenStack云管理手冊

?深度實踐KVM

.高性能Linux服務(wù)器建設(shè)

在節(jié)點訪問shell

有很多的維護和高級配置任務(wù)需要用戶shell級別的訪問Fuel主控制器節(jié)點和目標(biāo)節(jié)點,所有的這些系

統(tǒng)均運行著bashshell和支持標(biāo)準(zhǔn)的Linux系統(tǒng)命令,每個系統(tǒng)都擁有用戶可以直接訪問的終端,但

是,實際標(biāo)準(zhǔn)的使用是使用SSH登錄到不同節(jié)點的終端上。

上傳公用密鑰

用戶使用SSI1來訪問Fuel主控制器節(jié)點和目標(biāo)節(jié)點的shell,還必須使用SS1I定義一個公鑰。

1.在用戶的客戶端上使用下面的命令生成一個公鑰:

ssh-keygen-trsa

2.將此公鑰在Fuel界面中填如:ref:么,的“泌區(qū)域,F(xiàn)uel將會在部署每個目標(biāo)節(jié)點時

上傳此公鑰,但是它不會上傳到已經(jīng)部署完成的節(jié)點中。

3.手動上傳SSH公鑰到Fuel主控制器節(jié)點或已經(jīng)部署的節(jié)點,使用下面命令:

4.ssh-agent

ssh-copy-id-i.ssh/id_rsa.pubroot@<ip-addr>

<ip-addf>是Fuel主控制器節(jié)點的IP地址,它和用戶登錄到Fuel終端的1P地址是一樣的。

用戶可以使用同樣的命令為己經(jīng)部署的目標(biāo)節(jié)點添加公鑰,諧參若::ssh-toTarget-nodes-

ops,更多關(guān)于獲取目標(biāo)節(jié)點〈功為4切->值的信息。

用戶可以自行在節(jié)點的文件/root/.ssh/authorized_keys-中添加自己的公鑰內(nèi)容(它存放在文

件''.ssh/id_rsa.pub''中)。

SSH到Fuel主節(jié)點

用戶現(xiàn)在可以使用合ssh**來訪問Fuel主控制器節(jié)點的終端了,也可以使用竺scp**來安全的復(fù)制文件

到Fuel主控制器節(jié)點了。

Sshroot@fuel_ip

默認用戶名和密碼為root/r001me

SSH到目標(biāo)節(jié)點

使用命令**fuelnode1ist**獲取類似下面的列表:

用戶使用IP地址可以ssh到任何節(jié)點,例如,ssh到Cinder節(jié)點:

ssh10.110.0.4

用戶也可以使用第一列列出的"id〃,例如:

sshnode-6

Linux-HA高可用集群介紹

概念介紹

介紹Linux-HA之前,首先我們來了解一下RHCS框架。RHCS即REDHATClusterSuite,中文意思即

紅帽集群套件。群集一般可以分為科學(xué)集群,負載均衡集群,高可用性集群三大類。

高可用性集群,當(dāng)集群中優(yōu)一個系統(tǒng)發(fā)生故障時,集群軟件迅速作出反應(yīng),將該系統(tǒng)的任務(wù)分配至

集群中其它正在工作的系統(tǒng)上執(zhí)行,通過消除單一故障點和節(jié)點故障轉(zhuǎn)移功能來提供高可用性,次節(jié)點

通常是主節(jié)點的鏡像。

Linux-HA的全稱是High-AvailabilityLinux,這是一個開源項目,主要意旨是:通過開發(fā)者的共

同努力,提供一個增強linux可靠性(reliability)、可用性(availability)和可服務(wù)性

(serviceability)(RAS)的群集解決方案。

相關(guān)術(shù)語

1.節(jié)點(node)

高可用集群,英文原文為HighAvailabilityCluster,簡稱HACluster,簡單的說,集群

(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網(wǎng)絡(luò)資源。這些單個的計算機系統(tǒng)就

是集群的節(jié)點(node)0而備用節(jié)點一般處于監(jiān)控狀態(tài)。

2.資源(resource)

資源是?個節(jié)點可以控制的實體,并且當(dāng)節(jié)點發(fā)生故障時,這些資源能夠被其它節(jié)點接管,

heartbeat中,可以當(dāng)做資源的實體有:

磁盤分區(qū)、文件系統(tǒng)

IP地址

應(yīng)用程序服務(wù)

NFS文件系統(tǒng)

3.事件(event)

也就是集群中可能發(fā)生的事情,例如節(jié)點系統(tǒng)故障、網(wǎng)絡(luò)連通故障、網(wǎng)卡故障、應(yīng)用程序故障等。

這些事件都會導(dǎo)致節(jié)點的資源發(fā)生轉(zhuǎn)移,HA的測試也是基于這些事件來進行的。

4.動作(action)

事件發(fā)生時HA的響應(yīng)方式,動作是由shell腳步控制的,例如,當(dāng)某個節(jié)點發(fā)生故障后,備份節(jié)

點將通過事先設(shè)定好的執(zhí)行腳本進行服務(wù)的關(guān)閉或啟動。進而接管故障節(jié)點的資源。

集群套件

1、集群管理器(CMAN)

ClusterManager,簡稱CMAN,是一個分布式集群管理工具,它運行在集群的各個節(jié)點上,為RHCS

提供集群管理任務(wù)。

CVAN用于管理集群成員、消息和通知。它通過監(jiān)控每個節(jié)點的運行狀態(tài)來了解節(jié)點成員之間的關(guān)

系,當(dāng)集群中某個節(jié)點出現(xiàn)故障,節(jié)點成員關(guān)系將發(fā)生改變,CMAN及時將這種改變通知底層,進而做出

相應(yīng)的調(diào)整。

2、鎖管理(DLM)

DistributedLockManager,簡稱DLM,表示一個分布式鎖管理器,它是RHCS的一個底層基礎(chǔ)構(gòu)

件,同時也為集群提供了一個公用的鎖運行機制,在RHCS集群系統(tǒng)中,DLM運行在集群的每個節(jié)點上,

GFS通過鎖管理器的鎖機制來同步訪問文件系統(tǒng)元數(shù)據(jù)。CLVM通過鎖管理器來同步更新數(shù)據(jù)到LVM卷和

卷組。

DLV不需要設(shè)定鎖管理服務(wù)器,它采用對等的鎖管理方式,大大的提高了處理性能。同時,DLM避

免了當(dāng)單個節(jié)點失敗需要整體恢第的性能瓶頸,另外,DLM的請求都是本地的,不需要網(wǎng)絡(luò)請求,因而

請求會立即生效。最后,DLM通過分層機制,可以實現(xiàn)多個鎖空間的并行鎖模式。

3、配置文件管理(CCS)

ClusterConfigurationSystem,簡稱CCS,主要用于集聚配置文件管理和配置文件在節(jié)點之間的

同步。CCS運行在集群的每個節(jié)點上,監(jiān)控每個集群節(jié)點上的單?配置文件/etc/cluster/cluster.conf

的狀態(tài),當(dāng)這個文件發(fā)生任何變化時,都將此變化更新到集群中的每個節(jié)點,時刻保持每個節(jié)點的配置

文件同步。

RHCS的配置文件是cluster.conf,它是一個xml文件,具體包含集群名稱、集群節(jié)點信息、集群

資源和服務(wù)信息,fence設(shè)備等,cman的默認配置.

4、柵設(shè)備管理(FENCE)

FENCE設(shè)備是RHCS集群中必不可少的一個組成部分,通過FENCE設(shè)備可以避免因出現(xiàn)不可預(yù)知的情

況而造成的“腦裂”現(xiàn)象,F(xiàn)ence設(shè)備主要就是通過服務(wù)器或存儲本身的硬件管理接口,或者外部電源

管理設(shè)備,來對服務(wù)器或存儲直接發(fā)出硬件管理指令,將服務(wù)器重啟或關(guān)機,或者與網(wǎng)絡(luò)斷開連接。

FENCE的工作原理是:當(dāng)意外原因?qū)е轮鳈C異?;蛘咤礄C時,備機會首先調(diào)用FENCE設(shè)備,然后通

過FENCE設(shè)備將異常主機重啟或者從網(wǎng)絡(luò)隔離,當(dāng)FENCE操作成功執(zhí)行后,返回信息給備機,任機在接

到FENCE成功的信息后,開始接管主機的服務(wù)和資源。這樣通過FENCE設(shè)備,將異常節(jié)點占據(jù)的資源進

行了釋放,保訐了資源和服務(wù)始終運行在一個節(jié)點卜.

5、資源管理器

高可用管理主要用來監(jiān)督、啟動和停止集群的應(yīng)用、服務(wù)和資源。它提供了?種對集群服務(wù)的管理

能力,當(dāng)一個節(jié)點的服務(wù)失敗時,高可用性集群服務(wù)管理進程可以將服務(wù)從這個失敗節(jié)點轉(zhuǎn)移到其它健

康節(jié)點上來,并且這種服務(wù)轉(zhuǎn)移能力是自動、透明的。

RHCS通過RGmanager來管理集群服務(wù),RGmanager運行在每個集群節(jié)點上,在服務(wù)器上對應(yīng)的進程

為clurgmgrd。管理著集群服務(wù)和集群資源兩個方面,集群服務(wù)其實就是應(yīng)用服務(wù),例如apache、mysql

等,集群資源有很多種,例如一個IP地址、一個運行腳本、ext3/GFS文件系統(tǒng)等。

6、配置管理工具

RHCS提供了多種集群配置和管理工具,常用的有基于GUI的system-config-cluster、Conga等,

也提供了基于命令行的管理工具。

system-config-cluster是一個用于創(chuàng)建集群和配置集群節(jié)點的圖形化管理工具,它有集群節(jié)點配

置和集群管理兩個部分組成,分別用于創(chuàng)建集群節(jié)點配置文件和維護節(jié)點運行狀態(tài)。一般用在RHCS早期

的版本中。

RHCS也提供了一些功能強大的集群命令行管理工具,常用的有c也stat、cmantookccstook

fence_toolclusvcadm等,這些命令的用法將在下面講述。

7、RedhatGFS

GFS是RHCS為集群系統(tǒng)提供的一個存儲解決方案,它允許集群多個節(jié)點在塊級別上共享存儲,每個

節(jié)點通過共享一個存儲空間,俁證了訪問數(shù)據(jù)的?致性,更切實的說,GFS是RHCS提供的?個集群文件

系統(tǒng),多個節(jié)點同時掛載一個文件系統(tǒng)分區(qū),而文件系統(tǒng)數(shù)據(jù)不受破壞,這是單一的文件系統(tǒng),例如

EXT3、EXT2所不能做到的。

為了實現(xiàn)多個節(jié)點對于一個文件系統(tǒng)同時讀寫操作,GFS使用鎖管理器來管理I/O操作,當(dāng)一個寫

進程操作一個文件時,這個文件就被鎖定,此時不允許其它進程進行讀寫操作,直到這個寫進程正常完

成才釋放鎖,只有當(dāng)鎖被釋放后,其它讀寫進程才能對這個文件進行操作,另外,當(dāng)一個節(jié)點在GFS文

件系統(tǒng)上修改數(shù)據(jù)后,這種修改操作會通過RHCS底層通信機制立即在其它節(jié)點上可見。

開源實現(xiàn)

在RHCS集群套件定義下,各大開源社區(qū)紛紛實現(xiàn)了自己的集群管理軟件,其中影響最廣泛的開源項

目就是Linux-HA了。官網(wǎng)地址:http:〃www.1inux-ha.org/viki/MainPage項目實現(xiàn)了一個Hearbeat

框架,目前已經(jīng)進展為3個版本「

Heartbeat提供了高可用集群最基本的功能,例如,節(jié)點間的內(nèi)部通信方式、集群合作管理鞏制、監(jiān)

控工具和失效切換功能等等,目前的版本是Heai'tbeat2.x和Heartbeat?.x,這里以Heartbeat2.x為概

念介紹,主要說明Heartbeat?.x的部署和使用,內(nèi)部主要分為:

heartbeaI:節(jié)點間通信檢測模塊

ha-logd:集群事件日志服務(wù)

CCM(ConsensusClusterMembership):集群成員?致性管理模塊

LRM(LocalResourceManager):本地資源管理模塊

StonithDaemon:使出現(xiàn)問題的節(jié)點從集群環(huán)境中脫離

CRM(Clusterresourcemanagement):集群資源管理模塊

Clustei'policyengine:集群策略引擎

Clustertransitionengine:集群轉(zhuǎn)移引擎

圖1顯示了Heartbeat2.0內(nèi)部結(jié)構(gòu)組成:

heartbeatCCMha-logd

節(jié)點何迪信公測拽塊生隹資源甘行幄塊某群安件口志服芥

Localresourcemanagement

4旭曉想皆發(fā)峨快

LocalResource

StonlthDaemon

Managerdemo

方點監(jiān)控進R!

LRM守護通神(land)

Clusterresourcemanagement

實群筋源管理模塊

ClusterresourceClusterpolicyClustertransition

managementdemoengineengine

CRM守護進程(crmd)案群策咯引蒙集群轉(zhuǎn)移引京

Heartbeat僅僅是個HA軟件,它僅實現(xiàn)了:

集群成員一致性管理模塊(CCM)用于管理集群節(jié)點成員,同時管理成員之間的關(guān)系和節(jié)點間資源的

分配,heartbeat模塊負責(zé)檢測主次節(jié)點的運行狀態(tài),以決定節(jié)點是否失效。haTogd模塊用于汜錄集群

中所有模塊和服務(wù)的運行信息。

本地資源管理器(LRM)負責(zé)本地資源的啟動,停止和監(jiān)控,一般由LRM守護進程Irmd和節(jié)點監(jiān)控

進程(StonithDaemon)組成,Irmd守護進程負責(zé)節(jié)點間的通信,StonithDaemon通常是一個Fence設(shè)

備,主要用于監(jiān)控節(jié)點狀態(tài),當(dāng)一個節(jié)點出現(xiàn)問題時處于正常狀態(tài)的節(jié)點會通過Fence設(shè)備將其重啟或

關(guān)機以釋放IP、磁盤等資源,始終保持資源被一個節(jié)點擁有,防止資源爭用的發(fā)生。

集群資源管理模塊(CRM)用于處理節(jié)點和資源之間的依賴關(guān)系,同時?,管理節(jié)點對資源的使用,一

般由CRM守護進程ermd、集群策略引擎和集群轉(zhuǎn)移引擎三個部分組成,集群策略引擎(Clusterpolicy

engine)具體實施這些管理和依賴,集群轉(zhuǎn)移引擎(Clustertransitionengine)監(jiān)控CRM模塊的狀

態(tài),當(dāng)一個節(jié)點出現(xiàn)故障時,負責(zé)協(xié)調(diào)另一個節(jié)點上的進程進行合理的資源接管。

在Heartbeat集群中,最核心的是heartbeat模塊的心跳監(jiān)測部分和集群資源管理模塊的資源接管

部分,心跳監(jiān)測一般由串行接口通過串口線來實現(xiàn),兩個節(jié)點之間通過串口線相互發(fā)送報文來告訴對方

自己當(dāng)前的狀態(tài),如果在指定的時間內(nèi)未受到對方發(fā)送的報文,那么就認為對方失效,這時資源接管模

塊將啟動,用來接管運行在對方主機上的資源或者服務(wù)。

其中Heartbeat就是Linux-HA項目中的一個組件,它提供了所有HA軟件所需要的基本功能,比如

心跳檢測和資源接管、監(jiān)測群集中的系統(tǒng)服務(wù)、在群集中的節(jié)點間轉(zhuǎn)移共享IP地址的所有者等。

本篇重點

Heartbeat到了V3版本后,拆分為多個項目,其中pacemaker就是拆分出來的資源管理器。

Heartbeat:將原來的消息通信層獨立為heartbeat項目,新的heartbeat只負責(zé)維護集群各節(jié)點的信息

以及它們之前通信:

ClusterGlue:相當(dāng)于一個中間層,它用來將heartbeat和pacemaker關(guān)聯(lián)起來,主要包含2個部分,

即為LRM和STONITH),

ResourceAgent:用來控制服務(wù)啟停,監(jiān)控服務(wù)狀態(tài)的腳本集合,這些腳本將被LRM調(diào)用從而實現(xiàn)各種

資源啟動、停止、監(jiān)控等等。

Pacemaker:也就是ClusterResourceManager(簡稱CRM),用來管理整個HA的控制中心,客戶端

通過pacemaker來配置管理監(jiān)控整個集群

簡述高可用集群應(yīng)該被定義為以卜幾個層次:

>消息傳輸層(MessagingandMembership),Messaging位于最底層的,主要用于節(jié)點之間芍遞心跳

信息,也稱為心跳層。節(jié)點之間傳遞心跳信息。可以通過廣播,組播,單播等方式。提供消息層的

軟件有:heartbeat、corosync、keepalive、cman等系列LL具

>成員關(guān)系(Membership)層,這層最重要的作用是主節(jié)點(DC)通過(CCM或者CCS)這種服務(wù)由

Messaging層提供的信息,來產(chǎn)生一個完整的成員關(guān)系。這層主要實現(xiàn)承上啟下的作用,承上:將下

層產(chǎn)生的信息生產(chǎn)成員關(guān)系圖傳遞給上層以通知各個節(jié)點的工作狀態(tài):啟下:將上層對于隔離某一設(shè)

備予以具體實施。

>集群密源管理層(ClusterResourceManager).直正實頊集群服務(wù)的管理層。在該層中每個節(jié)點

都運行一個集群資源管理器(CRM,clusterResourceManager),它能為實現(xiàn)高可用提供核心組

件,包括資源定義,屬性等。在每一個節(jié)點上CRM都維護有一個C1B(集群信息庫XML文檔)和LRM

(本地資源管理器)組件。對于CTB,只有工作在DC(主節(jié)點)上的文檔是可以修改的,其他CTB

都是復(fù)制DC上的那個文檔而來的。

>資源代理層(ResourceAgents),集群資源代理(本地執(zhí)行某個資源的執(zhí)行和停止的具體執(zhí)行人),

也就是位于CRM層中的LRM組件。資源代理分為:LSB(/etc/init.d/*),OCF(比LSB更專業(yè),更加

通用),Legacyheartbeat(vl版本的資源管理)。當(dāng)某個節(jié)點發(fā)生故障之后,是由DC通過PE(策

略引擎)和TE(實施引擎)來決定是否搶奪資源。

常見的RA有如下風(fēng)格:

(1)、LSB(LinuxStandardBase),這是一種我們常見的如/etc/init.d/下的標(biāo)準(zhǔn)linux腳本風(fēng)

格。

(2)OCF(OpenClusterFramwork):OCF腳本是比LSB更強大的一種腳本,支持更多的參數(shù)

回歸正題:

Corosync經(jīng)常與pacemaker結(jié)合做共同的處理,架構(gòu)圖如下:

PacemakerInternals

Corosync是OpenAIS發(fā)展到Wilson版本后衍生出來的開放性集群引擎工程。簡單的說,AIS就是一個通

用的應(yīng)用程序編程接口,OpenAIS是AIS的子項目,標(biāo)準(zhǔn)的集群框架的應(yīng)用程序接口規(guī)范,而corosync

是OpenAIS是具體實現(xiàn)。

它包含OpenAIS的核心框架用來對晅Ison的標(biāo)準(zhǔn)接口的使用、管理。它為商用的或開源性的集群提供集

群執(zhí)行框架。Corosync執(zhí)行高可用應(yīng)用程序的通信組系統(tǒng),它有以下特征。

?一個封閉的程序組(Acloscdprocessgroupcommunicaticnmodel)通信模式,這個模式提供一種

虛擬的同步方式來保證能夠復(fù)制服務(wù)器的狀態(tài)。

?一個簡單可用性管理組件(Asimpleavailabilitymanager),這個管理組件可以重新啟動應(yīng)用程

序的進程當(dāng)它失敗后。

?一個配置和內(nèi)存數(shù)據(jù)的統(tǒng)計(Aconfigurationandstatisticsin-memorydatabase),內(nèi)存數(shù)據(jù)

能夠被設(shè)置,回復(fù),接受通知的更改信息。

?一個定額的系統(tǒng)(Aquorumsystem,),定額完成或者丟失時通知應(yīng)用程序。

?Heartbeat提供了全體成員間互相通信最基礎(chǔ)的集群套件服務(wù),為了使用這個套件必須聯(lián)合clustcr

resourcemanager(CRM)一起編譯使用,CRV又稱資源管理器,用于啟動、停止應(yīng)用服務(wù),服務(wù)資

源包括ip地址、web服務(wù)等類型,其中corosync可以提供集群的信息消息層。

修改內(nèi)核參數(shù)

內(nèi)核參數(shù)是當(dāng)Linux系統(tǒng)啟動時傳遞到內(nèi)容的屬性參數(shù)。內(nèi)核參數(shù)可通過下列幾種方法來設(shè)置:

?在Fuel的歡迎界面定義內(nèi)核參數(shù),將在Fule主節(jié)點安裝完成后生效。

?在設(shè)置欄里使用:ref:初始化參數(shù)<kcrnel-paramcters-ug》來定義內(nèi)核參數(shù),F(xiàn)uel將會為目標(biāo)節(jié)

點設(shè)置。這僅對即將部署的目標(biāo)節(jié)點有效.己經(jīng)部署完成的不會理會這些參數(shù)。

?使用Cobblerweb界面(見:ref:]kernel-cobbler-ops)來更改所有正在運行的節(jié)點或特殊節(jié)點的

內(nèi)核參數(shù)。在Cobbler顯示的節(jié)而表明是部署完畢的,要在部署之前更改參數(shù),會停止部署,更

改參數(shù)后,再繼續(xù)。

?關(guān)于使用**dockcrctl**命令為每個節(jié)點來設(shè)置內(nèi)核參數(shù):請移步:ref

任何由使用的Linux發(fā)行版(不論是Ubuntu還是CentOS)所支持的內(nèi)核參數(shù),均可為目標(biāo)節(jié)點和Fuel主

節(jié)點設(shè)置。但是有一些參數(shù)是為Fuel和OpenStack專門設(shè)置的:

ttysO=<速率)

沒有視頻輸出的服務(wù)器設(shè)置串口終端

nnfb

禁用Linux幀緩存

nomodeset

禁止內(nèi)核處理顯卡:需要一些舊的集成服務(wù)器顯卡芯片。

intel_iommu和amd_iommu

激活或禁用外設(shè)的物理地址轉(zhuǎn)換為虛擬地址。一些設(shè)備(如Mellanox卡)需要打開此項,而另外一

些外設(shè)或許和設(shè)備的虛擬地址空間不兼容且僅在真實的地址空間工作正常。如果你不能啟動節(jié)

點,或者是在啟動時遭遇kernelpanic,將此項設(shè)置為禁用可以解決問題。

unsupported_hardware

能夠值操作系統(tǒng)即使在不能識別一些硬件的情況下正常啟動。如果此參數(shù)不設(shè)置的話,Lnux在

啟動時會探測到危急硬件(通常是新的CPU型號)就不會啟動,因為多數(shù)硬件提供向后兼容到以前

的版本,設(shè)置此內(nèi)核參數(shù)可讓系統(tǒng)啟動。記住這點,如果沒有向后兼容性提供,系統(tǒng)就會panic

或者即使是設(shè)置了此參數(shù)也會以另外的方式宕機。

使用DRBD設(shè)備同步鏡像

DRBD(DistributedReplicatedBlockDevice)是一款基于Linux平臺的分布式塊設(shè)備同步復(fù)制軟件,它

由內(nèi)核模塊和管理工具組成,通過網(wǎng)絡(luò)進行塊設(shè)備的同步鏡像,用于構(gòu)建高可用性的集群。DRBD類似基

于網(wǎng)絡(luò)的RAID1。

DRBD設(shè)備原理

原現(xiàn):DRBD工作位置在內(nèi)核文件系統(tǒng)的BufferCache層和磁盤TO的DiskSched調(diào)度層之間,通過內(nèi)

核模塊虛擬出/dev/drbdN塊類型設(shè)備提供使用。數(shù)據(jù)在寫入本地磁盤同時,利用標(biāo)準(zhǔn)TCP/IP協(xié)議自動

將數(shù)據(jù)鏡像發(fā)送到對端DRBD設(shè)備上,并保證相同方式同步寫入滋盤。本地(主節(jié)點)與遠程主機:備節(jié)點)

的數(shù)據(jù)可以保證實時同步。當(dāng)本地系統(tǒng)出現(xiàn)故障時,遠程主機上還會保留有一份相同的數(shù)據(jù),可以繼續(xù)使

用。Drbd沒有服務(wù)進程,工作在內(nèi)核空間中,連接直接由內(nèi)核負責(zé)維護

底層設(shè)備支持包括:一個磁盤,或者是磁盤的某一個分區(qū)、一個soflraid設(shè)備、一個LVM的邏輯卷、

一個EV'MS(EnterpriseVolumeManagementSystcm,企業(yè)卷管理系統(tǒng))的卷、其他任何的塊設(shè)備。

DRBD實現(xiàn)了異步復(fù)制、半同步復(fù)制、同步復(fù)制3種協(xié)議,分別是:

?協(xié)議A:

異步復(fù)制協(xié)議。一旦本地磁盤寫入已經(jīng)完成,數(shù)據(jù)包已在發(fā)送隊列中,則寫被認為是完成的。在一個爐

點發(fā)生故障時,可能發(fā)生數(shù)據(jù)丟失,因為被寫入到遠程節(jié)點上的數(shù)據(jù)可能仍在發(fā)送隊列。盡管,在故障

轉(zhuǎn)移節(jié)點上的數(shù)據(jù)是一致的,但沒有及時更新。這通常是用于地理上分開的節(jié)點

?協(xié)議B:

內(nèi)存同步(半同步)復(fù)制協(xié)議。一旦本地磁盤寫入己完成旦復(fù)制數(shù)據(jù)包達到了對等節(jié)點則認為寫在主節(jié)

點上被認為是完成的。數(shù)據(jù)丟失可能發(fā)生在參加的兩個節(jié)點同時故障的情況下,因為在傳輸中的數(shù)據(jù)可

能不會被提交到磁盤

?協(xié)議C:

同步復(fù)制協(xié)議。只有在本地和遠程節(jié)點的磁盤已經(jīng)確認了寫操作完成,寫才被認為完成。沒有任何數(shù)據(jù)

丟失,所以這是一個群集節(jié)點的流行模式,但I/。吞吐量依賴于網(wǎng)絡(luò)帶寬

原理圖如下:

SERVICESERVICE

IT

FILESYSTEMFILESYSTEM

KU

BUFFERCACHEBUFFERCACHE

4.i

RAWDEVICERAWDEVICEDRfiT

TCFyiPTcryip

Kit-

DISKSCHEDI!DISKiSCnHED

DISKDRIVERNICDRIVEFNICDRIVERDISKDRIVER

HE

DRBD的結(jié)構(gòu)組成:

?內(nèi)核模塊:用來創(chuàng)建虛擬塊設(shè)備,完成底層的鏡像數(shù)據(jù)同步

?管理工具:用來完成與內(nèi)核模塊通信、配置,管理資源。

DRBD支持兩種兩種使用方式:

?主備模式:兩臺存儲服務(wù)器,只有一臺提供服務(wù)

?主主模式:兩臺存儲服務(wù)器,同時提供服務(wù),共同分擔(dān)壓力

在DRBD模型中,至少存在兩個角色,一個主節(jié)點,一個備節(jié)點。主節(jié)點上應(yīng)用系統(tǒng)對DRBD設(shè)備可

以進行不受限制的讀寫操作,用來初始化、創(chuàng)建、掛載文件系統(tǒng)。備節(jié)點無法使用DRBD設(shè)各,只能

接收來自主節(jié)點的數(shù)據(jù)

部署DRBD內(nèi)核模塊

安裝并部署DRBD服務(wù)

1.安裝:yuminstall-ykmod-drbd83drbd83

2.加載:modprobedrbd

3.驗證:Ismod|gi'ep-idrbd

4.工具:/sbin/dbrdsetup/sbin/drbdadm和init.d/drbd腳本

配置完整的DRBD服務(wù)

全局配置項(global)

基本上我們可以做的也就是配置usage-count是yes還是no了,usage-count參數(shù)其實只是為了讓

linbit公司收集目前drbd的使用情況。當(dāng)drbd在安裝和升級的時候會通過http協(xié)議發(fā)送信息到

linbit公司的服務(wù)器hfflo

公共配置項(common)

這里的common,指的是drbd所管理的多個資源之間的common。配置項里面主要是配置drbd的所有

resource可以設(shè)置為相同的參數(shù)項,比如protocol,syncer等等.

DRBD設(shè)備

DRBD的虛擬塊設(shè)備。它有一個主設(shè)備號為147的設(shè)備,默認的它的次要號碼編從0開始。在一到主機

上,drbd的設(shè)備的設(shè)備名稱為/dev/drbdN,這個N通常和他的次設(shè)備號一致。

資源配置項(resource)

resource項中配置的是drbd所管理的所有資源,包括節(jié)點的ip信息,底層存儲設(shè)備名稱,設(shè)備大小,

meta信息存放方式,drbd對外提供的設(shè)備名等等。每一個resource中都需要配置在每一個節(jié)點的信

息,而不是單獨本節(jié)點的信息。并且資源名只能使用純ascii碼而且不能使用空白字符用于表示資源名

稱。實際上,在drbd的整個集群中,每一個節(jié)點上面的drbd.conf文件需要是完全一致的。

主配置文件:/etc/drbd/drbd.conf

include"/etc/drbd.d/global_common.conf”

include/etc/drbd.d/*.resM

配置三個部分:global、commonisresource

global{

usage-countno;〃是否參加DRBD調(diào)查統(tǒng)計

minor-count10;〃從節(jié)點的最大數(shù)據(jù)

common{

synccr{rate200M;}〃同步鏡像使用最大的網(wǎng)絡(luò)速率

resourcedbrdzy(

protocolC;〃使用同步協(xié)議

meta-diskinternal;〃DRBD元數(shù)據(jù)存儲方式

headlers{

net{

???

cram-hmac-alg"shal";#設(shè)置加密算法

shared-secret,zallcndrbd,?;#設(shè)置加密密鑰

)

disk(

???

on-io-errordetach;#配置I/O錯誤處理策略為分離

)

startup{

???

)

Ondrbd_master{

device/dev/drbdl;〃創(chuàng)建鏡像盤,必須drbd開頭且包含數(shù)字

disk/dev/sdb;〃使用源磁盤

address81:7788;

)

Ondrbd_slave(

device/dev/drbdl;〃創(chuàng)建鏡像盤,必須drbd開頭且包含數(shù)字

disk/dev/sdb;〃使用源磁盤

address192.168.12.182:7788;

)

相關(guān)的配省說明詳見手冊:mandrbd.conf

創(chuàng)建/管理DRBD設(shè)備

提供工具/sbin/drbdadm^11/sbin/drbdsetup指令

清空物理磁盤或者分區(qū),或者LVM邏輯卷:

ddif=/dev/zeroof=/dev/sd3bs=lM{清空1G即可}

初始化DBRD設(shè)備記錄塊:

drbdadmcreate-mddrbdzy{資源名}

啟用/禁用集群的資源,執(zhí)行命令:

drbdadmupdrbdzy(資源名};==>林\載閃極模塊,創(chuàng)建塊設(shè)備,監(jiān)聽端口

集群狀態(tài):WFConnection;磁盤狀態(tài):Inconsistent角色狀態(tài):Secondary

drbdadmdowndrbdzy{資源名};=:>禁用內(nèi)孩膜塊,刪除塊設(shè)備,放棄監(jiān)聽

集群狀態(tài);Unknown;磁盤狀態(tài);Inconsistent角色狀態(tài);Unknown

啟動停止管理的腳本:

/etc/init.d/drbd[startIstop]

設(shè)置主節(jié)點,數(shù)據(jù)開始同步:

drbdsetupprimary/dev/drbdl{設(shè)備名}-?;蛘邎?zhí)行:

drbdadmoverwrite-data-of-peerprimaryziyuan{資源名}

查看資源連接、磁盤、以及角色狀態(tài):

drbdadmestatedrbdzy;drbdadmdstatcdrbdzy;drbdadmroledrbdzy

連接/斷開集群的資源,角色不變連接變?yōu)楠毩⑦\行:

drbdadmdisconnectdrbdzy==>放棄監(jiān)聽{StandAlonc}

drbdadmconnectdrbdzy==>監(jiān)聽端口,發(fā)送請求包{WFConnection}

主備角色切換,先降級再升級:

drbdadmsecondarydrbdzy;drbdadmprimarydrbdzy;

drbdsetsecondary/dev/drbdl;drbdsetupprimary/dev/drbdl

創(chuàng)建文件系統(tǒng),并掛載DRBD設(shè)備:

mkfs.ext4/dev/drbdl&&mount/dev/drbdl/mnt

對資源的狀態(tài)做如下說明:

?StandAlone獨立的:網(wǎng)絡(luò)配置不可用;資源還沒有被連接或是被管理斷開,或是由于出現(xiàn)認證失敗

或是腦裂的情況

,Disconnecting斷開:斷開只是臨時狀態(tài),下一個狀態(tài)是SLandAlone獨立的

,Unconnected懸空:是嘗試連接前的臨時狀態(tài),可能下一個狀態(tài)為WFconnection和NFReporiParams

,Timeout超時:與對等節(jié)點連接超時,也是【I缶時狀念,下一個狀態(tài)為Unconected懸空

?BrokerPipe:與對等節(jié)點連接丟失,也是臨時狀態(tài),下?個狀態(tài)為Unconected懸空

,NetworkFailure:與對等節(jié)點推動連接后的臨時狀態(tài),下一個狀態(tài)為Unconected懸空

,ProtocolError:與對等節(jié)點推動連接后的臨時狀態(tài),下一個狀態(tài)為Unconected懸空

?TearDown拆解:臨時狀態(tài),對等節(jié)點關(guān)閉,下?個狀態(tài)為Unconected懸空

?WFConnection:等待和對等節(jié)點建立網(wǎng)絡(luò)連接

?WFReportParams:已經(jīng)建立TCP連接,本節(jié)點等待從對等節(jié)點傳來的第一個網(wǎng)絡(luò)包

?Connected連接:DRBD已經(jīng)建立連接,數(shù)據(jù)鏡像現(xiàn)在可用,節(jié)點處于正常狀態(tài)

,StartingSyncS:完全同步,有管理員發(fā)起的剛剛開始同步,未來可能的狀態(tài)為SyncSource或

PausedSyncS

?StartingSyncT:完全同步,有管理員發(fā)起的剛剛開始同步,下一狀態(tài)為WFSyncLlID

,WFBitMapS:部分同步剛剛開始,下一步可能的狀態(tài)為SyncSource或PausedSyncS

?WEBitMapT:部分同步剛剛開始,下一步可能的狀態(tài)為WFSyncUUlD

,WFSyncUUlD:同步即將開始,下一步可能的狀態(tài)為SyncTarget或PausedSyncT

?SyncSource:以本節(jié)點為同步源的同步正在進行

,SyncTarget:以本節(jié)點為同步目標(biāo)的同步正在進行

?PausedSyncS:以本地節(jié)點是一個持續(xù)同步的源,但是目前同步已經(jīng)暫停,可能是因為另外一個同步

正在進行或是使用命令(pause-sync)暫停了同步

?PausedSyncT:以本地節(jié)點為持續(xù)同步的目標(biāo),但是目前同步已經(jīng)暫停,這可以是因為另外一個同步

正在進行或是使用命令(pause-sync)暫停了同步

?VerifyS:以本地節(jié)點為驗證源的線上設(shè)備驗證正在執(zhí)行

?VerifyT:以本地節(jié)點為驗證目標(biāo)的線上設(shè)備驗證正在執(zhí)行

對磁盤狀態(tài)有如下幾種:

?Diskless無盤:本地沒有塊設(shè)備分配給DRBD使用,這表示沒有可用的設(shè)備,或者使用山bduchu命

令手工分離或是底層的I/O錯誤導(dǎo)致自動分離

?Attaching:讀取無數(shù)據(jù)時侯的瞬間狀態(tài)

?Failed失?。罕镜貕K設(shè)備報告I/O錯誤,其下一個狀態(tài)為Diskless無盤

?Negotiating:在已經(jīng)連接的DRBD設(shè)置進行Attach讀取無數(shù)據(jù)前的瞬間狀態(tài)

?Inconsistent:數(shù)據(jù)是不一致的,在同步期間(同步目標(biāo))在一個節(jié)點上出現(xiàn)這種狀態(tài)

?Outdated:數(shù)據(jù)資源是一致的,但是已經(jīng)過時

?DUnknown:當(dāng)對等節(jié)點網(wǎng)絡(luò)連接不可用時出現(xiàn)這種狀態(tài)

,Consistent:一個沒有連接的節(jié)點數(shù)據(jù)一致,當(dāng)建立連接時,它決定數(shù)據(jù)是5ToDate或是Outdated

?UpToDate:一致的最新的數(shù)據(jù)狀態(tài),這個狀態(tài)為正常狀態(tài)

注:初始化同步源:這一步至關(guān)成要,尤其是在已經(jīng)存在數(shù)據(jù)的磁盤上。

默認情況下,DRBD不支持主備間自動切換能力,需要借助其他套件。

高可用切換實現(xiàn)

DRBD設(shè)備只允許主節(jié)點被掛我無條件讀寫,而備節(jié)點設(shè)備文件不允許掛我讀寫,因此切換時需要必

要的將主節(jié)點DRBD設(shè)備卸載并降級,備節(jié)點升級并掛載。在HA高可用架構(gòu)中,這屬于節(jié)點中的文件系

統(tǒng)資源。

主節(jié)點:

□mount/dev/drbdl;

drbdadmsecondarydrbdzy;/drbdsetupsecondary/dev/drbd1

備節(jié)點:

drbdadmprimarydrbdzy;/drbdsetupprimary/dev/drbd1

mount/dev/drbdl/mnt

這個過程的實現(xiàn),往往由Pacemaker套件完成,配者節(jié)點文件系統(tǒng)資源,包括在該文件系統(tǒng)上鋁現(xiàn)

的應(yīng)用服務(wù)、浮動VIP等資源。解決腦裂現(xiàn)象指令是:drbdadm-discard-my-dataconnectmfs_store

使用Corosync實現(xiàn)通訊

高可用架構(gòu)由兩個核心部分組成,一個是心跳檢測,判斷服務(wù)器是否正常運行;一個是資源轉(zhuǎn)移,用來

將公共資源在正常服務(wù)器和故陌服務(wù)器之間搬動。

整個運行模式就是心跳檢測不斷的在網(wǎng)絡(luò)中檢測各個指定的設(shè)備是否能夠正常響應(yīng),如果一旦發(fā)生設(shè)備

故障,就由資源轉(zhuǎn)移功能進行應(yīng)用的切換,以繼續(xù)提供服務(wù)。更加上面的基礎(chǔ)理論,不管heartbeat,

還是corosync都是高可用集群中的ClusterMessagingLayer(集群信息層),是主要傳遞發(fā)輿群信息

與心跳信息的,資源管理還得依賴于上層的erm(ClusterresourceManager,集群資源管理器),最著

名的資源管理器,就是pacemaker,它是heartbeatv3分離出去的子項目。而現(xiàn)在corosync+pacemaker

成廣高可用集群中的最佳組合。

消息層原理

Corosync:heartbeat與corosync是流行的MessagingLayer(集群信息層)工具,主要實現(xiàn)HA心跳信息

傳輸?shù)墓δ堋?/p>

功能:主要的作用是使用UDP組播的形式傳遞當(dāng)前節(jié)點的心跳信息,并告知給對方,這樣對方就知道其

他節(jié)點是否在線。傳遞心跳信息一般使用一根心跳線連接,該線接口可以使用串行接口也可以是以太網(wǎng)

接口來連接。每一個節(jié)點上都包含信息層引擎。

原理.:心跳信息傳遞機制

>Serailcable:串形接口連接,作用范圍有限,不建議使用:

>Ethernetcable:網(wǎng)線連接,通過網(wǎng)絡(luò)接口(中間可通過交換機)將主機連接起來:

>UDPUnicast:UDP單播方式

■UDPMulliuusl:UDP組播方式(常用)

■UDPBroadcast:UDP廣播方式

永久組播地址:224.0.0.0-224.0.0.255;

臨時組播地址:224.0.1.0-238.255.255.255;

本地組播地址:239.0.0.0-239.255.255.255(僅在特定本地范圍內(nèi)有效)

經(jīng)過tepdunip抓包發(fā)現(xiàn):Corosync使用本地接口的5404發(fā)送UDP數(shù)據(jù)報;

使用組播地址226.94.1.1接口的5405接收UDP數(shù)據(jù)報;

RARARA

通過上圖可知消息層位于CRM層下,同時CRM可以以插件的形式連接到corosync層中。LRM即不地資源

管理器,統(tǒng)一管理本地提供的服務(wù)資源。

部署Corosync

Corosync是集群管理套件的?部分,它在傳遞信息的時候可以通過?個簡單的配置文件來定義信息傳遞

的方式和協(xié)議等。通常使用UDP組播的形式。默認情況下Corosync服務(wù)進程以hacluster用戶身份運

行。

安裝并部署Corosync服務(wù)

1.安裝:yuminstall-yoorosync

2.提供:/usr/sbin/corosync服務(wù)、/usi7sbin/corosync-notifyd通知

3.配置:/etc/corosync/corosync.conf

配置消息層corosync服務(wù)

主配置文件:/etc/corosync/corosync.conf

totem{

version:2曲版本號,只能是2,不能修改

secauth:on##安全認證,當(dāng)使用aisexec時,會非常消耗CPU

threads:2沖線程數(shù),根據(jù)CPU個數(shù)和核心數(shù)確定

interface{

ringnumber:0##表示心跳信息能夠在網(wǎng)絡(luò)中轉(zhuǎn)幾圈

bindnetaddr:192,168.8.0坤綁定心跳網(wǎng)段

mcastaddr:坤心跳組播地址

mcastport:5405期心跳組播使用端口

ttl:1

}

logging{骷定義集群環(huán)境卜各corosync間通訊機制

filelinc:off的指定要打印的行

to_stderr:no附是否發(fā)送到標(biāo)準(zhǔn)錯誤輸出

to_logfile:yes期記錄到文件

tosyslog:no己錄到syslog

IngfiIP:/var/1og/rllistpr/corosync.log

debug:Off

timestamp:on特是否打印時間戳,利于定位錯誤,但會消耗CPU

logger_subsys{

subsys:AMF

debug:off

)

)

service{

ver:0

name:pacemaker##定義插件式啟動pacemaker

#usc_mgmtd:yes

}

aisexec(

user:root

group:root

}

amf{

mode:disabled

}

相關(guān)步驟如下:

1.生成認證key:

corosync-keygen==>writing/etc/corosync/authkey

這個文件是data類型,不能查看,保證數(shù)據(jù)的加密性

2.啟動服務(wù);

默認ubuntu系統(tǒng)下,cat/etc/default/corosync中START=yes

執(zhí)行腳本/etc/init.d/corosyncstart或者執(zhí)行/usr/sbin/corosync

3.程序啟動后,監(jiān)聽指定地址的udp端口,但啟用的組播方式

Isof-i:5405

COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME

corosync6211root8uIPv430973OtGUDP:5405

corosync6211root12uIPv430977Ot0UDPdrbdtwo:5405

Corosync服務(wù)進程啟動后監(jiān)聽bind指定接口的5404、5405端口,并加入組播組,監(jiān)聽組播組的相

關(guān)端口。消息傳遞使用udp組播技術(shù)通信。

驗證消息傳遞

執(zhí)行抓包:

Nodcl:tcpdump-icthO-nnsrcnodclipandudpport540!

tcpdump-iothO-nncrc1Q12andudpport5404

tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode

listeningor1ethQ,link-typeEN10M3(Ethernet),capturesize65535bytes

15:13:10,12:2554IP12.5404>11.5405:UDP,Iength74

15:13:10.34<)955IP12.5494>11.5405:UDP,1ength74

15:13:10.57(>067IP12.5404>192,405:UDP,Iength74

15:13:10,80:2229IP12.5464>11.5495:UDP,Xength74

15:13:11.02<)520IP12.5404>11.5405:UDP,Iength74

IS-111RTP1Q71f>RSS11754A4>SS111S40S-IIDP1pnath74

Node2:tcpdump-iethO-nnsrcnode2_ipandudpport5404

tcpdump-1ethG-nnsrc11aidudpport5404

tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecode

listeningoneth0,link-typeEN10MB(Ethernet),capturesize65535bytes

15:21:55.416687IP11.5404>.5405:UDP,length87

15:21:55.441700IP11.5404>12.5405:UDP,length74

15:21:55.643335IP11.5404>.5405:UDP,length87

15:21:55,668465IP11.5404>12.5405:U)P,length74

15:21:55.870496IP11.5404>.5405:UDP,length87

15:21:55.894676IP11.5404>12.5405:IDP,length74

15:21:56.096494IP11.5404>.5405:UDP,length87

解釋一下UDP協(xié)議的單播、組播和廣播:

21組播的工作原理

組猖是一仲允許一個或多個發(fā)送者(組播蠢)發(fā)送單一的數(shù)指曲多個換收者《一次的,同討的)

盾源把熟據(jù)包發(fā)送到特定組插組,而只育屬于該組播組的地址才能接收到數(shù)據(jù)包。密耐以大大的爺ifc廊&帶寬,

因為無論有多少個目標(biāo)地址,在整個網(wǎng)絡(luò)的任何一條迸目上只傳送單一的豹據(jù)包?圖1為基于三¥?!訊方式的建&

結(jié)忖和劭據(jù)傳遞過程。

A?方方志功£B組?方式

tTTTt^

口口口口H

?????

C廣?齊班蛆?罹

的I三構(gòu)也累方式即楫傳金短程比收

乂幽1的工作方式可以看出:

hffiJsKasi)傳輸:在發(fā)送省和每一接收者之間需要單獨的的據(jù)值道.如果一&王機麗給很少量6瓶收看傳

■am,t沒有什ZR??麗聯(lián)有大量王況青基獲毒對據(jù)包的冏一份建貝時如?戲?qū)崿F(xiàn)?|這將導(dǎo)致夏送春負擔(dān)

沉過遲長.網(wǎng)絡(luò)儂7M保證一定的副號再置零璃加隨住乳滯費?

組格(MuRcast)傳儡:日》高了都據(jù)傳送濃多?|;?少了王千砒班艇的可槐.組措組中的王機可以是在同一

個物理網(wǎng)絡(luò),也可以東自不同的帆即琳《加果1閹的支持》?

Cfi(Broadcast)傳能:是指在IP子網(wǎng)內(nèi)廣播數(shù)據(jù)包,所有在于網(wǎng)內(nèi)部的王機都杼收到這些數(shù)據(jù)包.廣桶酗,

網(wǎng)絡(luò)向子網(wǎng)主機都投遞一份數(shù)據(jù)包,不論這些主機是否樂于接收該船提包?然而廣信的使用花西E常小,只在本地

子網(wǎng)內(nèi)有效,因為路由器會引領(lǐng)廣播道僖?廣搔傳輸增ME接啜者的開鋪。

使用Pacemaker管理資源

Pacemaker:是眾多集群資源管理器(ClusterResourceManager)CRM中的一個,主要功能是管理來自集

群信息層發(fā)送來的信息。

概念介紹

Pacemaker(直譯:心臟起搏器),是?個群集資源管理器。它實現(xiàn)最大可用性群集服務(wù)(亦稱資源管理)

的節(jié)點和資源級故障檢測和恢復(fù)使用您的首選集群基礎(chǔ)設(shè)施(OpenAIS的或Heaerbeal)提供的消息和成

員能力。

它可以做任何規(guī)模的集群,并配備了?個強大的依賴模型,使管理員能夠準(zhǔn)確地表達群集資源之間的關(guān)

系(包括順序和位置)。幾乎任何可以編寫腳木,可以管理作為心臟起搏器集群的一部分。

Pacemaker是個資源管理器,不是提供心跳信息的,因為它似乎是一個普遍的誤解,也是值得的。

pacemaker是一個延續(xù)的CRM(亦稱HeartbeatV2資源管理器),最初是為心跳,但己經(jīng)成為獨立的項

目。

內(nèi)部架構(gòu)

實際操作來認識Pacemaker的框架組成,使用apt-getinstallPacemaker軟件。以Ubuntu為例執(zhí)行:

dpkg-LPacemaker

組件包括:

root@drbdone:'#dpkg-Lpacema<er|grep'lib/pacemaker

/usr/lib/pacemaker

/usr/lib/pacemaker/crmd

/usr/lib/pacemaker/stonithd

/usr/lib/pacemaker/cib

/usr/lib/pacemaker/cibmon

/usr/lib/pacemaker/stonith-test

/usr/lib/pacemaker/attrd

/usr/lib/pacemaker/1rmd

/usr/lib/pacemaker/1rmd_test

/usr/lib/pacemaker/penglne

并且沒有配置文件(暫時理解到這個程度):

root@drbdone:~#dpkg-Lpacemaker|grep'etc

/etc

/etc/default

/etc/default/pacemaker

/etc/init.d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論