集群是一種技術(shù)解決方案,它將硬件和軟件結(jié)合起來(lái),為Web、Email以及數(shù)據(jù)庫(kù)等服務(wù)提供高可用性和高伸縮性的架構(gòu)。本文將分析集群的類型,然后將重點(diǎn)放在如何建立一個(gè)基于Microsoft的集群解決方案。
集群的類型
集群分為兩種類型:負(fù)載平衡和失效轉(zhuǎn)移(Failover)。負(fù)載平衡集群將負(fù)載分散到集群內(nèi)的各個(gè)資源,這要涉及跨越多個(gè)前端服務(wù)器的分布式網(wǎng)絡(luò)傳輸。負(fù)載平衡集群令每個(gè)可用的服務(wù)器都擁有較為平均的負(fù)載量,以提高系統(tǒng)整體的性能和伸縮能力。這類集群一般用于Web和COM+程序,集群內(nèi)部支持兩個(gè)以上的節(jié)點(diǎn)。
Failover集群主要針對(duì)硬件和軟件故障時(shí)的系統(tǒng)可用性。它監(jiān)視系統(tǒng)資源,以確定何時(shí)啟動(dòng)失效轉(zhuǎn)移。當(dāng)系統(tǒng)發(fā)生故障時(shí),集群會(huì)將資源從故障服務(wù)器轉(zhuǎn)移到集群中的其他服務(wù)器,以恢復(fù)資源的可訪問(wèn)性。
一個(gè)具有容錯(cuò)能力的failover集群需要大量的硬件和專用軟件,確定應(yīng)用狀態(tài),它可以在硬件和軟件發(fā)生故障時(shí)進(jìn)行實(shí)時(shí)故障恢復(fù),包括恢復(fù)到當(dāng)前的應(yīng)用狀態(tài)。一個(gè)高可用性的集群必定是一個(gè)具有容錯(cuò)能力的集群,但它不一定能提供和failover集群同樣的錯(cuò)誤恢復(fù)能力。
Microsoft的Cluster Service (MSCS)是一種比容錯(cuò)集群更好的高可用性集群。它和專用的容錯(cuò)集群相比,所需硬件更少,但可以操作更多種類的應(yīng)用。同時(shí),它也可以對(duì)硬件和軟件的故障進(jìn)行恢復(fù),但發(fā)生故障時(shí)無(wú)法正常恢復(fù)到應(yīng)用狀態(tài)則。高可用性的MSCS可以在一個(gè)集群內(nèi)支持兩個(gè)服務(wù)器節(jié)點(diǎn)。
基本的軟硬件組件
集群中的服務(wù)器節(jié)點(diǎn)都采用各自獨(dú)立的硬件設(shè)備,相互間協(xié)同工作。每個(gè)服務(wù)器有自己的操作系統(tǒng),并獨(dú)立連接在網(wǎng)絡(luò)上。服務(wù)器間采用外部硬盤和專用網(wǎng)絡(luò)連接。共享硬盤通過(guò)硬盤控制器與各個(gè)節(jié)點(diǎn)相連,這種硬盤控制器一般采用外置SCSI設(shè)備或存儲(chǔ)局域網(wǎng)(SAN)作為共享硬盤,不同于包含操作系統(tǒng)的硬盤控制器。
MSCS解決方案可以采用主動(dòng)/被動(dòng)模式工作。在同一時(shí)間集群中只有一個(gè)節(jié)點(diǎn)是主動(dòng)的,主動(dòng)服務(wù)器存儲(chǔ)著集群內(nèi)的全部資源,并不斷將數(shù)據(jù)寫入共享硬盤,這就是所謂的quorum驅(qū)動(dòng)器。它可以在故障恢復(fù)時(shí),將共享狀態(tài)信息從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移到另一個(gè)節(jié)點(diǎn)。定時(shí)的發(fā)送信號(hào)會(huì)通過(guò)服務(wù)器間的專用網(wǎng)傳遞,當(dāng)處于被動(dòng)模式的服務(wù)器沒(méi)有受到這個(gè)信號(hào),就認(rèn)為主動(dòng)服務(wù)器已經(jīng)失效。此時(shí),它便開(kāi)始接管集群資源,并從quorum分區(qū)上讀取狀態(tài)信息。
在集群中安裝 SQL Server
為了在集群上安裝 SQL Server ,你必須首先按以下步驟建立一個(gè)可操作的集群:
1. 在每個(gè)服務(wù)器上安裝支持MSCS的Windows Server操作系統(tǒng)。
2. 為每個(gè)服務(wù)器建立一個(gè)"公開(kāi)的"網(wǎng)絡(luò)連接。這個(gè)連接用來(lái)接收外部查詢請(qǐng)求。
3. 在集群的兩個(gè)節(jié)點(diǎn)間建立一個(gè)專用網(wǎng)絡(luò),用來(lái)傳輸節(jié)點(diǎn)狀態(tài)信號(hào)。
4. 在域中建立一個(gè)用戶,用來(lái)操作集群。在每個(gè)服務(wù)器上將該用戶添加到管理員組。
5. 將兩個(gè)服務(wù)器關(guān)閉。連接到共享驅(qū)動(dòng)器上,并建立磁盤資源。開(kāi)啟集群中的一號(hào)節(jié)點(diǎn)(主動(dòng)模式)。建立并初始化邏輯磁盤空間用來(lái)設(shè)置quorum驅(qū)動(dòng)器,并建立其它的邏輯分區(qū)。
6. 通過(guò)控制面板的添加/刪除程序中的Windows組件添加并配置Microsoft Cluster Service。其中包括設(shè)置集群的虛擬名稱、IP地址,以及共享磁盤資源。
7. 開(kāi)啟二號(hào)節(jié)點(diǎn)(被動(dòng)模式)。當(dāng)二號(hào)節(jié)點(diǎn)在線時(shí),回到一號(hào)節(jié)點(diǎn),通過(guò)集群管理程序添加二號(hào)節(jié)點(diǎn)。在集群中添加二號(hào)節(jié)點(diǎn)非常容易,只要通過(guò)在一號(hào)節(jié)點(diǎn)進(jìn)行簡(jiǎn)單配置就可以完成。
集群建立好后,就按照以下步驟安裝SQL Server了:
1. 插入SQL Server企業(yè)版的安裝光盤。如果沒(méi)有啟動(dòng)自動(dòng)安裝程序,就在光盤上點(diǎn)擊setup.exe。
2. 在確認(rèn)計(jì)算機(jī)名界面,選擇虛擬服務(wù)器并輸入一個(gè)虛擬名稱。
3. 建立一個(gè)運(yùn)行SQL Server的服務(wù)賬號(hào)。將集群中每個(gè)節(jié)點(diǎn)的管理權(quán)限賦給這個(gè)賬號(hào)。
4. 填寫IP地址、服務(wù)賬號(hào),以及共享磁盤資源等內(nèi)容。
安裝程序會(huì)在集群中的每個(gè)節(jié)點(diǎn)上安裝SQL Server的復(fù)本,并在集群中建立虛擬設(shè)置。之后用戶就可以通過(guò)集群管理器對(duì)SQL Server進(jìn)行控制了。