![Windows Server 2003 服務(wù)器群集_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/29/bcf4b232-6f0a-4e42-9429-3d6ecb16eac9/bcf4b232-6f0a-4e42-9429-3d6ecb16eac91.gif)
![Windows Server 2003 服務(wù)器群集_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/29/bcf4b232-6f0a-4e42-9429-3d6ecb16eac9/bcf4b232-6f0a-4e42-9429-3d6ecb16eac92.gif)
![Windows Server 2003 服務(wù)器群集_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/29/bcf4b232-6f0a-4e42-9429-3d6ecb16eac9/bcf4b232-6f0a-4e42-9429-3d6ecb16eac93.gif)
![Windows Server 2003 服務(wù)器群集_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/29/bcf4b232-6f0a-4e42-9429-3d6ecb16eac9/bcf4b232-6f0a-4e42-9429-3d6ecb16eac94.gif)
![Windows Server 2003 服務(wù)器群集_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-9/29/bcf4b232-6f0a-4e42-9429-3d6ecb16eac9/bcf4b232-6f0a-4e42-9429-3d6ecb16eac95.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、microsoft windows server 2003 technical articlewindows server 2003 服務(wù)器群集:架構(gòu)概述microsoft corporation發(fā)布日期: 2003 年 3 月摘要服務(wù)器群集是 microsoft windows 服務(wù)器產(chǎn)品家族提供的兩種 microsoft windows 群集技術(shù)中的一種。windows server 2003 為那些要求高可用性和數(shù)據(jù)完整性的后端應(yīng)用和服務(wù)提供了故障轉(zhuǎn)移支持。這些后端應(yīng)用包括數(shù)據(jù)庫(kù)、文件服務(wù)器、企業(yè)資源計(jì)劃 (erp) 以及消息系統(tǒng)等企業(yè)應(yīng)用。本白皮書(shū)立足于這種群集服務(wù)的架構(gòu)和功能,介紹了
2、其術(shù)語(yǔ)、概念、設(shè)計(jì)目標(biāo)、關(guān)鍵組件和預(yù)定的發(fā)展方向。本文檔所包含的信息代表了在發(fā)布之日,microsoft corporation 對(duì)所討論問(wèn)題的當(dāng)前看法。因?yàn)?microsoft 必須順應(yīng)不斷變化的市場(chǎng)條件,故該文檔不應(yīng)理解為 microsoft 一方的承諾,microsoft 不保證所給信息在發(fā)布之日以后的準(zhǔn)確性。本文檔僅供參考。對(duì)本文檔中的信息,microsoft 不做任何明示、默示或法定的保證。遵守所有適用的版權(quán)法律是用戶的責(zé)任。在不對(duì)版權(quán)法所規(guī)定的權(quán)利加以限制的情況下,如未得到 microsoft corporation明確的書(shū)面許可,不得為任何目的、以任何形式或手段(電子的、機(jī)械的、
3、影印、錄制等等)復(fù)制、傳播本文的任何部分,也不得將其存儲(chǔ)或引入到檢索系統(tǒng)中。microsoft 可能擁有本文檔主題涉及到的專利、專利申請(qǐng)、商標(biāo)、版權(quán)或其他知識(shí)產(chǎn)權(quán)。除非在 microsoft 的任何書(shū)面許可協(xié)議中明確表述,否則獲得本文檔不代表您將同時(shí)獲得這些專利、商標(biāo)、版權(quán)或其它知識(shí)產(chǎn)權(quán)的許可證。 2003 microsoft corporation. 保留所有權(quán)利。microsoft、windows、windows徽標(biāo)和windows nt是 microsoft corporation在美國(guó)和/或其它國(guó)家或地區(qū)的注冊(cè)商標(biāo)或商標(biāo)。此處提到的實(shí)際公司和產(chǎn)品名稱可能是其各自所有者的商標(biāo)。目錄目錄i
4、ii簡(jiǎn)介4發(fā)展背景4群集術(shù)語(yǔ)6服務(wù)器群集6虛擬服務(wù)器8資源組9服務(wù)器群集架構(gòu)11群集服務(wù)組件11節(jié)點(diǎn)管理器12數(shù)據(jù)庫(kù)管理器12檢查點(diǎn)管理器13日志管理器13故障轉(zhuǎn)移管理器13故障轉(zhuǎn)移14故障恢復(fù)14全局更新管理器14備份/恢復(fù)管理器15事件日志復(fù)制管理器15成員身份管理器15非群集服務(wù)組件15資源監(jiān)視器15事件服務(wù)16群集仲裁18標(biāo)準(zhǔn)仲裁18多數(shù)節(jié)點(diǎn)集仲裁19群集資源20群集管理22群集的形成和操作23創(chuàng)建群集23形成群集23加入群集24脫離群集24故障檢測(cè)25檢測(cè)節(jié)點(diǎn)故障25檢測(cè)資源故障25未來(lái)方向26詳細(xì)信息27書(shū)籍27相關(guān)鏈接270server clusters :服務(wù)器群集0 arch
5、itecture overviewiii microsoft windows server 2003 技術(shù)文章簡(jiǎn)介服務(wù)器群集功能最早是為 microsoft windows nt server 4.0 操作系統(tǒng)設(shè)計(jì)的,這一功能在 microsoft windows server 2003 enterprise edition 和 windows server 2003 datacenter edition 操作系統(tǒng)中又得到重大改進(jìn)。您可以借助服務(wù)器群集功能將多臺(tái)服務(wù)器連接在一起,從而為在該群集中運(yùn)行的數(shù)據(jù)和程序提供高可用性和易管理性。服務(wù)器群集提供了以下三種主要的群集技術(shù)優(yōu)點(diǎn): 更高的可用性。
6、允許服務(wù)器群集中的服務(wù)和應(yīng)用在硬件或軟件組件故障下或在計(jì)劃維護(hù)期間仍能不間斷地提供服務(wù)。 更高的可擴(kuò)展性。支持通過(guò)增加多個(gè)處理器(在 windows server 2003 enterprise edition 中最多可達(dá) 8 個(gè),在 windows server 2003 datacenter edition 中最多可達(dá) 32 個(gè))和額外內(nèi)存(在企業(yè)版中,隨機(jī)存取內(nèi)存 ram 最多可達(dá) 8 gb,在 windows server 2003 datacenter edition 中最多可達(dá) 64 gb)來(lái)擴(kuò)展服務(wù)器。 更高的可管理性。允許管理員如同管理單臺(tái)計(jì)算機(jī)那樣管理整個(gè)群集內(nèi)的設(shè)備和資源。
7、該群集服務(wù)是兩種互為補(bǔ)充的 windows 群集技術(shù)(為了擴(kuò)展 windows server 2003 和 windows 2000 基礎(chǔ)操作系統(tǒng)而提供的)中的一種。另一個(gè)群集技術(shù)是網(wǎng)絡(luò)負(fù)載均衡(network load balancing,nlb)。該技術(shù)作為服務(wù)器群集的互補(bǔ),可面向前端應(yīng)用和服務(wù)(如 internet 或 intranet 站點(diǎn)、基于 web 的應(yīng)用、媒體流以及 microsoft 終端服務(wù))來(lái)支持高度可用和可伸縮的群集。本白皮書(shū)僅立足于服務(wù)器群集的架構(gòu)和功能,介紹了服務(wù)器群集的術(shù)語(yǔ)、概念、設(shè)計(jì)目標(biāo)、關(guān)鍵組件和預(yù)定的發(fā)展方向。本白皮書(shū)結(jié)尾處的“詳細(xì)信息”小節(jié)提供了一個(gè)參考列
8、表,您可以通過(guò)這些資源了解服務(wù)器群集和 nlb 技術(shù)的詳細(xì)信息。發(fā)展背景計(jì)算機(jī)群集的出現(xiàn)和使用已經(jīng)有十幾年的歷史。作為最早的群集技術(shù)設(shè)計(jì)師之一,g. pfister 對(duì)群集的定義是,“一種并行或分布式的系統(tǒng),由全面互連的計(jì)算機(jī)集合組成,可作為一個(gè)統(tǒng)一的計(jì)算資源使用”。將數(shù)臺(tái)服務(wù)器計(jì)算機(jī)組合成一個(gè)統(tǒng)一的群集,多臺(tái)服務(wù)器將可以在用戶或管理員不必了解細(xì)節(jié)的情況下分擔(dān)計(jì)算負(fù)載。例如,如果服務(wù)器群集中的任何資源發(fā)生了故障,則不論發(fā)生故障的組件是硬件還是軟件資源,作為一個(gè)整體的群集都可以使用群集中其它服務(wù)器上的資源來(lái)繼續(xù)向用戶提供服務(wù)。換言之,當(dāng)資源發(fā)生故障時(shí),同服務(wù)器群集連接的用戶可能經(jīng)歷短暫的性能下降
9、現(xiàn)象,但不會(huì)完全失去對(duì)服務(wù)的訪問(wèn)能力。當(dāng)需要更高的處理能力時(shí),管理員可以通過(guò)滾動(dòng)升級(jí)過(guò)程來(lái)添加新資源。該過(guò)程中,群集在整體上將保持聯(lián)機(jī)狀態(tài),它不僅可供用戶使用,而且在升級(jí)后,其性能也將得到改善。windows server 2003 enterprise edition 和 windows server 2003 datacenter edition 操作系統(tǒng)是完全針對(duì)用戶和業(yè)務(wù)對(duì)群集技術(shù)的要求而設(shè)計(jì)開(kāi)發(fā)的。主要目標(biāo)是:開(kāi)發(fā)一種能滿足大多數(shù)商業(yè)機(jī)構(gòu)和組織的群集需求的操作系統(tǒng)服務(wù),而不是僅針對(duì)小型和特定的市場(chǎng)段。microsoft 市場(chǎng)調(diào)查顯示,隨著中小型商業(yè)機(jī)構(gòu)的日常運(yùn)作已越來(lái)越離不開(kāi)數(shù)據(jù)庫(kù)和
10、電子郵件,因此它們對(duì)高可用系統(tǒng)的需求很大,而且這種需求日趨旺盛。易于安裝和管理,被認(rèn)為是這種規(guī)模的機(jī)構(gòu)最關(guān)鍵的要求。microsoft 的調(diào)查同時(shí)顯示,那些對(duì)高性能和高可用性具有很高要求的大企業(yè)對(duì)基于 windows 的服務(wù)器也日益感興趣。作為 windows nt、windows 2000 和 windows server 2003 基礎(chǔ)操作系統(tǒng)的集成化擴(kuò)展而開(kāi)發(fā)的服務(wù)器群集服務(wù),正是源于此次市場(chǎng)調(diào)查。該服務(wù)同其設(shè)計(jì)目標(biāo)保持了一致,通過(guò)它可將多臺(tái)服務(wù)器和數(shù)據(jù)存儲(chǔ)組件連接成一個(gè)易于管理的單元,即服務(wù)器群集。對(duì)于大型和小型企業(yè)中運(yùn)行基于 windows server 2003 和 windows
11、 2000 的應(yīng)用程序的系統(tǒng),服務(wù)器群集功能將可以賦予它們高可用性和易管理性。服務(wù)器群集功能還提供了開(kāi)發(fā)可利用服務(wù)器群集的高可用功能并且具有群集意識(shí)的新應(yīng)用程序所必需的應(yīng)用程序接口和工具。群集術(shù)語(yǔ)“服務(wù)器群集”是 windows server 2003 中群集技術(shù)的名稱,microsoft 最初在 windows nt server 4.0 enterprise edition 中提供該技術(shù)時(shí)使用的是“microsoft 群集服務(wù)器” (mscs)。當(dāng)談到構(gòu)成一個(gè)群集的服務(wù)器時(shí),各個(gè)服務(wù)器計(jì)算機(jī)都被稱為節(jié)點(diǎn)。群集服務(wù) 是指在各個(gè)節(jié)點(diǎn)上執(zhí)行群集操作的組件所構(gòu)成的集合,而資源 是指在群集內(nèi)由群集服
12、務(wù)管理的硬件和軟件組件。服務(wù)器群集為實(shí)現(xiàn)資源管理而提供的規(guī)范機(jī)制是資源動(dòng)態(tài)鏈接庫(kù) (dll)。資源 dll 定義了資源抽象方法、通訊接口以及管理操作。當(dāng)資源可供使用并且可以向群集提供其服務(wù)時(shí),我們說(shuō)它是聯(lián)機(jī) 的。資源是符合以下條件的物理或邏輯實(shí)體: 可以聯(lián)機(jī)(服務(wù))和脫機(jī)(停止服務(wù))。 可以在服務(wù)器群集中管理。 一次只能由一個(gè)節(jié)點(diǎn)擁有。群集資源包括磁盤驅(qū)動(dòng)器和網(wǎng)卡等物理硬件設(shè)備以及 internet 協(xié)議 (ip) 地址、應(yīng)用程序、應(yīng)用數(shù)據(jù)庫(kù)等邏輯實(shí)體。群集中的每個(gè)節(jié)點(diǎn)都有自己的本地資源。但群集也有共用資源,比如共用的數(shù)據(jù)存儲(chǔ)陣列和專用的群集網(wǎng)絡(luò)。群集中的每個(gè)節(jié)點(diǎn)都可以訪問(wèn)這些共用資源。一個(gè)特
13、殊的共用資源是仲裁資源,這是指共用的群集磁盤陣列中對(duì)群集運(yùn)行有著關(guān)鍵性作用的物理磁盤。它是節(jié)點(diǎn)操作(比如構(gòu)成群集或加入群集)得以發(fā)生所必須具備的。資源組 是指群集服務(wù)作為一個(gè)邏輯單元進(jìn)行管理的資源集合。通過(guò)將邏輯上相關(guān)的資源分成資源組,可以非常容易地管理應(yīng)用資源和群集實(shí)體。對(duì)資源組執(zhí)行群集服務(wù)操作時(shí),操作對(duì)于該組內(nèi)包含的各個(gè)資源都有效。通常來(lái)說(shuō),創(chuàng)建資源組的目的是為了將特定應(yīng)用程序服務(wù)器和客戶端正常使用該應(yīng)用程序而所需的全部元素都包括在一起。服務(wù)器群集服務(wù)器群集基于無(wú)共享的群集架構(gòu)模型。這種模型涉及群集的服務(wù)器如何管理和使用本地以及共用的群集設(shè)備和資源。在無(wú)共享的群集中,每個(gè)服務(wù)器都擁有和管理
14、自己的本地設(shè)備。對(duì)于群集共用的設(shè)備,比如共用的磁盤陣列和連接介質(zhì),在任何給定時(shí)間,只能由一個(gè)服務(wù)器選擇性地?fù)碛泻凸芾怼T谶@種無(wú)共享的模型下,可以更為輕松地管理磁盤設(shè)備和標(biāo)準(zhǔn)應(yīng)用程序。這種模型不需要任何專門的布線或應(yīng)用程序即可讓服務(wù)器群集支持基于 windows server 2003 和 windows 2000 的標(biāo)準(zhǔn)應(yīng)用程序和磁盤資源。對(duì)于本地存儲(chǔ)設(shè)備和介質(zhì)連接,服務(wù)器群集使用標(biāo)準(zhǔn)的 windows server 2003 和 windows2000 server 驅(qū)動(dòng)程序。對(duì)于群集內(nèi)的所有服務(wù)器都需要訪問(wèn)的外部共用設(shè)備,服務(wù)器群集支持多個(gè)連接介質(zhì)。群集共用的外部存儲(chǔ)設(shè)備需要有小型計(jì)算機(jī)系
15、統(tǒng)接口 (scsi) 設(shè)備,并且支持標(biāo)準(zhǔn)的 pci scsi 連接以及位于光纖通道和 scsi 總線上、帶有多個(gè)始發(fā)端的 scsi 連接。光纖連接是指僅位于光纖通道(而不是 scsi 總線)上的 scsi 設(shè)備。理論上說(shuō),光纖通道技術(shù)會(huì)在光纖通道內(nèi)封裝 scsi 命令,并且允許使用服務(wù)器群集意欲支持的 scsi 命令。這些 scsi 命令(“預(yù)留/釋放”以及“總線復(fù)位”)在標(biāo)準(zhǔn)的或非光纖 scsi 互連介質(zhì)上具有相同的作用。下圖顯示了一個(gè) 2 節(jié)點(diǎn)服務(wù)器群集的組件。構(gòu)成這個(gè)服務(wù)器群集的服務(wù)器可能運(yùn)行 windows server 2003 enterprise edition 或 window
16、s 2000 advanced server,并且具有 scsi 或光纖通道 scsi 形式的共享存儲(chǔ)設(shè)備連接。圖 1- 運(yùn)行 windows server 2003 enterprise edition 的 2 節(jié)點(diǎn)服務(wù)器群集windows server 2003 datacenter edition 支持 4 節(jié)點(diǎn)或 8 節(jié)點(diǎn)群集,它要求使用光纖通道形式的設(shè)備連接(以下 4 節(jié)點(diǎn)群集的組件圖對(duì)此進(jìn)行了說(shuō)明)。圖 2- 運(yùn)行 windows server 2003 datacenter edition 的 4 節(jié)點(diǎn)服務(wù)器群集虛擬服務(wù)器群集的優(yōu)點(diǎn)之一是,運(yùn)行在服務(wù)器群集上的應(yīng)用程序和服務(wù)可以用
17、虛擬服務(wù)器的形式出現(xiàn)在用戶和工作站面前。用戶和客戶端在連接到以群集化的虛擬服務(wù)器形式運(yùn)行的應(yīng)用程序或服務(wù)時(shí),就如同連接到一臺(tái)物理性的服務(wù)器。事實(shí)上,群集中的任何節(jié)點(diǎn)都可以接受這樣的虛擬服務(wù)器連接。用戶或客戶端不會(huì)知道虛擬服務(wù)器真正駐留在哪個(gè)節(jié)點(diǎn)上。注意:如果某個(gè)服務(wù)或應(yīng)用程序不是供用戶或客戶端應(yīng)用程序訪問(wèn)的,則它們可以運(yùn)行在不是以虛擬服務(wù)器形式管理的群集節(jié)點(diǎn)上。在群集中可以駐留代表不同應(yīng)用程序的多個(gè)虛擬服務(wù)器。圖 3 展示了這種情況。圖 3 虛擬服務(wù)器在群集服務(wù)器下的實(shí)際表觀上圖顯示了一個(gè)含有四個(gè)虛擬服務(wù)器的 2 節(jié)點(diǎn)群集;每個(gè)節(jié)點(diǎn)有兩個(gè)虛擬服務(wù)器。服務(wù)器群集將虛擬服務(wù)器作為資源組加以管理,每
18、個(gè)虛擬服務(wù)器資源組都包含兩個(gè)資源:一個(gè) ip 地址以及一個(gè)同該 ip 地址相對(duì)應(yīng)的網(wǎng)絡(luò)名稱。應(yīng)用程序客戶端將通過(guò)客戶端會(huì)話同虛擬服務(wù)器建立連接。這些客戶端會(huì)話僅知道由群集服務(wù)作為該虛擬服務(wù)器的地址發(fā)布的 ip 地址。在客戶端方面,僅涉及各個(gè)網(wǎng)絡(luò)名稱和 ip 地址。對(duì)于支持四個(gè)虛擬服務(wù)器的 2 節(jié)點(diǎn)群集,圖 4 顯示了該群集節(jié)點(diǎn)和四個(gè)虛擬服務(wù)器的客戶端情況。如圖 4 所示,客戶端只能看到 ip 地址和網(wǎng)絡(luò)名稱,它們無(wú)法了解同任何一個(gè)虛擬服務(wù)器的物理位置有關(guān)的信息。這為服務(wù)器群集針對(duì)以虛擬服務(wù)器形式運(yùn)行的應(yīng)用程序提供高可用性支持創(chuàng)造了條件。圖 4- 服務(wù)器群集的虛擬服務(wù)器的客戶端情況 一旦應(yīng)用程序
19、或服務(wù)器發(fā)生故障,群集服務(wù)就會(huì)將整個(gè)虛擬服務(wù)器資源組轉(zhuǎn)移到群集中的另一個(gè)節(jié)點(diǎn)上。在發(fā)生這樣的故障時(shí),客戶端將會(huì)在其同該應(yīng)用程序的會(huì)話中檢測(cè)到故障,并且試圖用與先前連接完全一致的方式進(jìn)行重新連接。由于群集服務(wù)在恢復(fù)操作中可以簡(jiǎn)單地將虛擬服務(wù)器的公開(kāi) ip 地址映射到群集中幸存的節(jié)點(diǎn),因此客戶端的上述努力將可以獲得成功。客戶端會(huì)話不必知道相關(guān)的應(yīng)用程序現(xiàn)在是否已實(shí)際駐留到了群集中的不同節(jié)點(diǎn)上就可以重建同該應(yīng)用程序的連接。注意:雖然這可以為應(yīng)用程序或服務(wù)提供高可用性,但同發(fā)生故障的客戶端會(huì)話有關(guān)的會(huì)話狀態(tài)信息將丟失,除非該應(yīng)用程序在設(shè)計(jì)上或在配置上會(huì)將客戶端會(huì)話數(shù)據(jù)存儲(chǔ)在磁盤上以備在應(yīng)用程序恢復(fù)期間
20、使用。服務(wù)器群集雖然可以實(shí)現(xiàn)高可用性,但不能提供應(yīng)用程序容錯(cuò),除非應(yīng)用程序自身支持容錯(cuò)行為。在存儲(chǔ)客戶端數(shù)據(jù)以便實(shí)現(xiàn)客戶端會(huì)話故障恢復(fù)的應(yīng)用示例中,microsoft 的動(dòng)態(tài)主機(jī)配置協(xié)議 (dhcp) 服務(wù)算是其中的一個(gè)。dhcp 客戶端的 ip 地址預(yù)訂信息保存在 dhcp 數(shù)據(jù)庫(kù)中。如果 dhcp 服務(wù)器資源發(fā)生故障,上述 dhcp 數(shù)據(jù)庫(kù)將可以被轉(zhuǎn)移到群集中可用的節(jié)點(diǎn)上,并且可以用從該 dhcp 數(shù)據(jù)庫(kù)恢復(fù)的客戶端數(shù)據(jù)重新啟動(dòng)。資源組資源組是群集資源的不同邏輯集合。通常而言,資源組是由邏輯上相關(guān)的資源(比如應(yīng)用程序及其關(guān)聯(lián)的外圍設(shè)備和數(shù)據(jù))組成的。但是,資源組也可能包含僅出于管理需要而相
21、互關(guān)聯(lián)的群集實(shí)體,比如由服務(wù)器名稱和 ip 地址組成的管理性集合。資源組一次只能由一個(gè)節(jié)點(diǎn)所擁有,一個(gè)資源組的各個(gè)資源都必須位于當(dāng)前擁有該組的節(jié)點(diǎn)上。在任何給定的情況下,群集中的不同服務(wù)器都不能擁有同一資源組內(nèi)的不同資源。每個(gè)資源組都對(duì)應(yīng)一個(gè)全群集性的策略。該策略指定了該資源組將優(yōu)先在哪個(gè)服務(wù)器上運(yùn)行,以及在發(fā)生故障時(shí)該資源組應(yīng)該轉(zhuǎn)移到哪個(gè)服務(wù)器上。為了允許網(wǎng)絡(luò)客戶端綁定到資源組提供的服務(wù),每個(gè)資源組還有一個(gè)網(wǎng)絡(luò)服務(wù)名稱和地址。在發(fā)生故障時(shí),可以將資源組作為最小單元的形式從故障節(jié)點(diǎn)故障轉(zhuǎn)移到群集中另一可用的節(jié)點(diǎn)。資源組中的各個(gè)資源可能依賴群集中的其它資源。這種資源之間的依存關(guān)系指定了只有首先啟
22、動(dòng)哪些資源并讓它們可用才能啟動(dòng)另外的資源。例如,如果要啟動(dòng)數(shù)據(jù)庫(kù)應(yīng)用程序并向其它程序和客戶端提供服務(wù),可能會(huì)取決于磁盤、ip 地址和網(wǎng)絡(luò)名稱是否可用。資源依存關(guān)系是使用群集資源組屬性來(lái)標(biāo)識(shí)的。借此,群集服務(wù)可以控制資源聯(lián)機(jī)和脫機(jī)的順序。對(duì)任何指定的依存關(guān)系而言,其作用范圍只能局限于同一資源組內(nèi)的資源。群集管理的依存關(guān)系不能超出資源組的范圍,原因是資源組可以聯(lián)機(jī)、脫機(jī)并且可以獨(dú)立被轉(zhuǎn)移。服務(wù)器群集架構(gòu)服務(wù)器群集在設(shè)計(jì)上是由聯(lián)同操作系統(tǒng)一起工作的組件構(gòu)成的單獨(dú)、隔離的集合。這種設(shè)計(jì)避免了在服務(wù)器群集和操作系統(tǒng)之間引入復(fù)雜的處理系統(tǒng)。但為了實(shí)現(xiàn)群集功能,仍將要求對(duì)基礎(chǔ)操作系統(tǒng)進(jìn)行某些更改。這些更改包
23、括: 支持動(dòng)態(tài)地創(chuàng)建、刪除網(wǎng)絡(luò)名稱和地址。 修改了文件系統(tǒng),以便在磁盤驅(qū)動(dòng)器卸載期間可以關(guān)閉打開(kāi)的文件。 修改了輸入輸出 (i/o) 子系統(tǒng),以便實(shí)現(xiàn)在多個(gè)節(jié)點(diǎn)之間共享磁盤和卷集。如果拋開(kāi)上述變化和其它細(xì)微修改不論,可以說(shuō)群集功能就建立在 windows server 2003 和 windows 2000 操作系統(tǒng)的現(xiàn)有基礎(chǔ)之上。服務(wù)器群集的核心正是群集服務(wù),該服務(wù)包括幾個(gè)功能單元。它們是節(jié)點(diǎn)管理器、故障轉(zhuǎn)移管理器、數(shù)據(jù)庫(kù)管理器、全局更新管理器、檢查點(diǎn)管理器、日志管理器、事件日志復(fù)制管理器以及備份/恢復(fù)管理器。resource monitors 圖 6 詳細(xì)顯示了這些組件之間的關(guān)系架構(gòu)示意。
24、群集服務(wù)組件群集服務(wù)運(yùn)行在 windows server 2003 或 windows 2000 操作系統(tǒng)上,而這些操作系統(tǒng)又使用了專門針對(duì)服務(wù)器群集及其組成過(guò)程設(shè)計(jì)的網(wǎng)絡(luò)驅(qū)動(dòng)程序、設(shè)備驅(qū)動(dòng)程序以及資源規(guī)范過(guò)程。這些同群集服務(wù)緊密相關(guān)的組件是: 檢查點(diǎn)管理器 負(fù)責(zé)將應(yīng)用程序注冊(cè)表項(xiàng)保存到位于仲裁資源上的群集目錄中。 數(shù)據(jù)庫(kù)管理區(qū) 負(fù)責(zé)維護(hù)群集配置信息。 事件日志復(fù)制管理區(qū) 負(fù)責(zé)將事件日志從一個(gè)節(jié)點(diǎn)復(fù)制到群集中的所有其它節(jié)點(diǎn)。 故障轉(zhuǎn)移管理區(qū) 負(fù)責(zé)執(zhí)行資源管理和啟動(dòng)相應(yīng)的操作,比如啟動(dòng)、重啟和故障轉(zhuǎn)移。 全局更新管理器 負(fù)責(zé)提供群集組件使用的全局更新服務(wù)。 日志管理器 負(fù)責(zé)將變更寫入存儲(chǔ)在仲裁資
25、源上的恢復(fù)日志中。 成員管理器 負(fù)責(zé)管理群集的成員關(guān)系,并且監(jiān)視群集中其它節(jié)點(diǎn)是否正常。 節(jié)點(diǎn)管理器 負(fù)責(zé)根據(jù)資源組首選項(xiàng)列表和節(jié)點(diǎn)的可用性來(lái)指定節(jié)點(diǎn)對(duì)資源組的所有權(quán)。 資源監(jiān)視器 使用對(duì)資源 dll 的回調(diào)來(lái)監(jiān)視每個(gè)群集資源的健康狀況。資源監(jiān)視器以獨(dú)立的進(jìn)程運(yùn)行,它通過(guò)遠(yuǎn)程過(guò)程調(diào)用 (rpc) 同群集服務(wù)器通信,以保護(hù)群集服務(wù)器不受群集資源中個(gè)別故障的影響。 備份/恢復(fù)管理器 借助故障轉(zhuǎn)移管理器和數(shù)據(jù)庫(kù)管理器,備份或恢復(fù)仲裁日志文件和所有的檢查點(diǎn)文件。資源dll群集 api 群 集 服 務(wù)檢查點(diǎn)管理器節(jié)點(diǎn) 管理器事件日志 復(fù)制 管理器全局更新 管理器備份/恢復(fù)管理器故障轉(zhuǎn)移 管理器數(shù)據(jù)庫(kù)庫(kù)管
26、理器日志 管理器資源監(jiān)視器windows 文件系統(tǒng)windows 注冊(cè)表資源 dll圖 5 群集服務(wù)組件示意圖節(jié)點(diǎn)管理器 節(jié)點(diǎn)管理器運(yùn)行在每個(gè)節(jié)點(diǎn)上,它維護(hù)著一個(gè)包含群集所屬節(jié)點(diǎn)的本地列表。節(jié)點(diǎn)服務(wù)器會(huì)定期向在群集中其它節(jié)點(diǎn)上運(yùn)行的節(jié)點(diǎn)服務(wù)器發(fā)送消息(稱為“心跳”),以檢測(cè)節(jié)點(diǎn)故障。這是保持群集中的所有節(jié)點(diǎn)時(shí)時(shí)刻刻都具有完全一致的群集成員身份所不可或缺的。如果一個(gè)節(jié)點(diǎn)檢測(cè)到同另一節(jié)點(diǎn)的通信故障,它就會(huì)向整個(gè)群集發(fā)送多播消息,從而讓所有成員都對(duì)其當(dāng)前的群集成員身份進(jìn)行檢查。這被稱作一個(gè)重新分組事件。除非已建立起穩(wěn)定的成員關(guān)系,否則群集服務(wù)將禁止對(duì)所有群集節(jié)點(diǎn)所共用的任何磁盤設(shè)備執(zhí)行寫入操作。如果
27、某個(gè)節(jié)點(diǎn)上的節(jié)點(diǎn)管理器沒(méi)有響應(yīng),則該節(jié)點(diǎn)將被從群集中刪除,其活動(dòng)的資源組會(huì)被轉(zhuǎn)移到另外的活動(dòng)節(jié)點(diǎn)上。為選擇應(yīng)將資源組轉(zhuǎn)移到哪個(gè)節(jié)點(diǎn)上,節(jié)點(diǎn)管理器會(huì)確定資源組首選運(yùn)行的節(jié)點(diǎn)以及可以擁有單獨(dú)資源的潛在擁有者(節(jié)點(diǎn))。在 2 節(jié)點(diǎn)群集中,節(jié)點(diǎn)管理器會(huì)直接將資源組從故障節(jié)點(diǎn)轉(zhuǎn)移到幸存的節(jié)點(diǎn)。在 3 節(jié)點(diǎn)或更多節(jié)點(diǎn)的群集中,節(jié)點(diǎn)管理器有選擇地將資源組分發(fā)到幸存的節(jié)點(diǎn)。節(jié)點(diǎn)管理器還充當(dāng)網(wǎng)關(guān)守衛(wèi)的作用,它允許“合作”節(jié)點(diǎn)進(jìn)入群集并且負(fù)責(zé)處理添加或逐出節(jié)點(diǎn)的請(qǐng)求。注意: 當(dāng)群集服務(wù)及其組成過(guò)程發(fā)生故障時(shí),同遭遇故障的節(jié)點(diǎn)連接的資源將被停止,目的是在群集的有效節(jié)點(diǎn)上重新啟動(dòng)它們。數(shù)據(jù)庫(kù)管理器 數(shù)據(jù)庫(kù)管理器提供了
28、維護(hù)群集配置數(shù)據(jù)庫(kù)(該數(shù)據(jù)庫(kù)包括了有關(guān)群集中所有物理和邏輯實(shí)體的信息)需要的功能。這些實(shí)體包括群集本身、群集節(jié)點(diǎn)的成員身份、資源組、資源類型以及特定資源(如磁盤和 ip地址)的描述。存儲(chǔ)在該配置數(shù)據(jù)庫(kù)中的長(zhǎng)期性和短暫性信息可用于跟蹤群集的當(dāng)前狀態(tài)或意欲了解的狀態(tài)。運(yùn)行在各個(gè)群集節(jié)點(diǎn)上的數(shù)據(jù)庫(kù)管理器共同維護(hù)著在整個(gè)群集內(nèi)一致的配置信息。為了確保所有節(jié)點(diǎn)上的配置數(shù)據(jù)庫(kù)副本都一致,一次只能有一個(gè)數(shù)據(jù)庫(kù)管理器向配置數(shù)據(jù)庫(kù)提交數(shù)據(jù)。數(shù)據(jù)庫(kù)管理器還提供了可供其它群集服務(wù)組件(如故障轉(zhuǎn)移管理器和節(jié)點(diǎn)管理器)使用的接口。該接口類似于 win32 應(yīng)用程序編程接口 (api) 集提供的注冊(cè)表接口。主要區(qū)別是,數(shù)
29、據(jù)庫(kù)管理器會(huì)將對(duì)群集實(shí)體進(jìn)行的更改同時(shí)記錄到注冊(cè)表和仲裁資源中(這些更改由日志管理器寫入仲裁資源)。全局更新管理器隨即將注冊(cè)表變化復(fù)制到其它的節(jié)點(diǎn)。數(shù)據(jù)庫(kù)管理器支持對(duì)群集部分的事務(wù)性更新,并且僅向內(nèi)部群集服務(wù)組件提供接口。故障轉(zhuǎn)移管理器和節(jié)點(diǎn)管理器通常會(huì)借助這種事務(wù)性支持,因?yàn)樗鼈円@取復(fù)制的事務(wù)。群集 api 會(huì)將除事務(wù)支持外的數(shù)據(jù)庫(kù)管理器功能暴露給客戶端。這些數(shù)據(jù)庫(kù)管理器 api 的主要客戶端是資源 dll,它們將使用數(shù)據(jù)庫(kù)管理器將專用屬性保存到群集數(shù)據(jù)庫(kù)中。其它客戶端通常使用數(shù)據(jù)庫(kù)管理器查詢?nèi)杭瘮?shù)據(jù)庫(kù)。注意: 應(yīng)用程序注冊(cè)表項(xiàng)的數(shù)據(jù)和變化將由檢查點(diǎn)管理器記錄到位于仲裁資源上的仲裁日志文件
30、中。檢查點(diǎn)管理器 為確保群集服務(wù)能夠從資源故障中恢復(fù),檢查點(diǎn)會(huì)在資源聯(lián)機(jī)時(shí)檢查注冊(cè)表項(xiàng),并在資源脫機(jī)時(shí)向仲裁資源寫入檢查點(diǎn)數(shù)據(jù)。能夠感知群集的應(yīng)用程序可使用群集配置數(shù)據(jù)庫(kù)存儲(chǔ)恢復(fù)信息。不能感知群集的應(yīng)用程序?qū)⒃诒镜胤?wù)器注冊(cè)表中存儲(chǔ)信息。檢查點(diǎn)管理器還支持資源擁有特定于應(yīng)用程序的注冊(cè)表樹(shù)(該注冊(cè)表樹(shù)是在資源聯(lián)機(jī)的群集節(jié)點(diǎn)上被實(shí)例化的,一個(gè)資源可以擁有一個(gè)或多個(gè)關(guān)聯(lián)的注冊(cè)表樹(shù))。當(dāng)資源聯(lián)機(jī)時(shí),檢查點(diǎn)管理器會(huì)監(jiān)視對(duì)這些注冊(cè)表樹(shù)所作的更改。如果檢測(cè)到已發(fā)生了更改,它會(huì)在擁有該資源的節(jié)點(diǎn)上創(chuàng)建注冊(cè)表樹(shù)的轉(zhuǎn)儲(chǔ)文件,然后將其轉(zhuǎn)移到擁有仲裁資源的節(jié)點(diǎn)上。檢查點(diǎn)管理器會(huì)執(zhí)行一定量的“批處理”,這樣一來(lái),對(duì)注冊(cè)
31、表樹(shù)的頻繁更改就不會(huì)為群集服務(wù)施加過(guò)重的負(fù)擔(dān)。日志管理器日志管理器聯(lián)同檢查點(diǎn)管理器一起工作,確保仲裁資源上的恢復(fù)日志包含有最近的配置數(shù)據(jù)和變更檢查點(diǎn)。如果一個(gè)或多個(gè)群集節(jié)點(diǎn)發(fā)生故障,仍然可以對(duì)幸存的節(jié)點(diǎn)進(jìn)行配置更改。當(dāng)這些節(jié)點(diǎn)發(fā)生故障時(shí),數(shù)據(jù)庫(kù)管理器會(huì)使用日志管理器記錄仲裁資源的配置變化。當(dāng)故障節(jié)點(diǎn)重新投入服務(wù)時(shí),它們會(huì)從其注冊(cè)表的本地群集部分讀取仲裁資源的位置。由于這部分的數(shù)據(jù)可能已過(guò)時(shí),因此會(huì)有一個(gè)內(nèi)置的機(jī)制來(lái)檢測(cè)從過(guò)時(shí)的群集配置數(shù)據(jù)庫(kù)中讀取的無(wú)效仲裁資源。數(shù)據(jù)庫(kù)管理器隨后會(huì)請(qǐng)求日志管理器使用仲裁資源中的檢查點(diǎn)文件對(duì)本地副本的群集部分進(jìn)行更新,并接著從檢查點(diǎn)日志的序列號(hào)開(kāi)始在仲裁磁盤中重放
32、日志文件。這樣就可以完全更新群集部分的信息。一旦重置了仲裁日志,就會(huì)制作群集信息的快照。另外,這種操作也會(huì)每四個(gè)小時(shí)執(zhí)行一次。故障轉(zhuǎn)移管理器故障轉(zhuǎn)移管理器負(fù)責(zé)停止和啟動(dòng)資源、管理資源依存關(guān)系以及啟動(dòng)資源組的故障轉(zhuǎn)移。為執(zhí)行這些操作,它會(huì)從資源監(jiān)視器和群集節(jié)點(diǎn)接收資源和系統(tǒng)狀態(tài)信息。故障轉(zhuǎn)移管理器還負(fù)責(zé)決定群集中的節(jié)點(diǎn)可以擁有的資源組。完成了資源組的仲裁后,擁有各個(gè)資源組的節(jié)點(diǎn)會(huì)將對(duì)資源組內(nèi)資源的控制權(quán)移交給節(jié)點(diǎn)管理器。當(dāng)擁有某個(gè)資源組的節(jié)點(diǎn)無(wú)法處理該組內(nèi)的資源故障時(shí),各個(gè)群集節(jié)點(diǎn)上的故障轉(zhuǎn)移管理器將一起來(lái)仲裁該資源組的所有權(quán)。發(fā)生資源故障時(shí),故障轉(zhuǎn)移管理器可能重新啟動(dòng)該資源或?qū)①Y源及其依存資源
33、脫機(jī)。如果將資源脫機(jī),它會(huì)指示將該資源的所有權(quán)移交給另一節(jié)點(diǎn)并且以新節(jié)點(diǎn)的名義重新啟動(dòng)該資源。這被稱作故障轉(zhuǎn)移。故障轉(zhuǎn)移在發(fā)生意外的硬件或應(yīng)用程序故障時(shí),故障轉(zhuǎn)移可能會(huì)自動(dòng)執(zhí)行,也可能由群集管理人員手動(dòng)觸發(fā)。這兩種情形的算法相同,只不過(guò)在人工啟動(dòng)故障轉(zhuǎn)移時(shí),資源是按有序方式關(guān)閉的(即使這種關(guān)閉形式在故障狀態(tài)下可能顯得突然和具有破壞性)。當(dāng)群集中的某個(gè)節(jié)點(diǎn)完全失效時(shí),其資源組將被轉(zhuǎn)移到群集中的一個(gè)或多個(gè)可用的服務(wù)器。自動(dòng)故障轉(zhuǎn)移類似于按照計(jì)劃對(duì)資源所有權(quán)進(jìn)行管理性的重新分配。但該過(guò)程將更為復(fù)雜一些,因?yàn)檎S行虻年P(guān)閉步驟可能受到影響或者根本就不會(huì)發(fā)生。因此為了評(píng)估故障時(shí)的群集狀態(tài),還將需要一些額
34、外步驟。自動(dòng)故障轉(zhuǎn)移需要確定在故障節(jié)點(diǎn)上運(yùn)行的資源組以及哪些節(jié)點(diǎn)將會(huì)獲得各個(gè)資源組的所有權(quán)。群集中所有可以駐留這些資源組的節(jié)點(diǎn)會(huì)彼此協(xié)商這些資源組的歸屬事宜。這種協(xié)商基于節(jié)點(diǎn)性能、當(dāng)前負(fù)載、應(yīng)用程序反饋或者節(jié)點(diǎn)首選項(xiàng)列表。節(jié)點(diǎn)首選項(xiàng)列表是資源組屬性的一部分,可用來(lái)將資源組指定給某個(gè)節(jié)點(diǎn)。一旦完成資源組的協(xié)商,所有群集節(jié)點(diǎn)就會(huì)更新各自的數(shù)據(jù)庫(kù)并跟蹤擁有資源組的節(jié)點(diǎn)。在具有兩個(gè)以上節(jié)點(diǎn)的群集中,各個(gè)資源組的節(jié)點(diǎn)首選項(xiàng)列表可以指定一個(gè)首選服務(wù)器外加一個(gè)或多個(gè)優(yōu)先的備用服務(wù)器。這樣可以實(shí)現(xiàn)級(jí)聯(lián)式故障轉(zhuǎn)移 功能。通過(guò)該功能,資源組可以不受多個(gè)服務(wù)器故障的影響,因?yàn)樗鼈兛梢灾鸺?jí)地故障轉(zhuǎn)移到節(jié)點(diǎn)首選項(xiàng)列表的
35、下一個(gè)服務(wù)器上。群集管理員可以為某個(gè)服務(wù)器上的資源組設(shè)置不同的節(jié)點(diǎn)首選項(xiàng)列表,這樣,一旦服務(wù)器發(fā)生故障,就可以將該資源組分發(fā)到幸存的群集服務(wù)器上。這種方案的一個(gè)替代做法是設(shè)置群集中所有資源組的節(jié)點(diǎn)首選項(xiàng)列表(該做法通常稱為 n+i 故障轉(zhuǎn)移)。節(jié)點(diǎn)首選項(xiàng)列表將確定首次故障轉(zhuǎn)移時(shí)應(yīng)將資源轉(zhuǎn)移到哪個(gè)備用的群集節(jié)點(diǎn)。這些備用服務(wù)器應(yīng)該是群集中最為空閑的服務(wù)器,或者它們可以非常容易地清除自己的工作載荷以便接收故障服務(wù)器轉(zhuǎn)移來(lái)的工作載荷。當(dāng)群集管理員在選擇級(jí)聯(lián)式故障轉(zhuǎn)移和 n+i 故障轉(zhuǎn)移時(shí),關(guān)鍵問(wèn)題是要考慮群集是否有額外的容量來(lái)容納因?yàn)樯倭朔?wù)器而損失的容量。使用級(jí)聯(lián)式故障轉(zhuǎn)移的前提是,群集的每個(gè)服務(wù)
36、器都有一定的額外容量來(lái)接納其它服務(wù)器發(fā)生故障時(shí)轉(zhuǎn)移來(lái)的一部分工作負(fù)載。而使用 n+i 故障轉(zhuǎn)移的前提是,這“+i”個(gè)備用服務(wù)器將是提供額外容量的主要位置。故障恢復(fù)當(dāng)節(jié)點(diǎn)恢復(fù)聯(lián)機(jī)時(shí),故障轉(zhuǎn)移管理器可以決定是否將某些資源組轉(zhuǎn)移回這個(gè)已恢復(fù)正常的節(jié)點(diǎn)。這被稱作故障恢復(fù)。只有資源組的屬性定義了首選的擁有者,已恢復(fù)正?;蛑匦聠?dòng)的節(jié)點(diǎn)才有可能實(shí)現(xiàn)故障恢復(fù)。如果恢復(fù)的或重新啟動(dòng)的節(jié)點(diǎn)是資源組的首選擁有者,則該資源組會(huì)從其當(dāng)前的擁有者轉(zhuǎn)移到恢復(fù)的或重啟的節(jié)點(diǎn)。資源組的故障恢復(fù)屬性可能包括在一天之中的哪個(gè)時(shí)間才允許故障恢復(fù)以及對(duì)故障恢復(fù)嘗試時(shí)間的限制。這樣,群集服務(wù)就可以防止在高峰處理時(shí)間進(jìn)行資源的故障恢復(fù),
37、或者保護(hù)尚未正確恢復(fù)或重啟的節(jié)點(diǎn)。全局更新管理器內(nèi)部群集組件(比如故障轉(zhuǎn)移管理器或數(shù)據(jù)庫(kù)管理器)可以使用全局更新管理器 (gum) 以原子方式(或者更新所有正常的節(jié)點(diǎn),或者一個(gè)都不更新)和串行方式(保持一個(gè)整體順序)將群集服務(wù)器的變更復(fù)制到各個(gè)群集節(jié)點(diǎn)。gum 更新的發(fā)起,通常源于群集 api 調(diào)用。在客戶端節(jié)點(diǎn)上啟動(dòng) gum 更新時(shí),gum 首先會(huì)請(qǐng)求負(fù)責(zé)鎖定的節(jié)點(diǎn)實(shí)現(xiàn)全局(“全局“表示所有的群集節(jié)點(diǎn))鎖定。如果無(wú)法進(jìn)行全局鎖定,客戶端會(huì)一直等待。當(dāng)可以鎖定時(shí),負(fù)責(zé)鎖定的節(jié)點(diǎn)會(huì)將鎖定授予該客戶端,并且從本地(在負(fù)責(zé)鎖定的節(jié)點(diǎn)上)發(fā)布更新。該客戶端隨即將更新發(fā)布到包括它自身在內(nèi)的所有正常節(jié)點(diǎn)。
38、如果在負(fù)責(zé)鎖定的節(jié)點(diǎn)上成功完成了更新,但在其它某些節(jié)點(diǎn)上更新失敗,則會(huì)剝奪這些節(jié)點(diǎn)在當(dāng)前群集中的成員資格。如果在負(fù)責(zé)鎖定的節(jié)點(diǎn)上更新失敗,該節(jié)點(diǎn)僅向客戶端返回故障信息。備份/恢復(fù)管理器群集服務(wù)為群集數(shù)據(jù)庫(kù)備份提供了一個(gè) api,即 backupclusterdatabase。backupclusterdatabase 首先會(huì)同故障轉(zhuǎn)移層聯(lián)系,而后者會(huì)接著將請(qǐng)求轉(zhuǎn)交給擁有仲裁資源的節(jié)點(diǎn)。這樣就可以調(diào)用該擁有者節(jié)點(diǎn)中的數(shù)據(jù)庫(kù)管理器,并由它來(lái)完成仲裁日志文件和所有檢查點(diǎn)文件的備份。除了 api 外,群集服務(wù)在啟動(dòng)時(shí)也會(huì)以備份寫入程序的形式將自己注冊(cè)到卷影復(fù)制服務(wù) (vss)。當(dāng)備份客戶端調(diào)用 vss
39、 執(zhí)行系統(tǒng)狀態(tài)備份時(shí),它會(huì)通過(guò)一系列的入口點(diǎn)調(diào)用來(lái)調(diào)用群集服務(wù)執(zhí)行群集數(shù)據(jù)庫(kù)備份。群集服務(wù)中的服務(wù)器代碼會(huì)直接調(diào)用故障轉(zhuǎn)移管理器來(lái)執(zhí)行備份,其余的操作與 backupclusterdatabase api 相同。為了從備份路徑恢復(fù)群集數(shù)據(jù)庫(kù),群集服務(wù)提供了另一個(gè) api,即 restoreclusterdatabase。該 api 只能從某個(gè)群集節(jié)點(diǎn)的本地調(diào)用。調(diào)用該 api 時(shí),它將依次停止群集服務(wù)、從備份中恢復(fù)群集數(shù)據(jù)庫(kù)、設(shè)置包含備份路徑的注冊(cè)表值,然后再啟動(dòng)群集服務(wù)。群集服務(wù)在啟動(dòng)時(shí)會(huì)檢測(cè)到需要進(jìn)行恢復(fù),并會(huì)接著從備份路徑將群集數(shù)據(jù)庫(kù)恢復(fù)到仲裁資源中。事件日志復(fù)制管理器群集服務(wù)會(huì)同群集中
40、的事件日志服務(wù)進(jìn)行交互,以便將事件日志條目復(fù)制到所有的群集節(jié)點(diǎn)。當(dāng)群集服務(wù)在某個(gè)節(jié)點(diǎn)上啟動(dòng)時(shí),它會(huì)調(diào)用本地事件日志服務(wù)中的專用 api,并且要求該事件日志服務(wù)向回綁定到群集服務(wù)。作為響應(yīng),該事件日志服務(wù)將使用 lrpc 綁定到 clusapi 接口。從此時(shí)開(kāi)始,只要事件日志服務(wù)收到要記錄的事件,它就會(huì)在本地記錄它,然后將事件放到持續(xù)性的批處理隊(duì)列中,并且安排一個(gè)計(jì)時(shí)器線程。如果沒(méi)有活動(dòng)的計(jì)時(shí)器線程,該線程就會(huì)在 20 秒后啟動(dòng)。計(jì)時(shí)器線程啟動(dòng)時(shí),它會(huì)排空批處理隊(duì)列,并借助事件日志服務(wù)已綁定的群集 api 接口將所有事件作為一個(gè)整體緩沖發(fā)送到群集服務(wù)。一旦群集服務(wù)收到來(lái)自事件日志服務(wù)的批量事件,
41、它會(huì)將這些事件放到本地的“傳出”隊(duì)列中并且從該 rpc 返回。群集服務(wù)中的事件廣播器線程會(huì)排空該隊(duì)列,并借助群集內(nèi)的 rpc 將隊(duì)列中的事件發(fā)送到所有有效的遠(yuǎn)程群集節(jié)點(diǎn)。服務(wù)器側(cè)的 api 將收到的事件放到“傳入”隊(duì)列中。事件日志寫入程序線程隨后會(huì)排空該隊(duì)列,并且通過(guò)專用的 rpc 請(qǐng)求本地事件日志服務(wù)在本地寫入這些事件。群集服務(wù)使用 lrpc 來(lái)調(diào)用事件日志專用 rpc 接口。事件日志服務(wù)也會(huì)使用 lrpc 來(lái)調(diào)用請(qǐng)求群集服務(wù)對(duì)事件進(jìn)行復(fù)制的群集 api 接口。成員身份管理器成員身份管理器(也稱為“重新分組引擎)負(fù)責(zé)維護(hù)在任何給定時(shí)刻的群集節(jié)點(diǎn)情況(活動(dòng)或停機(jī))的一致性。組件的心跳是決定是否
42、重新分組的依據(jù)。只要有證據(jù)表明一個(gè)或多個(gè)節(jié)點(diǎn)已失效,就會(huì)調(diào)用重新分組。在重新分組過(guò)程的最后,所有有關(guān)的節(jié)點(diǎn)都會(huì)對(duì)新的群集成員身份達(dá)成相同的看法。非群集服務(wù)組件雖然以下組件通常被認(rèn)為并不屬于真正的群集服務(wù),但它們?nèi)匀皇峭杭?wù)操作緊密聯(lián)系在一起的。資源監(jiān)視器資源監(jiān)視器提供了資源 dll 同群集服務(wù)之間的通訊接口。當(dāng)群集服務(wù)需要從資源獲取數(shù)據(jù)時(shí),資源監(jiān)視器會(huì)收到該請(qǐng)求并將它轉(zhuǎn)交給相應(yīng)的資源 dll。相反,當(dāng)資源 dll 需要報(bào)告其狀態(tài)或需要通知群集服務(wù)某個(gè)事件時(shí),資源監(jiān)視器會(huì)將這些來(lái)自資源的信息轉(zhuǎn)交給群集服務(wù)。資源監(jiān)視器進(jìn)程是作為群集服務(wù)的子進(jìn)程而派生的,該進(jìn)程在自己的進(jìn)程空間中加載監(jiān)視群集資源
43、的資源 dll(在同群集服務(wù)進(jìn)程不同的進(jìn)程中加載資源 dll 將有助于隔離故障)。同時(shí)可以派生和執(zhí)行多個(gè)資源監(jiān)視器進(jìn)程。一個(gè)同資源關(guān)聯(lián)的共用屬性將確定是將對(duì)應(yīng)的 dll 載入單獨(dú)的監(jiān)視器進(jìn)程還是載入默認(rèn)的監(jiān)視器進(jìn)程。在 windows server 2003 群集中,只能在單獨(dú)的監(jiān)視器進(jìn)程載入一個(gè)資源 dll,不允許進(jìn)行資源分組。默認(rèn)情況下,僅會(huì)派生一個(gè)資源監(jiān)視器進(jìn)程,而所有的資源 dll 都將被載入該單一進(jìn)程。每個(gè)資源監(jiān)視器都充當(dāng)群集服務(wù)進(jìn)程的 lrpc 服務(wù)器。當(dāng)群集服務(wù)收到要求同資源 dll 通訊的群集 api 調(diào)用時(shí),它會(huì)使用這種 lrpc 接口來(lái)調(diào)用資源監(jiān)視器 rpc。為了接收來(lái)自資
44、源監(jiān)視器的響應(yīng),群集服務(wù)會(huì)為每一個(gè)資源監(jiān)視器進(jìn)程創(chuàng)建一個(gè)通知線程。該通知線程將調(diào)用暫時(shí)停留在資源監(jiān)視器中的 rpc,從而一旦有通知生成就可以立即接收它們(比如“資源 x 已聯(lián)機(jī)“)。該線程只有當(dāng)資源監(jiān)視器終止或通過(guò)來(lái)自群集服務(wù)的關(guān)閉命令明確停止了資源監(jiān)視器時(shí)才會(huì)被釋放。資源監(jiān)視器并不維護(hù)同自身有關(guān)的任何存續(xù)狀態(tài)。其所有初始狀態(tài)都是群集服務(wù)提供的,它僅保存某些有限的資源內(nèi)存狀態(tài)。資源監(jiān)視器通過(guò)完善定義的入口點(diǎn)(這是資源 dll 必須提供的,類似于 com v-table)同資源 dll 通訊。對(duì)資源監(jiān)視器自身而言,它要執(zhí)行的唯一操作是通過(guò)“isalive”和“l(fā)ooksalive”入口點(diǎn)來(lái)輪詢資
45、源 dll(或者說(shuō)輪流檢查資源 dll 表明的故障事件)、派生計(jì)時(shí)器線程(針對(duì)那些從 online 或 offline 入口點(diǎn)返回 error_io_pending 的資源 dll,目的是監(jiān)視其未決的超時(shí))、檢測(cè)群集服務(wù)是否崩潰(如果崩潰,則關(guān)閉資源)。在資源監(jiān)視器中發(fā)生的其它操作則要取決于群集服務(wù)通過(guò) rpc 接口請(qǐng)求了什么樣的操作。群集服務(wù)會(huì)監(jiān)視資源監(jiān)視器是否崩潰,如果檢測(cè)到該進(jìn)程崩潰,它將重新啟動(dòng)一個(gè)監(jiān)視器。在目前的群集服務(wù)器中,群集服務(wù)不會(huì)執(zhí)行任何 hang(暫停)檢測(cè)。群集服務(wù)和資源監(jiān)視器進(jìn)程共享一個(gè)內(nèi)存映射扇區(qū)(由分頁(yè)文件支持),在資源監(jiān)視器啟動(dòng)時(shí),系統(tǒng)會(huì)將該扇區(qū)的句柄傳遞給資源監(jiān)
46、視器。資源監(jiān)視器隨即會(huì)復(fù)制該句柄。資源監(jiān)視器進(jìn)程在調(diào)用資源 dll 入口點(diǎn)之前會(huì)將入口點(diǎn)編號(hào)和資源名稱記錄到該映射區(qū)中。如果資源監(jiān)視器崩潰,群集服務(wù)(以及該資源監(jiān)視器的上級(jí)異常過(guò)濾器)會(huì)讀取這個(gè)共享扇區(qū),以檢測(cè)導(dǎo)致監(jiān)視器進(jìn)程崩潰的資源及其入口點(diǎn)。事件服務(wù)事件服務(wù)充當(dāng)了電子交換機(jī)的作用,它負(fù)責(zé)為在群集節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序和群集服務(wù)組件發(fā)送事件,或者將事件發(fā)送給它們。事件處理器可幫助群集服務(wù)組件將有關(guān)重要事件的信息分發(fā)給所有其它組件,并且可支持群集 api 事件處理機(jī)制。事件處理器執(zhí)行雜項(xiàng)服務(wù),比如向那些可感知群集的應(yīng)用程序發(fā)送信號(hào)事件和維護(hù)群集對(duì)象。圖 6 服務(wù)器群集架構(gòu)。非群集組件帶有灰色背景
47、群集仲裁每個(gè)群集都有一種特定資源,即所謂的仲裁資源。仲裁資源可能是執(zhí)行以下操作的任何資源: 提供一種旨在實(shí)現(xiàn)成員身份和群集狀態(tài)決定的仲裁機(jī)制。 提供物理性存儲(chǔ)空間以存儲(chǔ)配置信息。仲裁日志只是一種用于服務(wù)器群集化功能的配置數(shù)據(jù)庫(kù)。它保存了多種配置信息,比如群集的成員服務(wù)器都有哪些、群集中安裝了哪些資源以及這些資源處于何種狀態(tài)(例如,是聯(lián)機(jī)還是脫機(jī))。默認(rèn)情況下,該仲裁日志位于 mscsquolog.log。仲裁在群集中非常重要,其主要原因有兩個(gè)。以下介紹了這兩個(gè)原因。一致性由于群集的基本設(shè)計(jì)理念就是多臺(tái)物理服務(wù)器充當(dāng)一個(gè)虛擬服務(wù)器的作用,因此每個(gè)物理服務(wù)器在群集配置方式上是否具有一致的狀態(tài),將顯
48、得非常關(guān)鍵。對(duì)所有同群集有關(guān)的配置信息而言,仲裁充當(dāng)了最具權(quán)威性的倉(cāng)庫(kù)。如果群集服務(wù)無(wú)法讀取仲裁日志,它將不會(huì)啟動(dòng),因?yàn)樗鼰o(wú)法保證群集是否處于一致性的狀態(tài),而這又是群集最主要的要求之一。斡旋作用仲裁提供的斡旋作用可以避免“各自為政”的情況。當(dāng)兩個(gè)或多個(gè)群集節(jié)點(diǎn)之間的所有網(wǎng)絡(luò)通訊鏈路都失效時(shí),會(huì)發(fā)生“各自為政”的局面。此時(shí),群集可能分成兩個(gè)或更多個(gè)在彼此之間無(wú)法交流的“派別”。使用仲裁后,可以保證任何群集資源只會(huì)在某一個(gè)節(jié)點(diǎn)上進(jìn)入聯(lián)機(jī)狀態(tài)。這是通過(guò)僅允許“擁有”仲裁的一派繼續(xù)存在,同時(shí)將其它派別逐出群集來(lái)實(shí)現(xiàn)的。標(biāo)準(zhǔn)仲裁如上所述,仲裁只是用于 microsoft 群集服務(wù)的一種配置數(shù)據(jù)庫(kù),它存儲(chǔ)
49、在仲裁日志文件中。標(biāo)準(zhǔn)的仲裁是使用位于互連的共享存儲(chǔ)區(qū)中的仲裁日志文件,群集的所有成員都可以訪問(wèn)該文件。注意: 可以對(duì)服務(wù)器群集進(jìn)行配置,讓它使用服務(wù)器的本地硬盤來(lái)存儲(chǔ)仲裁,但僅在出于測(cè)試和開(kāi)發(fā)目的時(shí)才支持這樣做,在生產(chǎn)環(huán)境中不應(yīng)該使用這樣的配置。 各個(gè)成員都將可以使用某種互連形式(比如 scsi 或光纖通道)同共享存儲(chǔ)區(qū)連接,而共享存儲(chǔ)區(qū)可以由外部硬盤(通常配置為 raid 磁盤)或存儲(chǔ)區(qū)域網(wǎng)絡(luò) (san) 構(gòu)成。使用 san 時(shí),其邏輯片段將顯示為物理磁盤。注意: 非常重要的一點(diǎn)是,仲裁需要使用物理磁盤資源而不是磁盤分區(qū),因?yàn)樵诠收限D(zhuǎn)移過(guò)程中,整個(gè)物理磁盤資源都將被轉(zhuǎn)移。您可以在 wind
50、ows nt 4.0 enterprise edition、windows 2000 advanced server、windows 2000 datacenter edition、windows server 2003 enterprise edition 以及 windows server 2003 datacenter edition 中使用標(biāo)準(zhǔn)仲裁,圖 7 說(shuō)明了這種標(biāo)準(zhǔn)仲裁。圖 7 四節(jié)點(diǎn)群集中的標(biāo)準(zhǔn)仲裁示意多數(shù)節(jié)點(diǎn)集仲裁從服務(wù)器群集的發(fā)展來(lái)看,多數(shù)節(jié)點(diǎn)集 (mns) 仲裁將成為唯一的仲裁資源。但在默認(rèn)情況下,其數(shù)據(jù)實(shí)際存儲(chǔ)在各個(gè)群集成員的系統(tǒng)磁盤上。mns 資源負(fù)責(zé)確保在 mns
51、上存儲(chǔ)的群集配置數(shù)據(jù)在不同磁盤上都保持一致性。圖 8 顯示了一個(gè)使用 mns 仲裁配置的四節(jié)點(diǎn)群集。您可以在 windows server 2003 enterprise edition 以及 windows server 2003 datacenter edition 中使用多數(shù)節(jié)點(diǎn)集仲裁。圖 8 四節(jié)點(diǎn)群集中的 mns 仲裁示意盡管構(gòu)成 mns 的磁盤在理論上說(shuō)可以是共享存儲(chǔ)結(jié)構(gòu)上的磁盤,但作為 windows server 2003 的一部分提供的 mns 實(shí)現(xiàn)使用各個(gè)節(jié)點(diǎn)本地系統(tǒng)磁盤上的目錄來(lái)存儲(chǔ)仲裁數(shù)據(jù)。如果群集配置發(fā)生變化,這種變化將被反映到各個(gè)不同磁盤上。只有對(duì)以下數(shù)目的節(jié)點(diǎn)都進(jìn)
52、行了更改,這種更改才被認(rèn)為是完成的,即成為持久性更改: (/2) + 1這保證了大多數(shù)節(jié)點(diǎn)都可以獲得最新的數(shù)據(jù)副本。如果被配置為群集成員的大多數(shù)節(jié)點(diǎn)都能正常運(yùn)行群集服務(wù),群集服務(wù)會(huì)直接啟動(dòng),并且讓資源聯(lián)機(jī)。如果只是少數(shù)節(jié)點(diǎn),群集會(huì)被告知沒(méi)有仲裁,因此群集服務(wù)會(huì)始終等待(試圖重新啟動(dòng)),直到更多的節(jié)點(diǎn)試圖加入進(jìn)來(lái)。只有當(dāng)大多數(shù)節(jié)點(diǎn)都可用或者節(jié)點(diǎn)仲裁可用時(shí),群集服務(wù)才會(huì)啟動(dòng),并且資源才會(huì)聯(lián)機(jī)。在這種方式下,由于不考慮節(jié)點(diǎn)故障就將最新的配置寫入大多數(shù)節(jié)點(diǎn),因此群集會(huì)始終保證它僅在最近和最新的配置下被啟動(dòng)。當(dāng)發(fā)生故障或“各自為政”的情況時(shí),所有未包含大多數(shù)節(jié)點(diǎn)的派別都將被終止。這保證了如果有一個(gè)運(yùn)行的
53、派別包括了大多數(shù)節(jié)點(diǎn),該派別將可以隨意啟動(dòng)過(guò)去未在該派別上運(yùn)行的任何資源,換言之,它將是群集中唯一能運(yùn)行資源的派別(因?yàn)槠渌信蓜e都被終止)。由于清楚了共享磁盤仲裁群集同 mns 仲裁群集在行為方式上的區(qū)別,因此用戶在確定要選擇的模型時(shí)必須謹(jǐn)慎。例如,如果您的群集中只有兩個(gè)節(jié)點(diǎn),則最好不要使用 mns 模型,因?yàn)橐坏┠硞€(gè)節(jié)點(diǎn)發(fā)生故障,將導(dǎo)致整個(gè)群集失敗(因?yàn)椴豢赡艽嬖诙鄶?shù)節(jié)點(diǎn))。群集資源群集服務(wù)使用資源監(jiān)視器和資源 dll 將所有資源都作為不透明的對(duì)象進(jìn)行管理。資源監(jiān)視器接口為群集服務(wù)啟動(dòng)資源管理命令和獲取資源狀態(tài)數(shù)據(jù)提供了標(biāo)準(zhǔn)的通訊接口。資源監(jiān)視器通過(guò)資源 dll 執(zhí)行實(shí)際的命令和獲取數(shù)據(jù)
54、。群集服務(wù)使用資源 dll 將資源聯(lián)機(jī)、管理這些資源同其它群集資源的交互,單更為重要的是通過(guò)監(jiān)視它們的健康狀況來(lái)檢測(cè)故障情況。服務(wù)器群集提供的資源 dll 可以同時(shí)支持 microsoft 群集感知應(yīng)用程序和獨(dú)立軟件供應(yīng)商 (isv) 以及第三方公司提供的通常不能感知群集的應(yīng)用程序。另外,isv 和第三方也可以提供讓它們的特定產(chǎn)品能夠感知群集的資源 dll。有關(guān)當(dāng)前可感知群集的應(yīng)用程序和硬件的詳細(xì)信息,請(qǐng)參閱“詳細(xì)信息”一節(jié)。為支持資源管理,資源 dll 僅需要提供少量的簡(jiǎn)單資源接口和屬性。資源監(jiān)視器可將特定的資源 dll 作為系統(tǒng)帳戶下優(yōu)先運(yùn)行的代碼載入其地址空間。系統(tǒng)帳戶是僅供操作系統(tǒng)以及
55、同基礎(chǔ)操作系統(tǒng)集成的服務(wù)所使用的帳戶。借助系統(tǒng)帳戶,群集服務(wù)可以在操作系統(tǒng)的上下文中執(zhí)行多種功能。有關(guān) windows server 2003 或 windows 2000 系統(tǒng)服務(wù)架構(gòu)以及帳戶安全性的詳細(xì)信息,請(qǐng)?jiān)L問(wèn):microsoft 為 microsoft 群集感知應(yīng)用程序提供的所有資源 dll 都僅在單一的資源監(jiān)視器進(jìn)程中運(yùn)行。isv 或第三方資源 dll 可能需要有自己的資源監(jiān)視器。當(dāng)在群集節(jié)點(diǎn)上安裝或啟動(dòng)資源時(shí),群集服務(wù)會(huì)根據(jù)需要?jiǎng)?chuàng)建資源監(jiān)視器進(jìn)程。如果某些資源要求有其它資源才能工作,這些依存關(guān)系可以通過(guò)資源 dll 來(lái)定義。如果某個(gè)資源依賴于其它資源,則群集服務(wù)只有在該資源所依存
56、的資源按照正確的序列聯(lián)機(jī)后才會(huì)讓該資源聯(lián)機(jī)。資源的脫機(jī)方式與此類似。群集服務(wù)只有在任何所依存的資源已脫機(jī)后才會(huì)將有關(guān)資源脫機(jī)。這可以防止在加載資源時(shí)導(dǎo)致依存關(guān)系循環(huán)。每個(gè)資源 dll 都可以定義資源所要求的計(jì)算機(jī)類型和設(shè)備連接類型。例如,磁盤資源可能要求只有同該磁盤設(shè)備物理相連的節(jié)點(diǎn)才能擁有它。在資源 dll 中還可以定義本地重啟策略以及在故障轉(zhuǎn)移事件期間希望執(zhí)行的操作。借助隨 windows server 2003 產(chǎn)品一起提供的資源 dll,服務(wù)器群集可以支持以下資源: 文件和打印共享 通用服務(wù)或應(yīng)用程序 通用腳本 物理磁盤 microsoft 分布式事務(wù)協(xié)調(diào)器 (msdtc) internet 信息服務(wù) (iis) 消息隊(duì)列 (msmq) 觸發(fā)器 網(wǎng)絡(luò)地址和名稱windows server 2003 enterprise edition 和 windows server 2003 datacenter edition 中還包括用于以下附加服務(wù)的資源 dll: 分布式文件系統(tǒng) (dfs) 動(dòng)態(tài)主機(jī)配置協(xié)議 (dhcp) 服務(wù) wi
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木材運(yùn)輸緊急處理協(xié)議
- 礦石運(yùn)輸安全評(píng)估承包合同
- 二零二五年度涂料回收利用技術(shù)合作合同
- 健身行業(yè)會(huì)員卡銷售協(xié)議
- 電商平臺(tái)知識(shí)產(chǎn)權(quán)保護(hù)合同
- 音樂(lè)創(chuàng)作行業(yè)版權(quán)爭(zhēng)議免責(zé)協(xié)議
- 5G網(wǎng)絡(luò)基礎(chǔ)設(shè)施建設(shè)協(xié)議
- 電子產(chǎn)品回收利用合同
- 紡織服裝貿(mào)易版權(quán)免責(zé)協(xié)議書(shū)
- 旅行社業(yè)務(wù)合同
- 深圳市物業(yè)專項(xiàng)維修資金管理系統(tǒng)操作手冊(cè)(電子票據(jù))
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(數(shù)學(xué))試題庫(kù)含答案解析
- 電力安全工作規(guī)程(電網(wǎng)建設(shè)部分)2023年
- 呆死帳的發(fā)生與預(yù)防課件
- 10000中國(guó)普通人名大全
- 起重機(jī)械安裝吊裝危險(xiǎn)源辨識(shí)、風(fēng)險(xiǎn)評(píng)價(jià)表
- 華北理工兒童口腔醫(yī)學(xué)教案06兒童咬合誘導(dǎo)
- 中國(guó)建筑項(xiàng)目管理表格
- 高一3班第一次月考總結(jié)班會(huì)課件
- 公共政策分析導(dǎo)論教學(xué)課件匯總完整版電子教案
- 我國(guó)油菜生產(chǎn)機(jī)械化技術(shù)(-119)
評(píng)論
0/150
提交評(píng)論