簡述SQL2008部署多實例集群(學習)


數據庫集群

      集群的存在意義是為了保證高可用、數據安全、擴展性以及負載均衡。

什么是集群?

     由二台或更多物理上獨立的服務器共同組成的"虛擬"服務器稱之為集群服務器。一項稱做MicroSoft集群服務(MSCS)的微軟服務可對集群服務器進 行管理。一個SQL Server集群是由二台或更多運行SQL Server的服務器(節點)組成的虛擬服務器。如果集群中的一個節點發生故障,集群中的另一個節點就承擔這個故障節點的責任。認為一個 SQL Server集群能夠給集群中的兩個節點帶來負載平衡,這是一種常見的誤解。雖然這似乎很有用,但卻是不正確的。這也意味着SQL Server集群不能真正提高性能,只能提供故障轉移功能。故障轉移就是當系統中的一台機器發生故障失去其功能時,另一台機器將接手運行它的SQL Server實例。這種功能失效可能是由於硬件故障、服務故障、人工故障或各種其它原因。

     對於在SQL Server 2008\2008R2下安裝SQLServer 實例的集群似乎有越來越多的問題。與2005相比安裝方法要求每個節點都被獨立執行。下面我我們一起看一下如何實現集群的部署。

部署

    本篇針對Share-Disk架構的集群進行介紹,為了更好展現,我們假定一下幾個場景(http://www.it165.net/admin/html/201403/2499.html--配置步驟):

    有3台計算機作為節點,分別叫做NodeA, NodeB 和NodeC ,IP地址如下。

  • NodeA - IP Address 10.10.10.10
  • NodeB - IP Address 10.10.10.11
  • NodeC - IP Address 10.10.10.12.

    三個節點是Windows集群SQLFAILSET01 (虛擬IP地址是10.10.10.20)的成員。在安裝集群應用程序之前需要安裝和配置這個基於Windows 集群的平台包括虛擬網絡和IP。三個節點有獨立的硬件(處理器,內存,NIC等等)和軟件(操作系統)。安裝兩個新的SQLServer集群實例,使用唯 一的虛擬網絡名稱和實例名稱。兩個虛擬網絡名稱和虛擬IP地址如下:

  • SQLCLUST01 - Virtual IP Address 10.10.10.21
  • SQLCLUST02 - Virtual IP Address 10.10.10.22.

實例名:

  • INST1 (SQLCLUST01)
  • INST2 (SQLCLUST02)

為了實現集群按照以下文檔部署(配置步驟請參考連接或者其他文獻):

  • 虛擬網絡名稱: 與你的計算機在Windows域中的名稱一樣。它一定是唯一並且命名遵循常規的名稱命名限制如字符長度和特殊字符的使用,
  • 虛擬IP地址: 與分配客戶\公共網絡IP一樣。這是一種共享的IP節點,用來接收跟指定實例通信的IP。
  • 共享驅動器: 這些共享存儲是典型的通過光纖通道或者iSCSI連接的邏輯單元。這些邏輯單元對所有的集群幾點公開並且分配唯一的邏輯驅動字符。不要與本地驅動器(通常由物理磁盤直接附加到服務器上)混淆。
  • NIC: 網絡接口卡。

    如果你沒有這樣做,則需要將集群磁盤資源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地址。激活節點的信息如下:

  • SQLCLUST01\INST1 active on NodeA.
  • SQLCLUST02\INST2 active on NodeB.

 

    但是,目前對於每個實例都沒有可以利用的故障轉移服務器,現在來解決這個問題。為了讓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集群不能真正提高性能。業務的應用場景各有不同還是需要不斷地配置升級來完成匹配適應的集群。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM