SQL Server集群設(shè)計(jì)概述
以下的文章主要是對(duì)SQL Server集群設(shè)計(jì)的描述,在實(shí)際操作中有很多組織機(jī)構(gòu)會(huì)慢慢的在不同的相關(guān)服務(wù)器與相關(guān)地點(diǎn)部署SQL Server數(shù)據(jù)庫即,各種應(yīng)用和目的,開始考慮通過SQL Server集群的方式來合并。
將SQL Server實(shí)例和數(shù)據(jù)庫合并到一個(gè)中心的地點(diǎn)可以減低成本,尤其是維護(hù)和軟硬件許可證。此外,在合并之后,可以減低所需機(jī)器的數(shù)量,這些機(jī)器就可以用于備用。
當(dāng)尋找一個(gè)備用,比如高可用性的環(huán)境,企業(yè)常常決定部署Microsoft的集群架構(gòu)。我常常被問到小的集群(由較少的節(jié)點(diǎn)組成)SQL Server實(shí)例和作為中心解決方案的大的集群哪一種更好。在我們比較了這兩個(gè)集群架構(gòu)之后,我讓你們自己做決定。
什么是Microsoft集群服務(wù)器
MSCS是一個(gè)Windows Server企業(yè)版中的內(nèi)建功能。這個(gè)軟件支持兩個(gè)或者更多服務(wù)器節(jié)點(diǎn)連接起來形成一個(gè)“集群”,來獲得更高的可用性和對(duì)數(shù)據(jù)和應(yīng)用更簡(jiǎn)便的管理。MSCS可以自動(dòng)的檢查到服務(wù)器或者應(yīng)用的失效,并從中恢復(fù)。你也可以使用它來(手動(dòng))移動(dòng)服務(wù)器之間的負(fù)載來平衡利用率,以及無需停機(jī)時(shí)間來調(diào)度計(jì)劃中的維護(hù)任務(wù)。
這種SQL Server集群設(shè)計(jì)使用軟件“心跳”來檢測(cè)應(yīng)用或者服務(wù)器的失效。在服務(wù)器失效的事件中,它會(huì)自動(dòng)將資源(比如磁盤和IP地址)的所有權(quán)從失效的服務(wù)器轉(zhuǎn)移到活動(dòng)的服務(wù)器。注意還有方法可以保持心跳連接的更高的可用性,比如站點(diǎn)全面失效的情況下。
MSCS不要求在客戶計(jì)算機(jī)上安裝任何特殊軟件,因此用戶在災(zāi)難恢復(fù)的經(jīng)歷依賴于客戶-服務(wù)器應(yīng)用中客戶一方的本質(zhì)。客戶的重新連接常常是透明的,因?yàn)镸SCS在相同的IP地址上重啟應(yīng)用、文件共享等等。進(jìn)一步,為了災(zāi)難恢復(fù),集群的節(jié)點(diǎn)可以處于分離的、遙遠(yuǎn)的地點(diǎn)。
在集群服務(wù)器上的SQL Server
SQL Server 2000可以配置為最多4個(gè)節(jié)點(diǎn)的集群,而SQL Server 2005可以配置為最多8個(gè)節(jié)點(diǎn)的集群。當(dāng)一個(gè)SQL Server實(shí)例被配置為集群之后,它的磁盤資源、IP地址和服務(wù)就形成了集群組來實(shí)現(xiàn)災(zāi)難恢復(fù)。
SQL Server 2000允許在一個(gè)集群上安裝16個(gè)實(shí)例。根據(jù)在線幫助,“SQL Server 2005在一個(gè)服務(wù)器或者處理器上可以支持最多50個(gè)SQL Server實(shí)例,”但是,“只能使用25個(gè)硬盤驅(qū)動(dòng)器符,因此如果你需要更多的實(shí)例,那么需要預(yù)先規(guī)劃。”
注意SQL Server實(shí)例的災(zāi)難恢復(fù)階段是指SQL Server服務(wù)開始所需要的時(shí)間,這可能從幾秒鐘到幾分鐘。如果你需要更高的可用性,考慮使用其他的方法,比如log shipping和數(shù)據(jù)庫鏡像。
單個(gè)的大的SQL Server集群還是小的集群
下面是大的、由更多的節(jié)點(diǎn)組成的集群的優(yōu)點(diǎn):
更高的可用新(更多的節(jié)點(diǎn)來災(zāi)難恢復(fù))。
更多的負(fù)載均衡選擇(更多的節(jié)點(diǎn))。
更低廉的維護(hù)成本。
增長(zhǎng)的敏捷性。多達(dá)4個(gè)或者8個(gè)節(jié)點(diǎn),依賴于SQL版本。
增強(qiáng)的管理性和簡(jiǎn)化環(huán)境(需要管理的少了)。
更少的停機(jī)時(shí)間(災(zāi)難恢復(fù)更多的選擇)。
災(zāi)難恢復(fù)性能不受集群中的節(jié)點(diǎn)數(shù)目影響。
下面是單個(gè)大的集群的缺點(diǎn):
集群節(jié)點(diǎn)數(shù)目有限(如果需要第9個(gè)節(jié)點(diǎn)怎么辦)
在集群中SQL實(shí)例數(shù)目有限
沒有對(duì)失效的防護(hù)——如果磁盤陣列失效了,就不會(huì)發(fā)生災(zāi)難恢復(fù)。
使用災(zāi)難恢復(fù)集群,無法在數(shù)據(jù)庫級(jí)別或者數(shù)據(jù)庫對(duì)象級(jí)別,比如表,創(chuàng)建災(zāi)難恢復(fù)集群。
虛擬化和集群
虛擬機(jī)也可以參與到集群中,虛擬和物理機(jī)器可以集群在一起,不會(huì)發(fā)生問題。SQL Server實(shí)例可以在虛擬機(jī)上,但是性能可能會(huì)受用影響,這依賴于實(shí)例所消耗的資源。在虛擬機(jī)上安裝SQL Server實(shí)例之前,你需要進(jìn)行壓力測(cè)試來驗(yàn)證它是否可以承受必要的負(fù)載。
在這種靈活的架構(gòu)中,如果虛擬機(jī)和物理機(jī)器集群在一起,你可以在虛擬機(jī)和物理機(jī)器之間對(duì)SQL Server進(jìn)行負(fù)載均衡。比如,使用虛擬機(jī)上的SQL Server實(shí)例開發(fā)應(yīng)用。然后在你需要對(duì)開發(fā)實(shí)例進(jìn)行壓力測(cè)試的時(shí)候,將它災(zāi)難恢復(fù)到集群中更強(qiáng)的物理機(jī)器上。
集群服務(wù)器可以用于SQL Server的高可用性、災(zāi)難恢復(fù)、可擴(kuò)展性和負(fù)載均衡。單個(gè)更大的、由更多的節(jié)點(diǎn)組成的集群往往比小的、只有少數(shù)節(jié)點(diǎn)的集群更好。大個(gè)集群允許更靈活環(huán)境,為了負(fù)載均衡和維護(hù),實(shí)例可以從一個(gè)節(jié)點(diǎn)移動(dòng)到另外的節(jié)點(diǎn)。
以上的相關(guān)內(nèi)容就是對(duì)SQL Server集群設(shè)計(jì)的介紹,望你能有所收獲。
【編輯推薦】