集羣的存在乎義是爲了保證高可用、數據安全、擴展性以及負載均衡。html
由二臺或更多物理上獨立的服務器共同組成的"虛擬"服務器稱之爲集羣服務器。一項稱作MicroSoft集羣服務(MSCS)的微軟服務可對集羣服務器進 行管理。一個SQL Server集羣是由二臺或更多運行SQL Server的服務器(節點)組成的虛擬服務器。若是集羣中的一個節點發生故障,集羣中的另外一個節點就承擔這個故障節點的責任。認爲一個 SQL Server集羣可以給集羣中的兩個節點帶來負載平衡,這是一種常見的誤解。雖然這彷佛頗有用,但倒是不正確的。這也意味着SQL Server集羣不能真正提升性能,只能提供故障轉移功能。故障轉移就是當系統中的一臺機器發生故障失去其功能時,另外一臺機器將接手運行它的SQL Server實例。這種功能失效多是因爲硬件故障、服務故障、人工故障或各類其它緣由。node
對於在SQL Server 2008\2008R2下安裝SQLServer 實例的集羣彷佛有愈來愈多的問題。與2005相比安裝方法要求每一個節點都被獨立執行。下面我咱們一塊兒看一下如何實現集羣的部署。數據庫
本篇針對Share-Disk架構的集羣進行介紹,爲了更好展示,咱們假定一下幾個場景(http://www.it165.net/admin/html/201403/2499.html--配置步驟):安全
有3臺計算機做爲節點,分別叫作NodeA, NodeB 和NodeC ,IP地址以下。服務器
三個節點是Windows集羣SQLFAILSET01 (虛擬IP地址是10.10.10.20)的成員。在安裝集羣應用程序以前須要安裝和配置這個基於Windows 集羣的平臺包括虛擬網絡和IP。三個節點有獨立的硬件(處理器,內存,NIC等等)和軟件(操做系統)。安裝兩個新的SQLServer集羣實例,使用惟 一的虛擬網絡名稱和實例名稱。兩個虛擬網絡名稱和虛擬IP地址以下:網絡
實例名:架構
爲了實現集羣按照如下文檔部署(配置步驟請參考鏈接或者其餘文獻):負載均衡
若是你沒有這樣作,則須要將集羣磁盤資源R、S和T故障轉移部署到NodeA,一樣也會安裝軟件組件和數據庫到這些驅動器上。從在NodeA開啓 SQLServer2008的安裝開始,選擇"New SQL Server failover cluster installation"。而後安裝相關的基礎選項配置以及許可。來到實例配置啓動的安裝部分。性能
從功能列表中選擇你想去安裝的項目。下一個屏幕就是你說提供的實例配置,由實例名稱和虛擬網絡名稱組成。對於NodeA使用以下配置:操作系統
network name - SQLCLUST01
instance name - INST1
在下一個屏幕詳細展現集羣資源組和共享磁盤資源(分配給新實例的)。對於NodeA以下配置:
SQL Server data - R:
SQL Server logs - S:
SQL Server backups - T:
一旦這些信息被提交,系統將提示網絡配置將使用以前選擇的虛擬IP地址。剩下的安裝明細包括了集羣的安全策略,服務配置(服務帳戶明細)和數據庫引擎配置 (包括帳戶配置、文件流設置和數據目錄)。在數據目錄的標籤下,展現你選擇的以前提供的驅動盤符--「驅動\目錄」 結構。繼續安裝,只要安裝成功你就會擁有第一個集羣實例在NodeA上。
接下來是NodeB,須要將故障轉移集羣磁盤資源L,M和N部署到NodeB上準備安裝。
如今在NodeB上開啓SQLServer2008的安裝而且再次點擊"New SQL Server failover cluster installation"。根據以前的步驟安裝,用網絡名SQLCLUST02替換以前的,實例名稱爲INST2,邏輯磁盤驅動器爲L(數據),M(日 志)和N(備份)。
此刻,咱們已經有了兩個故障轉移實例,分別部署到了NodeA和NodeB上。兩個實例使用徹底不一樣的磁盤驅動器和盤符,不一樣的Windows2008程序組和獨立的虛擬網絡名稱,實例名稱和虛擬IP地址。激活節點的信息以下:
可是,目前對於每一個實例都沒有能夠利用的故障轉移服務器,如今來解決這個問題。爲了讓NodeC做爲每一個實例的轉移節點,須要在NodeC上屢次安裝SQLServer實例。
首先在C上開啓2008的安裝,而且選擇"Add node to a SQL Server failover cluster"。安裝程序將完成多個選擇和提示等關鍵信息。以後,安裝將提示集羣節點配置。在這裏選擇你但願加入的SQLServer實例 (SQLCLUST01\INST1)。繼續完成安裝,就有了NodeC做爲SQLCLUST01\INST1的故障轉移「搭檔」。
接下來,第二次安裝SQLServer 2008在NodeC上,選擇"Add node to a SQL Server failover cluster"。再一次按照如上步驟,再一次按提示配置集羣節點。選擇(SQLCLUST02\INST2) 做爲集羣實例而且按照安裝步驟完成。這是NodeC就成爲了SQLCLUST02\INST2的故障轉移「搭檔」。
下面就是安裝中心的截圖以及選擇的選項:
下面的截圖展現的是安裝定義加入實例的地方:
如上所示,安裝已經完畢,整個流程更加易於管理。固然利用新的氣流特性和集成服務包或累積更新來減小能夠減小部署新SQL服務器實例的時間。這裏就不展開講了。
本篇只是簡單介紹了最簡單的故障轉移集羣如何搭建。集羣有不少種形式如本篇這種共享磁盤模式的數據庫集羣,以及實現負載均衡的集羣等等,可是正如文章一開 始我提到的SQL Server集羣不能真正提升性能。業務的應用場景各有不一樣仍是須要不斷地配置升級來完成匹配適應的集羣。