標籤:格式化 快速 節點 準備 use 共用 格式化磁碟 completed 實現
需要說明的是我們搭建的SQL Server容錯移轉叢集(SQL Server Failover Cluster)是可用性設定組群,而不是負載平衡叢集,其目的是為了保證服務的連續性和可用性,而不是為了提高服務的效能。
SQL Server始終在負載平衡叢集方面都缺少自己的產品,多由第三方廠家提供,但SQL Server容錯移轉叢集卻由來已久,在SQL Server 2012還提供了一個可用性群組(AlwaysOn High Availability Groups)的新特性,我們知道微軟的容錯移轉叢集(Windows Server Failover Clustering , WSFC)一般需要共用儲存,SQL Server容錯移轉叢集也是建立在WSFC的基礎之上,可用性群組卻可以不依賴於共用儲存實現SQL Server的容錯移轉,這為沒有共用預存環境提供了一個實現SQL Server高可用的解決方案,關於AlwaysOn特性可以參閱相關文檔,這裡我們實現的是仍是基於共用儲存的包含兩個節點的SQL Server容錯移轉叢集。
一、搭建Windows容錯移轉叢集(WSFC)
SQL Server容錯移轉叢集是基於WSFC的,因而我們需要事先在兩個節點中搭建一個WSFC,這裡需WSFC僅是一個容器,可以放置多個角色以實現這些角色的容錯移轉。為搭建一個WSFC,除了需要域環境,還需要在節點,儲存,網路等方面做準備。
Cluster
1、在各節點中添加Failover Clustering伺服器功能。
image
2、確保各節點作業系統的更新一致,新安裝的系統要麼更新到最新,要麼暫不更新。
3、在各節點中組態管理網路和心跳網路,雖然一個可用網路既可以搭建叢集,但是最佳實務還是分開。
4、在各節點中配置共用儲存磁碟,初始化並格式化磁碟,分配盤符。這裡的共用儲存磁碟可以是基於IP SAN和FC SAN的磁碟,也可以是基於檔案伺服器的虛擬磁碟,具體可以參考Windows Server 2012 虛擬化測試:儲存。在節點中可見磁碟如下:
image
為搭建SQL Server容錯移轉叢集,至少需要準備兩塊共用磁碟:叢集見證磁碟Q、為儲存SQL Server資料庫和記錄檔準備的叢集磁碟S。另外我們需要為SQL Server的叢集執行個體配置分散式交易協調器(Distributed Transaction Coordinator, DTC),因而需要為DTC準備磁碟M。微軟建議將SQL Server各類檔案分開儲存,最佳實務需準備兩塊以上共用磁碟,分別儲存User Database、Backup和User Database Log檔案,這就至少需要另一個叢集磁碟L。綜上我們對儲存做如下配置: ?叢集見證磁碟Q ?DTC磁碟M ?SQL Server程式:本地磁碟C ?User Database檔案:叢集磁碟S ?User Database Log檔案:叢集磁碟L ?TempDB檔案:本地磁碟D,SQL Server 2012支援將Temp DB檔案可以放在本地快速磁碟中。 ?Backup檔案:叢集磁碟S
另外值得一提的是到SQL Server 2014才提供了對叢集共用卷的支援,因而這裡只能使用叢集磁碟。
5、使用Failover Cluster Manager驗證並建立叢集。完成後的叢集磁碟視圖如下:
image
二、安裝SQL Server容錯移轉叢集
Windows容錯移轉叢集(WSFC)搭建成功後即完成了SQL Server容錯移轉叢集的基礎,接下來我們繼續完成SQL Server部分。先在一個節點上安裝SQL Server Failover Cluster,然後再另一個節點安裝加入叢集節點。
image
SQL Server叢集部分,先通過驗證,這裡的警告主要是搭建Windows容錯移轉叢集存在警告的警告,升級警告以及防火牆警告,可以繼續。
image
選擇Database Engine Services和管理組件,注意這裡只有Database Engine Services和Analysis Services支援叢集,其他服務都不支援。其他組件如需要也可以隨後再添加,但是添加其他組建時選擇Add features to an existing installation,然後選擇Perfom a new installation of SQL Server 2012,而不是Add features to an existing instance of SQL Server 2012,否則最後會出現Existing clustered or cluster-prepared instance的錯誤,具體參考Installing SQL Integration Services after SQL Cluster Setup has Completed。
image
配置一個網路名稱,類似於電腦名稱,今後將通過該名稱訪問資料庫執行個體。
image
三、配置DTC和SQL Server 叢集
分散式交易協調器(Distributed Transaction Coordinator, DTC)在Windows中是預設安裝並啟動並執行服務。DTC的主要目的是為了實現分散式交易,確保跨進程通訊的一致性,這裡的進程可以是同一電腦中的兩個進程,也可以是不同電腦中的進程。因而在微軟的世界裡,常常看到DTC的身影。
如果只是獨立安裝SQL Server資料庫引擎則無需配置DTC。但是在同時運行SQL Serve整合服務(SQL Server Integration Services, SSIS)或者搭建SQL Sever容錯移轉叢集等需要分散式交易的情境中,則需要配置DTC。不配置DTC並不影響SQL Server叢集的安裝,但是DTC沒能正確配置,SQL Server叢集的功能將受到影響。
Windows Server 2008及以後版本在一個Windows叢集中可以有多個DTC執行個體,這些DTC執行個體可以是叢集執行個體也可以是本地執行個體(這裡“執行個體”概念的類似於SQL Server資料庫引擎執行個體,是作為作業系統服務啟動並執行,是同一個可執行程式的副本,在Windows叢集中啟動並執行各類服務都是以執行個體的形式存在,這些執行個體依賴Windows叢集實現容錯移轉),甚至可以為SQL Server叢集中每個SQL Server執行個體配置一個專屬的DTC執行個體。SQL Server叢集執行個體按照如下的是順序選擇DTC執行個體:
?使用SQL Server執行個體專屬的DTC執行個體,該DTC執行個體作為SQL Server執行個體以來的資源,如果DTC執行個體失敗,將造成SQL Server執行個體的失敗。SQL Server 2008及以後版本才有此項。
?使用映射給SQL Server執行個體的DTC執行個體,使用命令msdtc可以為SQL Server執行個體映射DTC執行個體。
?使用預設的DTC叢集執行個體,SQL Server 2008及以後版本可以在Windows叢集中建立多個DTC執行個體,第一個建立的DTC執行個體為預設執行個體,DTC叢集執行個體並未指定給SQL Server執行個體專用,因而其他應用程式也可以使用該執行個體。
?使用安裝在本機電腦上DTC執行個體。
由於SQL Server叢集執行個體做出選擇之後是不會自動重新選擇的,比如SQL Server叢集執行個體選擇了專屬的DTC執行個體,即使該執行個體失敗,也不會更換下一個可用的DTC執行個體,除非手動刪除專屬的DTC執行個體,因而微軟建議在SQL Server 2008及以後版本要麼為SQL Server叢集中的每個SQL Server執行個體建立專屬的DTC執行個體,要麼就不要在SQL Server叢集中建立任何DTC執行個體(這裡的DTC執行個體都是叢集執行個體,即可以實現DTC容錯移轉),這時SQL Server叢集執行個體會選擇執行個體所在節點的本地DTC執行個體。關於DTC的更多資訊,可以查閱這裡。當然這裡我們不會什麼也不做,下面我們將為SQL Server執行個體配置專屬的DTC執行個體。
本篇文章來源於 Linux公社網站(www.linuxidc.com) 原文連結:http://www.linuxidc.com/Linux/2015-01/112166.htm
在Windows Server 2012 R2中搭建SQL Server 2012容錯移轉叢集