2011年7月14日 星期四

SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part I

        在以往安裝叢集環境都需要相關的硬體環境才能進行安裝,所以讓很多人只能望而止步,但是隨著虛擬機器(VM)的興起,所以可以透過Hyper-V模擬出多電腦的環境,但是儲存裝置仍然是一個問題,所以本篇特別介紹透過Windows Storage Server (WSS)模擬出SAN Storage的架構,讓你只要一台記憶體多一點(建議4G以上)的電腦,就可以模擬出一個叢集的環境。

相關文章:
  1. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part I
  2. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part II
  3. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part III(終)
  4. 容錯移轉叢集中多個節點切換順序的設定
1、環境設定:
  1. 第一台電腦(設定請依照自行的環境調整)
    1. Hostname:CARY-Storage
    2. Operation System:Microsoft Windows Storage Server 2008 Enterprise
    3. Hard Disk * 2 
      • 第一顆為系統安裝磁碟
      • 第二顆為放置共用磁碟 - 此磁碟在後面的設定還會再切割成下列四顆用途
        • 叢集仲裁磁碟 (Quorum Disk),建議最少需1GB
        • 分散式交易調節器(MSDTC) 專用磁碟,建議最少需1GB
        • SQL Server 系統資料庫專用磁碟,建議最少需20GB
        • SQL Server 使用者資料庫專用磁碟,建議最少需20GB
  2. 第二台電腦(設定請依照自行的環境調整)
    1. Hostname:CARY-SQL-NODE
    2. Network Card:
      • Public(對外):10.10.10.168
      • Private(對內 – 只有供叢集進行heartbeat偵測):192.168.1.68
    3. Operation System:Windows 2008 R2 Enterprise
    4. Database:Microsoft SQL Server 2008 R2 Enterprise
  3. 第三台電腦:
    1. Hostname:CARY-SQL-NODE-2
    2. Network Card:
      • Public(對外):10.10.10.169
      • Private(對內 – 只有供叢集進行heartbeat偵測):192.168.1.69
    3. Operation System:Windows 2008 R2 Enterprise
    4. Database:Microsoft SQL Server 2008 R2 Enterprise

2、Hyper-V的設定
在本次的設定中,主要產生三台vm的機器,在設定上皆相同,而建議最好第一台的硬碟空間要設定大一點,因為但是為了兩台資料庫的第二張網卡實際只有對內,而且不影響外部的網路,所以在設定上會略有不同。

2-1 將vm機器產生後,在啟動前,請先進行網卡的設定。


2-2 選擇目前實體的網卡。

2-3 選擇網卡的網路類型,因為本張網卡我只需在vm中進行通訊,所以在這我選擇 [Private]


2-4 定義此張網卡的名稱與選擇網路的連結類型

2-5 完成上述的程序後,你就可以到你的網路卡介面中再新增一張內部專用的網卡,名稱選擇上一個程序中設定的名稱即可。

3、第一台電腦的設定
第一台電腦主要負責叢集架構中的共用磁碟的部份,由於沒有多餘的錢來買硬體設定,所以我就透過Windows Storage Server來進行模擬與管理,此套軟體主要用來進行儲存裝置的管理,大部份是與硬體合併販售並內嵌至硬體設備中,基本上不對外販賣,但你可以透過線上申請的方式進行軟體的試用。



下載完成後,裡面還有包含一個 iSCSI Target 的工具,這個軟體主要用來控制儲存設備,讓一般的 iSCSI 可以變成 SAN 的架構,而連接端(第二、三台的電腦)只要安裝 iSCSI Initiator 即可,因為 Windows 2008 R2 已有內建,所以不需額外安裝,所以請先安裝iSCSI,檔案中有分成x64與x86環境,請依照你自已的環境設定。



詳細的iSCSI Target觀念與說明,可以參考下列的網址說明:

3-1 安裝完成Windows Storage Server之後就會馬上要求你輸入帳號與密碼,但是安裝的過程中並沒有任何輸入密碼的地方,所以在這只需要輸入 wSS2008! 即可。


3-2 登入之後可以開始來進行 iSCSI Target 與 iSCSI Initiator 的設定,所以我們在第一台電腦上先啟動 iSCSI Target。


3-3 選擇建立一個新的 iSCSI Target。

3-4 將此Target設定一個名稱。

3-5 在這裡需要設定有那些電腦可以存取到此共用磁碟,由於在此需輸入IQN的名稱,所以需要先至用戶端先設定連線到此台電腦,這樣在點選 [Browse]的時候就可以直接選擇加入即可。

3-6 由於 iSCSI Target 與 Initiator 需透過網路來通訊,所以在防火牆上需要先行設定。








3-7 切換到第二台電腦,然後選擇 [iSCSI 啟動器]


3-8 由於預設 iSCSI 服務並不會自動執行,所以第一次會問你是否要設定為自動啟動,請選擇 [是]。

3-9 輸入第一台電腦的IP,然後點選快速連線。

3-10 如果連線正常的話,你會看到顯示出 - 沒有使用 [快速連線] 可登入的目標,而第三台的作法也是相同,再請自行執行。

3-11 再切換到第一台電腦,然後選擇 [Browse]。

3-12 再選擇 [Browse]。

3-13 這時你就可以從下列的表格中找到剛剛第二台與第三台的IQN。

3-14 如果你要一次將第二台與第三台加入時,可以在3-11的步驟中選擇 [Advanced] 即可一次將兩台電腦加入。


3-15 加入IQN之後,再選擇下一步就完成了。

3-16 完成上述的 iSCSI Target 的建立之後,再來就是建立虛擬磁碟 (共用磁碟) 的動作,請在剛剛建立的 iSCSI Target上選擇 [Create Virtual Disk for iSCSI Target]。

3-17 請選擇你這個虛擬磁碟放置的位置,請統一放置在第二顆磁碟上。

3-18 設定磁碟的容量,請參考我們最下方的設定,由於這是第一顆 (叢集仲裁磁碟),所以請先輸入1024。
  • 叢集仲裁磁碟 (Quorum Disk),建議最少需1GB
  • 分散式交易調節器(MSDTC) 專用磁碟,建議最少需1GB
  • SQL Server 系統資料庫專用磁碟,建議最少需20GB
  • SQL Server 使用者資料庫專用磁碟,建議最少需20GB

3-19 輸入此虛擬磁碟的描述,可以不輸入,再選擇下一步即算完成。

3-20 請重覆3-16 ~ 3-19的步驟,分別建立四顆磁碟,如下表,這樣磁碟的設定就算大功告功。

4 第二台與第三台(SQL Node)設定
在此第二台的設定與第三台的設定皆相同,而我會以第二台的設定為主介紹,第三台再請依此類推。

4-1 切換到第二台電腦,然後再一次輸入第一台電腦的IP,然後選擇快速連線,此時在下方就可以看到已連線成功的訊息。

4-2 設定完成 [iSCSI 啟動器] 後,開啟 [伺服器管理員] -> [存放] -> [磁碟管理]你就可以看到剛剛加入的四顆叢集磁碟已經加入了,但由於尚未初使化,所以接下來我們就來進行磁碟設定的動作。

4-3 由於我們有四顆磁碟要設定,所以我們先以第一顆為範例,然後再逐一設定,先點選磁碟1,然後按滑鼠右鍵,選擇 [連線]。

4-4 然後再點選 [初使化磁碟]。

4-5 此時分割樣式選擇 [MBR (主開機記錄)]。

4-6 同樣地再選擇磁碟1,然後在右邊區塊的地方點選滑鼠右鍵,選擇 [新增簡單磁碟區]。

4-7 輸入此磁碟的空間大小(MB)。

4-8 選擇此磁碟機的代號,由於第一顆是仲裁磁碟,所以建議你選擇代號為 Q。

4-9 選擇磁碟分割格式化的選擇,此區可使用預設值即可,而磁碟區標籤建議可以依照我們的規畫,輸入標籤的名稱。

4-10 當你將所有的磁碟設定完成後,如下表所示,如此就代表你已完成磁碟的設定。

由於篇幅的關係,先介紹到這,後續我會再分成兩篇介紹如何進行SQL Server Failover Cluster的安裝,再請多多支持。

相關文章:
  1. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part I
  2. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part II
  3. SQL Server 2008 R2 容錯移轉叢集環境架設 - 利用 VM 與 Windows Storage Server - Part III(終)
  4. 容錯移轉叢集中多個節點切換順序的設定

關鍵字:SQL ServerHyper-VHigh AvailableClusterFailover容錯移轉叢集

8 則留言:

  1. 您好。
    看到您的文章,對於創建SQL 2008 R2的Cluster技術非常有用,十分感謝。我現在正在實作加上RBS的部份。第一種是容錯叢集,把RBS加入到共用磁碟(iSCSI),另一種是鏡像,SQL DB和RBS都分開儲存,但目前尚不知道是否可行。微軟說目前鏡像不支援RBS。

    回覆刪除
  2. 基本上SQL Server的Mirror是不支援RBS與FileStream,但是其他的HA架構皆可,但其實RBS我也沒試過,所以如果你有架設的話,再請你分享一下,我也找個時間來試看看好了。

    Reference:http://msdn.microsoft.com/en-us/library/bb895334.aspx

    回覆刪除
  3. 請教:
    如果我的電腦上的處理器與Hyper-V不相容,也就是伺服器角色無法加入Hyper-V的選項,請教有什麼替代方式?
    感恩

    回覆刪除
    回覆
    1. 基本上Hyper-V主要還是依附在processor virtualization extensions (Intel-VT and AMD-V)的此功能上,所以你是啟用後仍無法加入Hyper-V的選項嗎?你可以看一下啟動後會事件記錄中是否有錯誤,或是透過下列的文章進行檢查與確認,也歡迎你將錯誤訊息貼給我一同討論,謝謝。

      Inter檢查工具:
      Intel® Processor Identification Utility
      http://www.intel.com/support/processors/tools/piu/

      AMD檢查工具:
      AMD Virtualization™ Technology and Microsoft® Hyper-V™ System Compatibility Check Utility
      http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_871_9033,00.html

      參考文章:
      http://blogs.msdn.com/b/taylorb/archive/2008/06/19/hyper-v-will-my-computer-run-hyper-v-detecting-intel-vt-and-amd-v.aspx

      刪除
  4. 您好,請教,
    我的角色為客戶,我們的廠商幫我們建置sql HA,系統(win 2008/sql 2008)已在使用,但是因磁碟空間不夠,要再擴充storage的硬碟,這時才發現當初建置HA時,它硬碟分割樣式為MBR,非GPT,致無法使用2TB以上空間,我這磁碟有mssql10_50.MSSQLSERVER的資料匣,有什麼方法可以保留資料,又可以使用超過2TB空間,而HA也正常運作?因為磁碟樣式重分割有很大的風險...我怕系統掛了

    回覆刪除
    回覆
    1. 你可以嘗試將新的Disk格式化成GPT後,再將此Disk掛上Cluster,然後再將資料移到此新的disk上,這個方法或許會比較保險一點,你可以參考看看,或是你有其他的想法或考量,歡迎提出一同討論。

      刪除
  5. 我想詢問,我AD是要用在第一台把第二跟第三台加入此網域嗎?

    回覆刪除
    回覆
    1. 是的,基本上Cluster上的節點都會先加入網域內。

      刪除