標籤:
容錯移轉叢集(Failover Cluster)可以提供一個高可用性應用程式或服務的網路環境,本章將接受如何搭建iSCSI SAN檔案伺服器容錯移轉叢集。
容錯移轉叢集概述
我們可以將多台伺服器組成一個容錯移轉叢集,這些伺服器會協同工作以提高一個高可用性的應用程式或群集內每台伺服器被稱為一個節點(Node),節點之間通過網路硬體與軟體串連在一起對使用者提供服務,這個過程被稱為容錯移轉,它讓使用者能夠不中斷的繼續享有伺服器提供的服務。
天太熱,其他不高興寫,寫一些注意事項,然後再把實驗過程寫一下。
群集仲裁配置
當群集中的節點發生故障時,會由其他節點接手繼續提供服務。不過,當節點之間通訊出現問題或太多節點發生故障時,群集就會停止服務,可是群集可以容忍多少個節點發生故障,這要由仲裁配置(Quorum Configuration)決定,Quorum中文就是法定數量的意思,也就是只要群集中仍然正常啟動並執行節點數量達到法定數量,群集就會繼續提供服務,否則就停止服務。在停止服務期間,仍然正常的節點會繼續監聽故障節點是否恢複正常,一旦正常節點的數量恢複到法定數量時,群集就會繼續提供伺服器。
在計演算法定數量時,有的仲裁配置會用到仲裁磁碟,又稱為見證磁碟(Witness Disk)。仲裁配置分為以下幾種。
- 多數節點(Node Majority)
此種配置不會用到仲裁磁碟,而所謂多數節點就是正常節點數量佔多數的情況下,群集才會提供服務,否則就停止服務。此種配置適用於奇數節點的群集。例如,5個節點的群集,其正常節點的數量必須至少3個,群集才會提供服務。
- 多數節點與磁碟(Node and Disk Majority)
適用於偶數節點的群集,它在計演算法定數量時會將仲裁磁碟計算進來,例如,4個節點+1個仲裁磁碟的群集,可以將其視為5個節點的群集,此時正常節點的數量必須至少3個,群集才會服務。
- 多數節點與檔案分享權限設定(Node and File Share Majority)
它和多數節點與磁碟類似,不過將仲裁磁碟改為共用資料夾內的檔案。
- 沒有多數:只有磁碟(No Majority :Disk Only)
只要仲裁磁碟離線·,群集就會停止提供服務(不建議採用)。
建立容錯移轉叢集執行個體示範
我們將通過來示範如何搭建一個iSCSI SAN兩節點的檔案伺服器容錯移轉叢集,其仲裁配置預設為多數節點與磁碟。
軟硬體需求
要建立的兩節點群集,其軟硬體配備必須符合以下要求。可以使用我以前所得vmware workstation來實驗,也可以用hyper-v來實驗,因為這個現在windows 2012的實驗沒有涉及虛擬化。
伺服器
架設群集需要AD域,群集中的節點伺服器必須隸屬於同一個域,並且應該扮演同樣的域角色,也就是都是成員伺服器或都是域控。我們的環境網域名稱contoso.com,左上方DC為域控,Node1和Node2兩個節點,最下面的伺服器為目標伺服器,其中將安裝Windows Server2012 內建的iSCSI目標伺服器軟體,不需要加域。
為了讓群集能正常運行,因此群集中的兩台節點伺服器應該都要配備相同或類似的硬體,而且需要安裝相同版本的作業系統,包含相同的硬體版本(32位,64位),同時也要安裝相同的SP與軟體更新。在windows Server 2012系統產品中只有Datacenter與Enterprise版本才具備群集功能,因此2個節點伺服器都安裝了Windows Server2012 Datacenter。為了方便,域控與目標伺服器也都安裝Datacenter。
網路設定
圖中兩台節點伺服器各有三塊網卡,分別串連到Public,Private和iSCSI網路。
註:為了避免單一點故障而影響到群集的運行,建議在兩個節點與用戶端之間,兩個節點與目標伺服器之間的通訊管道採用適當的故障恢複措施,例如以節點與用戶端之間來說,可以在節點中利用兩塊網卡來串連到兩個網路,而通過這兩個網路都可以和用戶端通訊。還可以採用具備teaming功能的網卡來提供故障恢複功能,例如可以在public網路採用teaming網卡,但是不要再private網路採用teaming網卡,以免因為延遲問題而影響節點之間的通訊的即時性。此外,iSCSI並不支援teaming,因此iSCSI網路不要使用teaming網卡。Teaming就是將一台電腦內的多塊網卡,通過驅動程式將其變成一塊虛擬網卡,其他電腦通過此虛擬網卡與這台電腦通訊,但是資料實際上通過多塊物理網卡來傳送。Teaming網卡可以提高網路傳輸速度,提供Server Load Balancer與故障處理功能。Windows Server2012 已經內建網卡teaming功能。
目標伺服器與儲存媒體
Windows Server 2012 要求儲存媒體必須遵照SCSI Primary Command-3 (SPC-3)的標準,尤其是必須支援SPC-3 Persistent Reservation(SPC-3持續保留)。我們要利用Windows Server 2012內建的iSCSI目標伺服器來搭建iSCSI目標伺服器,通過他建立的iSCSI磁碟支援上述的SPC-3要求。
本例為兩個節點的檔案伺服器叢集,因此仲裁配置為多數節點與磁碟,此時除了隱藏檔的檔案磁碟外,還需要一個仲裁磁碟,這兩個磁碟要求如下:
- 必須是基本磁碟,不可以是動態磁碟。
- 仲裁磁碟必須被格式化為NTFS,但是檔案磁碟並沒有強制規定,不過建議NTFS。
- 磁碟分割樣式可以是MBR或GPT。
- 本列中的仲裁磁碟和檔案磁碟都直接使用本機電腦c:磁碟內的檔案來類比,檔案名稱分別是C:\iSCSIVirtualDisks\Quorum.vhd和C:\iSCSIVirtualDisks\Files.vhd
iSCSI SAN兩節點檔案伺服器叢集執行個體示範
我們按部就班的來說明如何搭建群集,以減少出錯的機會。
準備網路環境與4台伺服器
適當的節點設定
為了讓群集啟動並執行更有效率,建議調整兩台節點伺服器的設定。例如,為了讓兩台節點伺服器能夠即時通過private網路來監聽對方的心跳情況,因此應該避免在這個網路上發送其他不相干的流量;還有iSCSI網路僅用於節點與目標伺服器之間使用iSCSI protocol來通訊的專用網路,因此也應該避免在這個網路上發送其他不相干的流量。例如,我們最好將節點伺服器上串連這兩個網路的網路連接的dns和wins流量禁用。
- 登陸Node1 開啟private網卡去掉Microsoft網路用戶端和Microsoft網路的檔案和印表機共用,只使用ipv4
註:Microsoft網路用戶端用來訪問網路上其他電腦內的共用檔案與印表機;Microsoft網路的檔案和印表機共用讓網路上其他電腦來訪問本機電腦上的共用檔案與印表機。由於不需要通過private和iSCSI網路與其他電腦有此類型的互動,因此可以禁用。
- 不要設定DNS
- 不勾選在DNS中註冊此串連的地址
- 取消Netbios有關的功能
- 對於iSCSI網卡也重複上面設定
- 由於private和iscsi網路都有專用用途,因此我們需要設定所有其他類型的流量都優先使用public網路。
- 繼續到Node2重複以上步驟
註:兩個節點需要安裝相同的更新程式,然而在此建議不要啟動自動更新功能,而是由系統管理員手動更新,以便能夠確保兩個節點擁有相同的更新程式。
目標伺服器與儲存媒體的設定
- 到目標伺服器上添加伺服器角色,iSCSI目標伺服器
- 單擊檔案和儲存服務
- 建立iSCSI虛擬磁碟
- 選擇磁碟路徑
- 輸入磁碟名稱
- 輸入磁碟大小,我們實驗環境小點無所謂,有個說法,仲裁磁碟的大小和機器的實體記憶體一樣
- 我們需要將此虛擬磁碟分配給一個iSCSI目標,安裝在Node1和Node2上的iSCSI啟動器需要通過iSCSI目標來串連虛擬磁碟。由於目前尚未有任何iSCSI目標,因此必須建立。
- 輸入名稱
- 添加iSCSI啟動器
- 輸入Node1的iSCSI卡ip地址
註:類型處也可以選擇節點的DNS名稱,MAC地址或iSCSI啟動器的IQN,IQN必須先到節點Node處查詢(在啟動iSCSI啟動器後,位於設定標籤下的啟動器名處)。
- 添加Node2的網卡ip
- 出現驗證服務介面直接單擊下一步
註:可以要求iSCSI啟動器端(叢集節點)必須經過驗證後才可以串連iSCSI虛擬磁碟,其方法為 勾選啟用驗證服務介面中的啟用CHAP,然後設定使用者名稱與密碼,在iSCSI啟動器端必須提供此處的使用者名稱與密碼才可以串連iSCSI虛擬磁碟。
反過來說,iSCSI啟動器端也可以驗證iSCSI目標,此時需要勾選啟用驗證服務介面中的啟用反向CHAP,然後輸入iSCSI啟動器端指定的使用者名稱與密碼。
- 確認設定無誤後單擊建立
- 完成後,上半部為建立的iSCSI虛擬磁碟,下半部為iSCSI目標
註:如果要更改iSCSI虛擬磁碟或iSCSI目標的設定,可以直接對著iSCSI虛擬磁碟或iSCSI目標單擊滑鼠右鍵,然後再彈出的捷徑功能表進行設定。
- 單擊的建立iSCSI虛擬磁碟來建立另一塊虛擬磁碟
- 為磁碟命名
- 設定磁碟大小
- 分配給磁碟一個iSCSI目標,建立iSCSI目標
- 輸入名稱Files
- 添加Node1和Node2啟動器的ip與前面一樣
- 驗證配置無誤後建立
- 完成
註:iSCSI目標所使用的串連連接埠號碼為TCP 3260,在通過伺服器管理員安裝iSCSI目標時,系統就已經自動在防火牆上開放了連接埠的流量。
讓節點伺服器可以串連iSCSI虛擬磁碟
分別到兩台節點伺服器上設定iSCSI啟動器,以便通過它來串連目標伺服器的目標,然後通過目標訪問iSCSI虛擬磁碟。
- 先到節點Node1上管理工具-iSCSI啟動器,啟動iSCSI服務
- 單擊發現門戶
- 輸入目標伺服器ip。預設串連連接埠3260
註:如果串連失敗,請確認目標伺服器的Windows防火牆已經關閉或有例外開發iSCSI流量。
- 選擇目標標籤下要串連的目標後單擊連結
- 直接單擊確認
註:如果目標伺服器端有要求身分識別驗證,單擊進階勾選啟用CHAP登陸,輸入使用者名稱和密碼。
- 為iSCSI目標串連成功後的介面
- 重複上面步驟在串連另一塊磁碟,全部串連完成後入
(前面我們只看到一塊盤,後來檢查了下,發現quorum磁碟iSCSI目標中Node1的ip打錯,所以沒有顯示出來)
- 開啟磁碟管理,將兩塊磁碟進行聯機
- 初始化磁碟
- 建立簡單磁碟區,並分配盤符Q和F
- 可以直接在節點Node1上在兩塊磁碟內添加檔案,以便測試是否可以正常訪問這兩個硬碟。
- 到節點伺服器上重新執行上述步驟,但是不要執行從第8步開始的步驟,防止資料丟失。
在節點伺服器上安裝容錯移轉叢集功能
分別到兩台節點伺服器安裝容錯移轉叢集功能,添加功能-容錯移轉叢集
驗證群集設定
在開始建立群集之前,強烈建議執行群集驗證程式,他會檢查節點伺服器,網路與儲存媒體等是否符合群集的要求。
- 在Node1或Node2開啟容錯移轉叢集管理員,單擊驗證配置
- 輸入選擇要驗證的節點Node1和Node2
- 選擇運行所有測試
- 確認要驗證的項目無誤後單擊下一步
- 如果完全驗證通過,就可以直接單擊完成按鈕開始建立群集
註:
- 如果驗證結果只有警告,可能不會影響群集的建立,例如,如果叢集節點之間zhi通過一塊網卡進行通訊(沒有通過多塊網卡或沒有綁定功能等),則驗證嚮導會列出警告資訊,但是它不會影響群集的建立。
- 如果驗證結果顯示有其他未通過驗證的失敗事件,則請排除此問題後再重新驗證,否則所建立的群集可能無法正常運行。
建立群集
我們將利用群集建立嚮導來建立群集。
- 輸入加入群集的名稱和IP(它隸屬於Public網路)。你將通過此IP地址來管理群集,群集名稱與ip會被記錄到DNS伺服器內。
- 確認配置無誤後下一步
- 出現摘要介面單擊完成
- 為完成後的介面,從介面中可以看出其仲裁配置自動被設定為多數節點與磁碟,因為此群集為偶數節點(兩個節點)。括弧內Cluster Disk 1表示仲裁盤為群集中的第1個磁碟。
註:如果要改用其他磁碟來扮演仲裁磁碟:單擊群集右側的更多操作-配置群集仲裁設定。
配置兩節點的檔案伺服器容錯移轉叢集配置叢集網路的用途
我們要調整群集內Public,Private,iSCSI網路的用途。
- Public網路:我們要讓用戶端可以通過此網路與叢集節點通訊,也要讓叢集節點之間可以通過此網路進行通訊(當作private網路的備用網路)。
- Private網路:此網路專供叢集節點之間通訊使用。
- iSCSI網路:它是叢集節點利用iSCSI通訊協定與目標伺服器通訊的專用網路,不可以作為叢集節點之間通訊的網路,當然也不可以用來與用戶端通訊。
- 開啟群集管理器選擇網路
註:如果在視窗中沒有看到要管理的群集,請單擊串連到群集,然後選擇要管理的群集。
- 對著代表Public的網路單擊屬性-選擇允許此網路上進行叢集網路通訊。勾選複選框
- 對著代表Private的網路勾選允許此網路上進行叢集網路通訊,不勾選複選框
- 對著代表iSCSI的網路勾選不允許在此網路上進行叢集網路通訊
建立與測試兩節點的檔案伺服器容錯移轉叢集在Windows防火牆開放所需流量
在建立檔案伺服器容錯移轉叢集之前,需要在兩台節點伺服器的Windows防火牆開放遠程卷管理流量,否則無法在群集內建立共用資料夾。由於兩個節點之間通過Public網路進行通訊,因此首先我們需要找出Public網路的網路位置,然後只需要針對此網路位置來開放遠程卷管理即可。
- 到Node1上開啟網路和共用中心,查看可知Public網路的位置為網域網路
- 開啟Windows防火牆,選擇允許應用或功能通過Windows防火牆
- 勾選遠程卷管理並勾選域
- 繼續到Node2上重複以上步驟
建立檔案伺服器容錯移轉叢集
兩個節點伺服器需要先安裝檔案伺服器角色服務。
- 添加角色-檔案和iSCSI服務-檔案伺服器
- 開啟容錯移轉叢集-配置角色
- 選擇檔案伺服器
- 單擊下一步
- 為檔案伺服器命名,並設定ip地址(和建立群集一樣)
- 勾選要指派給檔案伺服器來使用的磁碟
- 確認無誤後單擊下一步
- 單擊完成
- 完成後的介面,可知伺服器目前所有者是Node1,因此當用戶端串連時,有Node1提供服務
- 單擊檔案伺服器MyClusterFS右邊的添加檔案分享權限設定
註:如果兩台節點伺服器的Windows防火牆未關閉或沒有開發遠程卷管理流量,此時將無法添加共用資料夾。
- 單擊下一步
- 單擊下一步採用預設即可,他會將F:\shares內的指定檔案夾設定為共用資料夾。你還可以自行制定檔案夾路徑。
- 設定共用名稱,例如Database,系統會見F:\Shares\Database設定為共用資料夾。用戶端可以通過\\MyClusterFS\Database訪問此檔案夾。
註:通過容錯移轉叢集管理員控制台來共用群集磁碟內的檔案夾,不要通過其他方法,例如不要通過檔案總管。
- 直接單擊下一步
- 直接單擊下一步來採用預設使用權限設定(開放完全控制的許可權給系統管理員,開發讀取寫入的許可權給日頭使用者等)。如果要更改許可權,可以單擊自訂許可權按鈕。
- 出現確認選擇項目介面時直接單擊建立按鈕,完成後單擊關閉
- 為完成後的介面
- 到用戶端電腦測試是否可以訪問檔案伺服器共用資料夾database內的檔案,我們使用DC來訪問,並且建立檔案夾,添加檔案。
- 嘗試將節點移動到Node1.
註:如果將某個節點暫停,此節點當前擁有的角色仍然會繼續提供服務,但是你無法將由其他節點擁有的角色轉移到這個被暫停節點。
- 可以進一步驗證群集的容錯移轉功能:將當前的所有者關機,此時另一個節點會自動檢測到所有者已經下線,因此他會接受來對用戶端提供服務,因此在用戶端上還是可以訪問到剛才建立的檔案。
註:如果要讓群集停止對用戶端提供服務-對著群集右鍵-其他動作-關閉群集,以後選擇啟動叢集服務來重新啟動。
在群集中添加節點,移除節點與刪除群集添加節點
- 通過單擊檔案伺服器MyClusterFS 右邊停止角色來暫停檔案伺服器
- 在新節點伺服器上完成所有設定:例如安裝網卡,設定防火牆等。
- 到其他節點上通過容錯移轉叢集管理員驗證設定來驗證此行節點是否符合要求
- 完成驗證後,點擊添加節點添加
- 添加完成後,介面會提示現在的節點數量變成奇數(3個節點),所以應該更改仲裁配置(例如改為節點多數)。配置群集仲裁設定-使用預設設定讓系統自動決定仲裁配置。
- 單擊檔案伺服器MyClusterFS 右邊啟用角色來重新啟動伺服器
移除節點
如果要從群集中移除某個節點伺服器,先查看該節點是否為檔案伺服器的所有者,如果是,轉移到其他節點。
接著通過逐出來移除此節點
刪除群集
請按照以下步驟來刪除群集。
- 必須先刪除群集內的角色後才可以將群集刪除。
- 然後銷毀群集
- 群集刪除後,建議到域控上確認,確認computers容器內與群集名稱相同的電腦對象已經被禁用或不存在此對象,否則下一次重建相同名稱的群集時,或出現警告。
搭建iSCSI檔案伺服器容錯移轉叢集