史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 網路軟硬體架設技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-12-13, 06:52 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Microsoft群集解決方案

數年以來,Microsoft一直致力於對自身伺服器解決方案的伸縮能力、可用性與可靠性進行擴展。

群集技術已被證明是實現這一目標的有效途徑,Microsoft充分支持群集技術理念,並致力於使其成為Microsoft操作系統及相關產品的集成化組成部分之一。隨著Windows 2003的正式發佈,Microsoft群集解決方案已經逐漸步入成熟階段。

可伸縮能力、可用性與可靠性

群集是一組通過協同工作方式執行同一套應用程式並針對客戶端及應用程式提供單一系統映像的獨立電腦。

群集技術的目標在於通過多層網路結構進一步提高伸縮能力、可用性與可靠性。

可伸縮性是指一台電腦在維持可接受效能的前提下處理不斷提高的工作負載的能力。硬體設備可伸縮性(內含式擴展,根據Microsoft的說法)依賴於通過具備擴展能力的大型電腦來執行各項操作。

軟體產品可伸縮性(外延式擴張)依賴於通過協同工作方式組織在一起的多台電腦所形成的群集,它與RAID容錯式獨立磁碟陣列驅動器陣列是兩種不同概念。


實際上,Microsoft使用了不太正規的術語電腦冗余陣列(RAC)來稱呼自身的外延式擴張群集。


就像可以通過向RAID容錯式獨立磁碟陣列陣列中增加磁牒的方式來提高效能一樣,您同樣可以通過向外延式擴張群集中增加節點的方式來提高效能。

可用性與可靠性是兩種緊密相關但又略有不同的概念。

可用性是指存在質量、備用能力、獲取簡便性以及可訪問能力。

可靠性則是指系統牢固程度。即便是最為可靠的系統總有一天也會出現問題。硬體設備製造商通過在諸如磁牒驅動器、電源供應設備、網路控制器和冷卻風扇這樣的關鍵技術嶺域中提供冗余的方式提前針對可能出現的故障採取準備措施。


然而,在一台電腦上所提供冗余無法為用戶避免應用程式故障。


如果某台伺服器上的資料庫軟體出現故障,那麼,儘管這台伺服器可能非常可靠,但通過軟體與伺服器相互結合方式提供的功能仍將無法使用。


由此可見,單台電腦根本無法勝任由群集承擔的所有必要可伸縮性、可用性及可靠性挑戰。


群集能夠模擬RAID容錯式獨立磁碟陣列陣列方式來提供可用性與可靠性。在諸如RAID容錯式獨立磁碟陣列 1或RAID容錯式獨立磁碟陣列 5這樣的容錯磁牒配置方案中,所有磁牒均按照冗余陣列方式協同工作。


如果某塊磁牒出現故障,您可以將其拔下並插入一塊新的磁牒,陣列中的其餘部分將繼續執行--無需配置,無需安裝,最重要的是,不會造成停機。

RAID容錯式獨立磁碟陣列系統自動對新的驅動器進行重建,以便使其能夠與其它驅動器協同工作。


與此類似,當群集中的某台電腦出現故障時,您只需使用一套新的系統對其進行替換,整個群集將繼續保持執行狀態。



某些群集軟體能夠自動對伺服器進行配置並將其集成到群集當中--所有相關操作均在群集處於可用狀態下完成。



四種群集解決方案

Microsoft提供了四種基本群集技術:

Microsoft群集服務(MSCS)、網路負載平衡(NLB)、元件負載平衡(CLB)和Application Center 2000。這些服務通過三種解決方案提供:

MSCS、NLB和Application Center。CLB是Application Center的組成部分之一,並且只能通過Application Center加以套用。
NLB既可以通過Application Center使用,也可以作為一種獨立解決方案使用。

Windows 2000 Advanced Server與Windows 2000 Datacenter Server本身包含MSCS和NLB,但您必須單獨購買Application Center。

表1總結了這四種群集技術在不同Windows 2000 Server與Windows NT Server 4.0產品家族成員中的可用性。

正如您所想像的那樣,這些技術中沒有一種適用於Windows 2000 Professional或Windows NT Workstation 4.0。表2列出了某些群集技術特徵。在本文後部進行技術對比時,您可以參考這張表格。

MSCS
NLB
CLB
Application Center

Win2K Server

不可用

不可用

支持(需要使用AppCenter

支持(需要使用第三方IP負載平衡工具)


Win2K AS

包含(最多2節點)

包含

支持(需要使用AppCenter)

支持(使用NLB)


Datacenter

包含(最多4節點)

包含

支持(需要使用AppCenter)

支持(使用NLB)


NT Server 4.0

不可用

支持(稱為WLBS)

不可用

不可用


NT Server 4.0, 企業版

包含(最多2節點)

支持(稱為WLBS)

不可用

不可用



表2 群集技術特性對照

MSCS
NLB
CLB
Application Center

用途

應用程式故障恢復與故障返回

IP通信負載平衡

COM+對像負載平衡

新增並管理Web區


優勢

可用性與可管理能力

可用性與可伸縮性

可用性與可伸縮性

可用性、可伸縮性與可管理能力


每個群集中的最大節點數量

2個(針對Win2k AS)或4個(針對Datacenter)

32

16

16


群集類型

共享存儲機制

無共享資源

無共享資源

無共享資源


狀態信息

有狀態

無狀態(如果需要的話,可以支持有狀態連接)

無狀態

無狀態


是否需要對伺服器應用程式進行修改

需要

不需要

不需要

不需要


是否需要使用專用硬體設備

需要

不需要

不需要

不需要


是否獨立





否(需要使用AppCenter)







Microsoft群集服務

最初代號為Wolfpack且先後被稱為Microsoft群集伺服器與Microsoft群集服務的MSCS是Microsoft在NT群集技術嶺域中的首次重拳出擊,它是公認的最佳Microsoft群集解決方案。

在MSCS群集中,MSCS軟體最多可以同四台執行在高速網路上的物理電腦建立連接。

通常情況下,群集中的電腦能夠按照「活動--活動」方式共享相同的存儲子系統與功能,這意味著所有群集電腦(節點)均可主動通過共享負載的方式協同完成工作,並在某個節點出現故障時分擔它的工作。圖1顯示了一個4節點MSCS群集。

http://www.microsoft.com/china/technet/columns/images/W2KCLU01.gif

圖1 利用Windows 2000 MSCS實現的4節點群集

MSCS的主要用途是通過自身提供的容錯能力提高應用程式可用性。

容錯能力是指將相關處理程序從某個節點上的故障應用程式(由於硬體設備故障或軟體錯誤等原因所導致)移植到群集中其它健康節點上的群集功能。


當故障應用程式得到恢復後,群集應當能夠對原先的群集節點實現「故障返回」。

MSCS能夠在不丟失任何與故障應用程式相關資料的前提下對群集上所執行的應用程式進行故障恢復與故障返回管理,並且能夠在故障恢復程序中維護用戶及應用程式狀態。

這種類型的群集功能被稱作有狀態群集功能。


與此相反,NLB、CLB和Application Center在增強可用性的同時,提供無狀態群集功能與動態負載平衡能力(我將在稍後部分中詳細討論這些內容)。

對於諸如電子郵件伺服器、資料庫應用程式之類的應用程式,MSCS是一種良好的執行方式。

假設您決定在一個4節點MSCS群集上執行Microsoft Exchange 2000 Server。


當安裝MSCS軟體以及適用於群集的Exchange 2000版本後,您可以對群集進行配置,以便使Exchange 2000能夠在主要節點發生故障時在制作備份節點上進行故障恢復。

當故障發生時,主伺服器上肯定存在處於開啟狀態的用戶會話,然而,MSCS能夠在不丟失任何資料的情況下快速、自動的完成故障恢復。制作備份節點將從故障節點上接替工作負載及相關資料,並繼續為用戶提供服務。

MSCS同時還允許用戶在應用程式昇級程序中繼續進行工作。


您可以採取滾動昇級方式(例如每次在一個群集節點上昇級應用程式並確保其它節點上的應用程式繼續處於可用狀態)而不必在昇級程序中停止使用應用程式。

舉例來說,假設您擁有一個雙節點群集。其中節點1執行Exchange 2000,節點2執行Microsoft SQL Server,您希望對這個群集進行配置,以便使Exchange 2000和SQL Server能夠在必要情況下相互實現故障恢復。


當需要對SQL Server進行昇級時,您可以通過MSCS群集管理器在節點2上啟動SQL Server故障恢復功能。


當節點1接替SQL Server執行工作(同時繼續執行Exchange 2000)時,您便可以在節點2上對SQL Server進行軟體昇級。當昇級工作完成後,您可以通過故障返回方式將SQL Server從節點1重新移至節點2上執行,並對節點1上的SQL Server重複執行相同的軟體昇級操作。


當節點1同樣完成昇級後,整個SQL Server軟體便在未影響用戶使用的情況下完成了昇級工作。

與其它三種Microsoft群集解決方案不同,您通常無法利用MSCS面向更多用戶對應用程式進行擴展。


MSCS群集無法向NLB、CLB和Application Center那樣通過無狀態非共享方式在節點之間提供動態負載平衡能力或實現應用程式分佈式執行。

實際上,利用MSCS實現應用程式伸縮能力的唯一可行方式便是在安裝程序中手工將應用程式分配給不同群集資源。


舉例來說,如果需要在Exchange 2000平台上為5000名用戶提供服務,您可以套用2節點活動-活動群集並在每個節點上為2500名用戶提供服務。


通過這種方式,您不但可以獲取通過兩台伺服器為用戶提供服務所實現的效能優勢,同時還能在故障情況下實現必要的可用性。但是,當故障恢復發生時,剩餘節點必須能夠在故障節點恢復使用前單獨為所有5000名用戶提供服務。



網路負載平衡

原先稱作Windows NT負載平衡服務(WLBS)的NLB能夠在多個執行NLB軟體的節點上對進入系統的IP請求負載進行合理分配。

NLB能夠為諸如Web伺服器之類關於IP傳輸協定的套用提供伸縮性與可用性。


隨著用戶針對伺服器資源的需求量不斷增大,NLB允許您增加用以處理工作負載的伺服器。舉例來說,通過利用NLB實現其面向Outlook Web Access(OWA)的關於Microsoft IIS通信前端,Exchange 2000伺服器的負載壓力得以顯著緩解。


NLB群集會將客戶端請求路由至一台或多台後端伺服器上。如果某個NLB節點出現停機故障,其它節點將自動承擔由其遺留下來的額外負載,而用戶則不會感覺到任何服務中斷現象。

NLB底層軟體是一種位於NIC與TCP/IP之間的網路設備接頭規範(NDIS)驅動程式。您應當在NLB群集中的每台伺服器上安裝這種驅動程式。

所有NLB節點均共享同一個代表所需網路資源(如Web伺服器)的虛擬IP位址。

所有NLB伺服器均監聽用戶請求,但其中只有一台伺服器對這些用戶請求進行回應。關於快速Hash算法的負載平衡架構負責合併客戶端IP位址與連接埠號,並確定由哪台伺服器進行回應。


您可以指定某種相似性規則,以便能夠在不同伺服器上分配不同的負載量(例如,您可以指定某些伺服器應當獲取多於其它伺服器工作負載)。


通過一種心跳特性,所有NLB節點均可及時群集變化(例如新增節點或節點故障)情況。當群集發生變化時,NLB將啟動一個匯聚程序,以便在群集中自動協調變化情況並以透明方式重新對進入系統的工作負載進行分配。

NLB的最初起源要追溯到1998年Microsoft收購總部位於俄勒岡州的Valence Research開始。Valence所開發的Convoy群集軟體便是後來的WLBS(NT Server 4.0與NT Server 4.0企業版中的一種插接產品)。


在Windows 2000中,儘管Microsoft進一步增強了WLBS的功能特性並對其進行了重新命名,但其核心技術仍舊沒有發生變化。

NLB是Windows 2000 Advanced Server與Datacenter網路服務中的一種集成化設備。

只要在各自獨立的電腦上執行,Windows 2000中的MSCS與NLB便可良好的實現協同工作--具體示例請參見圖2所顯示的配置方案。

由於MSCS與NLB之間存在潛在的硬體設備共享衝突,因此,Microsoft不建議同時也不支持在同一台電腦上執行MSCS與NLB。


http://www.microsoft.com/china/technet/columns/images/W2KCLU02.gif

圖2 以單一虛擬IP伺服器方式執行的n節點NLB群集



元件負載平衡

對於Windows 2000而言,CLB是一種全新事物。同樣,對於Windows 2000來說,作為下一代COM技術的COM+也是一種全新事物。COM+將COM、Microsoft事務伺服器(MTS)以及相關係統服務有機結合在一起,從而使Windows 2000成為一種設計、開發、佈署與維護關於元件套用的出色平台。

簡而言之,COM+是一種包含一系列相關係統服務(包括允許您在多個系統之間對元件進行分佈的服務)的COM技術。其中一種COM+服務能夠實現針對COM+對象的負載平衡訪問方式。

CLB只不過是一種負載平衡群集功能--即通過多台伺服器共享啟動與執行COM+對像所產生的工作負載。

與NLB相似,針對CLB的需求同樣來源於可用性與伸縮性需求。當您執行由COM+對像所組成的關鍵套用時,應用程式或伺服器故障將導致嚴重後果。

CLB能夠確保應用程式在出現故障的情況下繼續執行,並避免使用戶感覺到服務效能有所下降。

此外,某些COM+對像規模相當龐大且功能相當複雜,在單一伺服器上執行這些COM+對像以及諸如IIS之類的其它關鍵套用會嚴疊影響系統效能。


為在這種情況下提供可伸縮能力,您可以將COM+對像從IIS伺服器上移走,並將其合理分佈在自身CLB群集中的多台伺服器上。

假設您是一個擁有自己商務Web站點的電腦製造商,您的商務站點負責為用戶提供產品與技術信息、產品技術支持以及網上訂購服務。


遍佈全球各地的客戶每天24小時不間斷的使用您的產品,因此,您的Web站點必須隨時可用並保持良好執行狀態。


為此,您可以採用圖2所顯示的方式在具備後端MSCS資料庫群集訪問能力Web伺服器上執行NLB。

然而,如果您所提供的服務使用了大量關於COM+對像編碼方式的實現邏輯,那麼,儘管這些對象可以在Web伺服器上執行,但是,由於執行Web伺服器的電腦同時還必須處理COM+對象,因此,Web伺服器的回應時間將非常緩慢。此時,您便可能需要使用CLB。

圖3描述了如何在具備高度可用性與伸縮能力的Web站點上佈署CLB群集。

CLB能夠針對在應用程式中間層提供COM+對象的商務邏輯實現負載平衡。

(CLB群集需要Application Center提供隱含支持,我們將在「Application Center」一節中詳細解釋相關資訊,現在,您只需瞭解為何需要使用CLB即可。)

http://www.microsoft.com/china/technet/columns/images/W2KCLU03.gif

圖3 通過CLB實現針對COM+對像負載平衡訪問方式

CLB通過結合使用伺服器回應時間與循環算法的方式來確定由哪台伺服器處理下一個請求。

CLB按照預先設定好的時間間隔定期在群集中對COM+伺服器進行投票,以確定伺服器回應速度(伺服器回應時間直接反映出它們的繁忙程度)。

CLB根據回應時間對伺服器進行排序,具備最短回應時間的伺服器排在隊頭,並負責對下一個COM+啟動請求進行處理。


此後,在下一個投票間隔到來之前,CLB將按照伺服器在列表中的排列順序為其分配工作。

由於上述所有處理工作均在網路上既時完成,您可以看出,如果在速度較慢或較為擁擠的網路上增加CLB,則可能導致網路競爭問題。

因此,您應當在至少具備100 Mbps傳輸速率的高速幹線網路上佈署CLB群集。

通常情況下,您不應在承載其它網路通信內容一般企業網路上佈署CLB群集。

在CLB群集中分佈COM+對象的方式並非適用於所有情況,您必須在套用需求分析基礎上做出是否使用CLB的決定。


群集功能增加了與貫穿整個網路的客戶端請求相關的負載以及為滿足客戶端請求而選項伺服器並啟動COM+對像所產生的負載。


在某些情況下,由於應用程式只使用少量輕量級COM+對象,在Web伺服器本機實現對像實例化的簡單方式可能會提供更高效能。需要考慮使用CLB的套用情境包括:

構成商務邏輯的COM+對像相對比較「繁雜」且必須在高速伺服器上執行。
安全性是主要關注的問題之一,並且您希望通過將其置於額外防火牆後部的方式獨立COM+對象。


出於開發或設計原因,您的COM+應用程式被分為多個層次,並且您需要在獨立的層次上使用CLB。

CLB在所有Windows 2000 Server產品家族成員中均無法使用,同時,您也無法通過獨立產品方式購買CLB。

最初,Microsoft曾經有意將CLB包含在Windows 2000 Server產品家族中,但在1999年9月,Microsoft將其從Windows 2000 Release Candidate 2(RC2)中分離出來,並放入到一種稱為Application Server的全新產品中,因此,獲取CLB的唯一方式便是使用Application Server。



Application Center

Application Center是Microsoft .NET Enterprise Server產品家族成員的組成部分之一,其前身為Windows Distributed interNet Applications(Windows DNA)伺服器。Application Center的主要目的在於實現針對Web區(例如提供相同Web內容且相互協作的多台物理Web伺服器)的單一管理點,從而提供統一用戶界面(UI)並利用NLB與CLB實現負載平衡。通過使用Application Center,您可以新增新的群集、加入現有群集、增加或刪除群集成員、佈署新增內容、配置負載平衡並監視群集效能。

其最終結果是為Web區提供伸縮能力、易用性以及高度可靠性,並使其在外部用戶眼中表現為一台單一Web伺服器。

隨著越來越多的關鍵套用開始向Web靠攏,這些功能特性的重要性也在與日俱增。

如需瞭解完整的Application Center拓撲結構,以及與其協同工作的所有Microsoft群集技術,請再次檢視圖3。

NLB群集可以是IIS伺服器所組成的群集,CLB群集可用於提供商務邏輯。

兩者相互結合便構成了Application Center Web群集,而資料庫群集則可通過MSCS實現。

假設您擁有一個電子商務站點且正在規劃進行大規模產品滾動昇級,在此期間,有許多客戶希望通過該站點購買您的產品。

這種情況將顯著增加Web站點負載,然而您又無法確定這種增幅到底有多大

。您可以隨時根據需要增加新的伺服器,但針對這些伺服器的設定工作卻非常複雜。


就產品滾動昇級而言,您可以像在RAID容錯式獨立磁碟陣列陣列中插入磁牒驅動器那樣通過向Web區中增加伺服器的方式輕鬆擴展Web站點效能。這種套用情境正是RAC理念所適用的情況。

Application Center提供了用以新增群集、向群集中增加新增伺服器、佈署新增內容並配置群集成員的嚮導程序。

在新增新群集時,您需要定義一台群集控制器,這台群集控制器不僅屬於群集成員,同時還負責維護所有配置資訊。

此後,您便可以指定群集中的其它成員。當您完成上述工作時,Application Center將針對每個新增群集成員佈署COM+設定、CryptoAPI設定、註冊表健值、Windows管理設施(WMI)設定、文件系統資訊、IIS元資料庫設定以及Web伺服器內容。


最終,您將獲得一個複製群集,並且,您可利用Application Center管理器輕鬆增加或刪除群集成員。此外,Application Center還將通過透明方式完成單調乏味的NLB配置與佈署工作。

Application Center還將支持除NLB以外的其它第三方IP負載平衡工具。

在撰寫本文時,Microsoft正在為Cisco System公司的LocalDirector、F5 Network公司的BIG-IP以及Alteon WebSystem公司的ACEdirector提供支持。


然而,Application Center並未像集成NLB管理方式那樣集成針對這些負載平衡工具的管理操作,因此,您需要通過執行額外工作的方式對這些第三方負載平衡工具進行維護。

您可以在以下版本的Windows 2000操作系統平台上安裝包含新增Application Center群集所需全部必要元件的完整版本Application Center:

Win2K Server Service Pack 1(SP1)
Win2K AS SP1
Datacenter SP1


為支持Application Center,您必須具備Win2K SP1。否則,您將只能安裝用以對Application Center和IIS進行遠端管理的Application Center管理器。以下版本的Windows 2000及Windows NT操作系統支持Application Center管理器:

Win2K Professional
Win2K Server
Win2K AS
Datacenter
NT Workstation 4.0 SP6或更高版本(只適用於x86處理器)
NT Server 4.0 SP6或更高版本(只適用於x86處理器)

在閱讀本文時,您便可以通過Microsoft新型.NET Enterprise Server產品的方式獨立購買Application Center了。



群集技術與Microsoft .NET

您可能希望瞭解Microsoft群集解決方案如何適應公司的未來業務發展需要。

Windows服務已被授予Microsoft .NET這一全新名稱。圖4將Windows 2000和Windows DNA與Windows .NET和.NET平台進行了對比。

Microsoft群集解決方案適用於兩種Microsoft .NET領域:Windows .NET(MSCS)和.NET Enterprise Server(NLB、CLB、Application Center)。


Windows .NT代表了Windows 2000操作系統的演變程序,其接下來的兩個版本代號分別為Whistler和Blackcomb。.NET Enterprise Servers包含以下產品(其中大部分將包含在BackOffice中且具備集成化XML支持能力):

Exchange 2000
SQL Server 2000
BizTalk Server 2000
Application Center 2000
Host Integration Server 2000
Commerce Server 2000
Internet Security and Acceleration(ISA) Server 2000
http://www.microsoft.com/china/technet/columns/images/W2KCLU04.gif
圖4 從Windows DNA到Microsoft .NET平台的演變程序

Windows.NET和.NET Enterprise Servers是Microsoft在向.NET平台前進程序中所需完善與增強兩種基本元件。

Microsoft非常重視Windows的伸縮性、可用性與可靠性。在Microsoft以.NET作為商務平台進一步向Internet領域進軍的程序中,提供這些特性也隨之顯得更為重要。

顯然,諸如MSCS、NLB、CLB以及Application Center之類強大群集技術的出現對於Microsoft在關鍵商務套用支持領域能否取得成功起著至關重要的作用。


我希望看到這些群集技術--特別是Application Center以及Microsoft在年初專業開發者大會上所介紹的諸如活動伺服器頁面+(ASP+)負載平衡這樣的新型.NET技術--得到進一步增強與擴展。


請立即佔用部分時間來理解這些強大群集解決方案的工作原理以及它們可能說明 您解決的問題。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 06:21 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1