Date: 22 1 月, 2018
在本系列的第1部分中,我向您展示瞭如何準備多站點群集,包括設置節點和文件共享多數法定人數。在第2部分中,我們看到了一個視頻示例,介紹如何集成SteelEye DataKeeper(可用的群集複製解決方案之一)和故障轉移群集來配置多站點Hyper-V故障轉移群集。在第3部分中,我們將研究如何在具有Windows Server 2008故障轉移群集和SteelEye DataKeeper群集版的多站點群集中配置Microsoft SQL Server 2008。
首先,為什麼要部署一個多站點SQL服務器群集?SQL Server附帶了各種高可用性選項,包括日誌傳送,複製(事務性,合併,快照),數據庫鏡像和故障轉移群集。有一篇很好的文章談到了SQL Server 2008中的高可用性選項,所以我不會在這裡重新發明輪子。如果您想了解更多有關所有選項的信息,請參閱Ross Mistry的SQL Server 2008中的高可用性選項。如果你閱讀這篇文章,羅斯的總結如下:
“顯然,故障轉移群集是減少系統停機時間並為站點內整個SQL Server實例提供更高應用程序可用性的最佳選擇;但是,故障轉移群集不能防止磁盤故障,並需要SAN。“
如果你能擁有羅斯概述的所有好處,並且可以防止磁盤故障,並消除對SAN的需求呢?那麼好消息是,在Windows Server 2008上實現Microsoft SQL Server 2008多站點群集就可以做到這一點。SQL Server 2008多站點群集可能有點用詞不當。不一定需要跨地理位置分散部署。這些服務器可以位於同一個機架,同一個房間,同一座建築物或各大洲;這真的沒關係。重要的是,您將存儲作為一個單一的故障點,如果您選擇將您的群集節點定位在不同的物理位置,那麼您也具有內置的恢復能力。有關SQL Server 2008和Windows Server 2008故障轉移群集的最常見問題和混淆之處之一是支持跨子網故障。是的,Windows Server 2008故障轉移群集確實支持大多數應用程序的子網之間的故障,但是,SQL Server 2008不是這些應用程序之一。據我所知,SQL Server 2008 R2在發佈時也不支持在子網之間失敗。我的理解是,SQL團隊正在為跨子網故障轉移提供支持,但在SQL Server 2008 R2發布後的某個時間將會得到支持。所以,目前,如果你想在地理上分離你的節點,你將不得不跨越你的子網。現在您已經決定部署一個多節點SQL服務器集群,下面是您需要遵循的步驟。
配置基本的群集
按照本系列第1部分中的步驟配置具有節點和文件共享多數法定人數的基本雙節點群集。
配置您的複制
部署多站點群集將需要您在配置的這一部分期間與復制供應商密切合作。每個供應商都將對如何設置複製以及如何創建要在群集中使用的存儲資源有非常具體的說明。為了演示的目的,我將使用SteelEye DataKeeper Cluster Edition將E驅動器從名為PRIMARY的服務器複製到名為SECONDARY的服務器。PRIMARY和SECONDARY上的E驅動器只是本地連接的捲,而不是任何SAN的一部分。只要E驅動器顯示為本地連接磁盤,DataKeeper就可以將其從一台服務器複製到另一台服務器。您可以混合使用SAS,iSCSI,SAN,VHD或任何其他存儲類型,因為DataKeeper與存儲無關。按照我的系列的第1部分中所述配置完基本集群之後,運行DataKeeper setup.exe以在集群的兩個節點上安裝SteelEye DataKeeper Cluster Edition。系統會提示您在安裝結束時輸入您的許可證密鑰。輸入您的許可證,並在系統提示時重啟服務 你現在準備創建你的鏡子。啟動DataKeeper GUI並按照以下說明創建鏡像。點擊“連接到服務器”。
輸入第一台服務器的名稱。點擊連接。
輸入第二台服務器的名稱,點擊連接
現在點擊創建作業。這將啟動“創建作業”嚮導。
給你的工作一個名字和描述。這些可以是你喜歡的任何東西。
選擇以下內容:
- 源服務器 – 數據將從哪裡複製
- 網絡適配器 – 複製流量將傳輸的網絡
- 音量 – 您要復制的音量
單擊下一步繼續。
選擇以下內容:
- 目標服務器 – 數據將被複製到的位置
- 網絡適配器 – 複製流量將傳輸的網絡
- 音量 – 您要復制的音量
單擊下一步繼續。
選擇以下內容:
- 壓縮級別 – 如果您有100 Mbps或更快的複製網絡,請將其設置為無。如果您的WAN的速率低於100 Mbps,則可以從啟用壓縮功能中受益。在中間某個地方的設置往往會給你最好的壓縮性能vs. 與啟用壓縮相關的CPU開銷。
- 異步與 同步 – 異步複製在大多數環境中通常是可以接受的,並且在高延遲的廣域網環境中是絕對需要的。我寫了一個關於這個主題的完整的博客文章,所以如果你有任何問題,看看我的文章在異步vs. 同步複製。
- 最大的帶寬 – 你可以把這看作是一個“窮人的”QOS。如果要確保複製永遠不會超過WAN容量的某個閾值,那麼可以將限制器放在可以消耗的帶寬量上。除非你有足夠的理由來設置它,否則最好將其設置為0。
點擊完成創建鏡像。
現在,如果你看看你的DataKeeper GUI,它將看起來如下所示。
一旦創建了鏡像,就需要在Microsoft群集“可用存儲”中提供鏡像。有幾種方法可以做到這一點,但最直接的方法是使用Windows PowerShell CLI。下面是一個例子,展示瞭如何把我們剛才在E驅動器上創建的現有鏡像添加到集群“可用存儲”中,將其移動到PRIMARY節點並使其處於服務狀態
導入模塊故障轉移群集
Add-ClusterResource -Name“DataKeeper Volume E”-ResourceType“DataKeeper Volume”-Group“Available Storage”
Get-ClusterResource“DataKeeper卷E”| Set-ClusterParameter VolumeLetter E
Move-ClusterGroup“可用存儲” – 節點主節點
啟動 – ClusterResource“DataKeeper卷E”
有關PowerShell的更多信息以及與故障轉移群集一起使用的可用命令,請參閱Microsoft故障轉移群集小組的Symon Perriman中的這篇博文。http://blogs.msdn.com/clustering/archive/2008/12/20/9243367.aspx
您現在要重複上述步驟來添加您將在群集中使用的任何其他鏡像。在我們的例子中,我們將創建一個F驅動器的鏡像,並使用它來對MSDTC進行聚類。在添加了額外的鏡像並將其添加到可用存儲之後,DataKeeper GUI應該看起來像這樣。
而您的故障轉移群集管理器GUI應該如下所示。
集群MSDTC
重要說明 – 為了支持第三方磁盤資源的DTC,需要一個修補程序。請參閱以下知識庫文章並將howfix應用於所有群集節點。http://support.microsoft.com/kb/978476
SQL 2008非常依賴於MSDTC,所以強烈建議您在群集SQL資源之前對MSDTC資源進行群集。以下文章提供您的MSDTC資源的配置和管理參考。http://technet.microsoft.com/en-us/library/cc770748(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc771540(WS.10).aspx
首先打開故障轉移群集管理器GUI,然後選擇“配置服務或應用程序”。
然後,您將選擇“分佈式事務處理協調器”,然後單擊下一步
為MSDTC資源提供一個名稱和唯一的IP地址。這些對於MSDTC應該是唯一的,而不是像以後在創建SQL資源時使用的那樣。
選擇您將為MSDTC資源存儲數據的捲。在我們的情況下,我們正在選擇複製的F驅動器。
確認您的信息,然後點擊下一步繼續。
恭喜,您已經成功配置了DTC資源。點擊完成。
我們即將開始安裝SQL Server集群的第一個節點,但是,在準備工作中需要做一件事 – 將Stream Stream SQL 2008 SP1安裝到SQL Server 2008 RTM安裝介質上。
SLIP STREAM SQL SP1 ONTO您的SQL 2008安裝媒體
我發現,如果沒有首先將SQL Server 2008 SP1安裝到SQL 2008安裝介質上,SQL Server 2008將不會安裝在Windows Server 2008 R2上。以下是一篇很好的文章,介紹瞭如何安裝SQL Server 2008 RTM和Service Pack 1。在閱讀了這篇文章並成功將SP1融入到SQL 2008 RTM之後,我發現了下面的Microsoft知識庫文章,它描述了相同的過程。如果您嘗試在沒有首先安裝SP1的情況下安裝SQL,則可能會看到如下所示的錯誤。將私有屬性“RequireKerberos”設置為值“1”時出錯
我遵循了第一篇文章中的詳細說明,並將我的SQL 2008 SP1安裝複製到群集中兩個節點的C:驅動器上。在下面的說明中,我將從每個群集節點的本地磁盤執行安裝。
安裝您的第一個群集節點
現在您已經準備好SQL Server 2008 SP1安裝介質了,您可以安裝第一個SQL節點了。在多節點集群上安裝SQL時,有一個主要的問題。為了在多節點群集上安裝SQL,必須先通過Windows Server 2008故障轉移群集驗證過程。不幸的是,多站點集群可以免於通過與存儲相關的測試,因此,就SQL而言,您實際上無法真正“通過”驗證。我在這方面進行了一些調查,但是我發現有一個命令行參數允許您跳過對SQL 2008安裝的驗證測試。這是命令行。安裝程序/ SkipRules = Cluster_VerifyForErrors / Action = InstallFailoverCluster
要啟動SQL設置,請打開命令窗口,瀏覽到SQL 2008 SP1安裝目錄,然後鍵入命令,如下所示。
如果一切按計劃進行,您應該看到下面的屏幕。點擊確定繼續。
輸入您的產品密鑰並單擊下一步
接受許可協議,然後單擊下一步
單擊安裝安裝安裝程序支持文件
在支持文件的安裝結束時,您將收到警告。點擊顯示詳情,你會看到下面的消息。您可以單擊“下一步”,忽略此消息,因為這是在多站點或非共享存儲群集中預期的。
選擇您想要安裝的功能,然後單擊下一步。將“Shared Feature”目錄設置為C驅動器,因為SQL二進製文件不應安裝在復製卷上。
在下一個屏幕上,您將為您的SQL Server選擇一個網絡名稱。這將是所有客戶端將連接到的名稱。假設這是默認實例,請將Instance ID和Instance根目錄設置為默認值。不要將實例根目錄移動到復製卷。
建議您有單獨的SQLServer和SQLAgent的域帳戶。如果您尚未這樣做,現在可以花時間創建這些帳戶。這些帳戶不需要特殊的權限,因為這個安裝過程會給予他們所需的權限。
確認您有足夠的磁盤空間,然後單擊下一步繼續。
選擇默認設置以允許創建名為“SQL Server(MSSQLSERVER)”的新群集資源組。
選擇仍然可用的複製卷,在我們的情況下是E:驅動器。單擊下一步繼續。
現在您將選擇您希望與SQL群集資源關聯的IP地址。如果您願意,您可以將其設置為使用DHCP。
選擇您的安全設置並點擊下一步
添加任何SQL Server管理員並選擇您的身份驗證模式,然後單擊下一步
選擇您的錯誤和使用情況報告選項並點擊下一步
您將再次看到與驗證過程相關的一些警告。您可以忽略這些消息,因為它們是在多站點SQL Server群集中預期的。
點擊安裝開始安裝過程
如果一切按預期安裝,您應該看到以下屏幕。點擊下一步然後關閉完成安裝。
恭喜,您已經成功安裝了多站點SQL Server群集的第一個節點。現在我們將安裝集群的第二個節點。
安裝第二個群集節點
安裝第二個群集節點與安裝第一個節點類似。我們需要再次從命令行運行SQL安裝程序,以便我們可以跳過驗證過程。因此,從第二個節點打開命令提示符並運行以下命令。
-
使用以下命令在第二個節點上安裝SQL 2008 SP1(合併設置):
安裝程序/ SkipRules = Cluster_VerifyForErrors / Action = AddNode / INSTANCENAME =“MSSQLSERVER”
*注意:這假定您在第一個節點上安裝了默認實例
這將啟動安裝嚮導,如下所示。點擊確定繼續。
輸入您的產品密鑰並單擊下一步。
接受許可條款,然後單擊下一步
單擊安裝安裝安裝支持文件。
您可以再次忽略某些集群驗證測試已被跳過的警告。這是在多站點群集和非共享存儲群集中預期的。
確認您正在將節點添加到正確的實例,然後單擊下一步。
將密碼添加到服務帳戶,然後單擊下一步
選擇您的錯誤和使用情況報告選項並點擊下一步
再次忽略關於跳過的操作的警告。
點擊安裝開始安裝過程。
如果一切順利,你應該看到下面的屏幕。
既然你有一個功能齊全的雙節點集群,你可能應該通過做一些手動切換來測試。右鍵單擊資源並選擇“移動到節點SECONDARY”。
如果一切配置正確,那麼故障轉移群集GUI應如下所示。
結論
我相信具有復制存儲的SQL集群很有意義。存儲一直是傳統集群的單點故障。通過從SteelEye或任何其他Microsoft多站點群集複製合作夥伴部署具有復制存儲的SQL Server群集,可以消除單點故障。我希望你找到這篇文章資料。如果您有任何問題或建議,請添加您的意見!
轉載https://clusteringformeremortals.com/2009/10/07/step-by-step-configuring-a-2-node-multi-site-cluster-on-windows-server-2008-r2-%E2 %80%93 – 部分 – 3 /