本文章將詳細講述基於Windows Server 2008 R2的故障轉移羣集的實現,包括基本知識介紹,故障轉移羣集環境準備,實施過程,羣集的維護等。算法
故障轉移羣集能夠配置使用多種不一樣的配置。組成羣集的服務器能夠是活躍狀態或不活躍狀態,而不一樣服務器能夠被配置爲在活躍服務器故障後馬上接管相應的資源。通常故障轉移的過程只須要幾分鐘的時間,至於時間的長短主要取決於羣集的配置和具體應用,當節點處於活躍狀態時,該節點上可使用全部資源。當服務器故障後,在這臺服務器上配置了故障轉移羣集的資源組就會被其餘服務器所接管。當故障服務器從新上線後,羣集服務能夠配置爲容許讓原服務器進行故障回覆,或者是讓當前服務器繼續處理新的客戶端請求。windows
如今用戶比較關心的除了應用的高可用性以外,還包括數據的安全性,因此數據的安全存儲也是至關重要的,固然關於存儲這部分,會有相應的存儲部門同事負責,但一些知識咱們仍是要知道的。緩存
存儲設備安全
存儲設備與羣集中每一個節點服務器的鏈接方式通常能夠分爲FC(光纖通道)和Iscsi(Internet SCSI)。服務器
FC SAN羣集:網絡
通常來講,節點服務器經過一塊稱爲FC 適配卡鏈接到光纖通道交換機,同時存儲設備也鏈接到此交換機,服務器和存儲設備之間使用的協議是FCP,FCP會負責將SCSI數據封裝後再經過光纖通道發送。另外,節點服務器也各有一塊網卡鏈接到客戶端所在的局域網,它讓客戶端能夠經過節點服務器來訪問存儲設備內的數據。這個存儲設備能夠是磁盤陣列、光盤庫或磁盤庫等。架構
SAN的全稱是存儲局域網,用來將存儲設備鏈接到服務器,服務器會將SAN存儲設備上的一個卷或LUN看做一個磁盤來處理。ide
另外一種是iSCSI SAN羣集:工具
Iscsi SAN 稱爲IP SAN。服務器和存儲系統之間使用IP網絡就能夠鏈接在一塊兒。使用的協議是iSCSI Protocol。測試
服務器上能夠安裝iSCSI HBA適配卡或1Gb/10Gb的以太網卡來鏈接到1Gb/10Gb的網絡交換機上,通常的iSCSI HBA卡上都內置有iSCSI啓動器軟件,服務器使用iSCSI啓動器將SCSI命令封裝後經過IP網絡發送。因爲服務器在處理IP數據包時會佔用必定的CPU資源,從而會影響到服務器的運行效率。此時,能夠用TOE iSCSI HBA適配卡來改善效率。由於 擁有TOE功能的適配卡會本身處理比較耗費資源的工做。不佔用CPU。若是安裝1Gb/10Gb的以太網卡,則須要在節點服務器上另外安裝iSCSI啓動軟件。
這個存儲系統中包括目標和存儲設備,服務器是先鏈接到目標,再經過目標來訪問存儲設備。服務器將經過目標所鏈接到的SAN存儲設備視爲好像直接鏈接到服務器上。
這個目標能夠由目標服務器來代替,目標服務器能夠安裝通常的操做系統,如Windows Server 2008 R2,而後在其中安裝目標服務器軟件,或者是直接內置目標服務器軟件的操做系統如Windows Storage Server 2008,而存儲設備能夠是這臺服務器內的普通磁盤(PATA、SATA、SCSI、USB、FireWire等存儲設備)或者是鏈接到這臺服務器上磁盤陣列或是使用現有磁盤內的文件進行模擬。
羣集的仲裁配置:
仲裁的英文單詞是 Quorum,中文意思是法定數量。也就是說只要羣集中正常運行的節點數量達到法定數量,羣集就會繼續提供服務,不然就會中止服務。在中止服務期間,正常的節點仍然會繼續監聽故障節點是否恢復正常,只要達到數量,羣集就能夠繼續提供服務。
在計算法定數量時,仲裁配置會使用仲裁磁盤,又稱爲見證磁盤,這個磁盤內存放着羣集的配置信息,仲裁配置能夠分爲如下幾種。
多數節點:這種配置不會使用到仲裁磁盤,而所謂的多數節點就是在正常節點數量佔多數的狀況下,羣集纔會提供服務,不然就中止服務。這種配置適用於奇數節點的羣集。它能夠容納的故障節點數量爲(n/2)-1(四捨五入)。
多數節點與磁盤:適用於偶數節點的羣集,它在計算法定數量時會將仲裁磁盤計算進來。
若是仲裁磁盤在線的話,它能夠容納的故障節點數量爲n/2(四捨五入)。若是仲裁磁盤脫機,則能夠容納的故障節點數量(n/2)01。
下面咱們來搭建一個故障轉移羣集,拓撲圖以下:
環境介紹:
網絡配置:
節點服務器須要有3塊網卡,分別鏈接public網絡、heart線、iSCSI存儲網絡。
Public網絡:節點服務器有一塊網卡鏈接到此網絡,客戶也經過此網絡來鏈接節點服務器。
Heart線:節點服務器之間須要隨時監聽對方的狀態,以得知對方是否故障或從新恢復。爲了不受到其餘網絡流量的干擾,建議節點之間經過專用網絡進行通訊。爲了提升故障恢復能力,也能夠配置讓節點之間使用public網絡進行通訊,當沒法經過heart線通訊時,還可使用public網絡進行通訊。
iSCSI網絡:
節點服務器各有一塊網卡鏈接到iSCSI網絡,而且經過此網絡來鏈接目標服務器和訪問存儲設備內的文件。一樣是專網專用,不可用做其餘用途。節點服務器用來鏈接iSCSI網絡的網卡應該相同,並且iSCSI網絡應該採用高速交換機(1Gb/10GB以上)。
爲了更好的實現高可用性,也能夠在節點和客戶端之間,節點和目標服務器之間採用適當的故障恢復措施。節點和客戶端之間,能夠在節點上配置兩塊網卡來鏈接兩個網絡,經過這兩個網絡均可以跟客戶端通訊,也就是至關於有兩個public,或者是採用具備teaming功能的網卡,在計算機內配置多塊網卡,經過驅動程序變更一塊虛擬網卡,外部計算機就認爲只有一塊網卡,但heart網絡不要使用 teaming功能的網卡,以避免由於延遲問題而影響到節點之間通訊的實時性。iSCSI也不支持此功能的網卡。
第一臺機器是DNS/DC,作爲域控,羣集中的節點必須角色相同,推薦都是成員服務器,目標服務器是獨立服務器,不須要加入域,上面安裝目標服務器軟件StarWind便可。
爲了減小故障的出現,讓羣集功能正常運行,建議節點服務器都應該安裝相同的硬件和相同版本的操做系統。
Windows server 2008 R2只有Enterprise、Datacenter、Itanium版本支持羣集,在此全部機器均使用enterprise。
存儲系統:
咱們使用starwind軟件搭建目標服務器,主要是由於Windows Server2008 R2要求存儲設備必須符合SCSI Primary command-3的標準,本實驗中只有兩個節點,所以仲裁配置爲多數節點與仲裁磁盤。這裏至少須要兩個磁盤,一個用來存放具體的應用,另外一個用於仲裁。而且這兩個磁盤必須是基本磁盤,不能是動態磁盤。文件格式不用說,使用NTFS。
具體實施過程:
DNS/DC的準備:
咱們在192.168.1.10這臺服務器上,運行命令dcpromo將此服務器由獨立服務器升級爲域控制器,域名爲dufei.com。
按照默認設置安裝活動目錄域架構,從新啓動便可完成DC的準備。
下面將server1和server2兩個節點加入到域名,方法是:計算機右鍵—屬性----更改設置,以下圖所示:
輸入有權限的域用戶及密碼,而後從新啓動計算機便可。Server2上作一樣的操做。
目標存儲服務器的搭建與配置:
該階段將在store存儲服務器上操做:
下載StarWind軟件:登陸下圖所示的網站下載該軟件及30天的試用許可。
安裝StarWind 軟件:雙擊下載的starwind軟件進行安裝,以下圖所示:
安裝過程使用默認設置便可,出現下圖所示,點擊安裝:
點擊完成後,啓動Star Wind,界面仍是蠻酷的。
緊接着彈出下面的界面:
找到下載的License許可文件,以下圖所示:
當成功安裝後,咱們就來看看這個小東東如何使用了。
鏈接到目標服務器:方法是點擊starwind server,add starwind server添加一個目標服務器,以下圖所示:
輸入該服務器的IP地址,由於是本機因此也可使用127.0.0.1。
在此須要輸入鏈接到目標服務器的賬號和密碼,默認用戶是root,默認密碼是starwind。
新建iSCSI磁盤:
創建羣集所要用到的仲裁磁盤和資源磁盤,在此可使用物理或者是虛擬的硬盤、光盤、磁帶等設備,在此,咱們準備在目標服務器上建立兩個img文件分別對應仲裁磁盤和資源磁盤。
點擊Device---Add Device,後出現下圖所示:
在這個界面咱們能夠看,咱們可使用的存儲設備類型有物理或虛擬的硬盤、光盤、磁帶,在此咱們選擇硬盤。
在這個界面中,咱們選擇建立的是一個基本的虛擬硬盤,若是須要高級功能的虛擬硬盤能夠選擇:Advanced Virtual。
接下來,選擇:Image file device。咱們使用img映像文件來虛擬硬盤設備。
在這個界面中,咱們選擇建立一個虛擬磁盤,在此指定的磁盤空間是600M,此磁盤將用於仲裁。
在此選擇,Asynchronous mode。
緩存模式選擇正常。
在此建立一個新的目標,客戶端主要是找到目標,經過目標來訪問存儲設備,必定要選擇上:Allow multiple concurrent Iscsi connetions(Clustering)。
當第一塊虛擬磁盤建立成功後,再從新上述步驟建立資源磁盤,只是資源磁盤的容量要大一些。 根據須要,指定資源磁盤的容量。
在這裏,咱們再爲這個磁盤建立一個目標,固然也能夠綁定到一個已經存在的目標上。
到這個地方爲止,兩塊磁盤就建立成功了,以下圖所示:
防火牆設置:下面咱們須要對防火牆進行簡單設置,以容許節點服務器訪問目標服務器。所用到的端口有3260和3261。
節點服務器鏈接iSCSI磁盤:
下面咱們須要讓節點服務器鏈接到所建立的兩塊iSCSI磁盤,節點1上和節點2分別執行下列的步驟將iSCSI的2塊共享盤分別掛接到羣集節點上,在節點1上進行格式花, 節點2上直接使用便可。
節點上須要使用iSCSI程序鏈接到目標服務器,以下圖所示:
點擊管理工具中的iSCSI發起程序,第一次使用會出現下面的提示,必須啓動 iSCSI服務。
點擊:是,出現下圖所示的界面。
點擊「發現」選項卡,再點擊「發現門戶」,輸入目標服務器的IP地址或DNS名稱,在此咱們直接使用IP地址:
回到「目標」選項卡,能夠看到目標服務器上的目標名稱:
當前狀態是不活動的,點擊「鏈接」。
此時,目標已經鏈接了,目標內的存儲設備也出來了,如上圖所示。下面須要對磁盤進行聯機、初始化、分區、格式化等操做。
將兩塊磁盤分別格式化爲NTFS文件系統,卷標分別爲quorum、share。
Server2上也進行相應的操做,只是不須要再進行分區、格式化。將分區號和卷標改成和server1一致,以下圖所示:
安裝「故障轉移羣集」:
到此爲此,基本準備工做已經結束了,下面就開始在兩個節點上安裝羣集服務。在此以server1爲例,安裝方法是:打開服務器管理器圖標----添加功能,從中選擇「故障轉移羣集」。
當兩個節點安裝完羣集服務後,咱們須要運行羣集配置驗證程序,來檢查節點服務器、網絡和存儲設備是否符合羣集要求。
僅當完整配置(服務器、網絡和存儲)能夠經過「驗證配置」嚮導中的全部測試時,微軟才支持故障轉移羣集解決方式,另外,解決方案中的全部硬件組件均必須標記爲「certified for windows server 2008 R2」。
方法是在server1或者是server2上進入故障轉移羣集管理器,單擊「驗證配置」。以下圖所示:
由於咱們須要驗證的是羣集中的全部節點,因此咱們須要把全部節點都添加進來,以下圖所示。
點擊「下一步」以後,咱們須要「運行全部測試」,以下圖所示:
給出驗證清單,也就是所要進行驗證的項目。點擊,下一步以後,開始出現下面的驗證過程:
通過耐心的等待後,出現下圖所示:
OK,太好了,查看報告,只有一處關於網絡的IP地址的警告,這應該是檢測到節點間只有一塊網卡相連,沒有實現冗餘,這不影響羣集的建立。
建立羣集:
點擊故障轉移羣集管理器中的「建立一個羣集」,以下圖所示:
再次提示添加要加入羣集的全部服務器,以下圖所示:
下面,咱們須要輸入用於管理羣集的訪問點,也就是羣集的名稱和對應的 VIP。
接着,須要確認所輸入的信息是否正確,以下圖所示:
點擊,下一步,開始建立羣集:
最後,出現摘要信息,羣集建立結束。
返回到「故障轉移羣集管理器」,查看羣集的工做狀態,能夠看到,仲裁磁盤是咱們前面所建立的quorum磁盤,以下圖所示:
當前的仲裁配置模式是:節點和磁盤多數,這是由於咱們所建立的羣集是偶數個節點。
若是但願,更改羣集的仲裁配置,能夠點擊下圖所示的操做中,在此再也不演示。
羣集的配置:
羣集網絡的配置:
下面須要對羣集內的各個網絡進行相應的配置,以肯定它們的用途。
針對public網絡,咱們須要容許客戶端進行訪問,因此進行下圖所示的操做:
注意,千萬不要選錯了網絡,能夠觀察IP地址,點擊屬性,出現下圖:
Heart網絡的配置: 此網絡只用於節點間的通信,因此不該該容許客戶端訪問,操做同上,取消客戶端的訪問。容許羣集使用,但不容許客戶端訪問。
針對store存儲網絡: 則是不容許羣集使用,以下圖所示:
羣集已經搭建成功了,下面咱們就來看看如何在上面安裝具體的應用了,本篇先介紹一個簡單的應用,實現文件服務器的故障轉移羣集,咱們另外一篇文章會詳細介紹如何實現SQL Server 2008 R2的故障轉移羣集。
文件服務器故障轉移羣集:
防火牆準備:節點服務器上必須容許遠程卷管理,否則沒法在羣集內建立共享文件夾。操做方法是在public網絡所在網絡位置上,容許遠程卷管理,以下圖所示:
從這個圖中能夠看出public網絡屬於域網絡,因此,咱們只須要在域網絡上容許遠程卷管理便可。
固然,也能夠直接將防火牆禁用。注意,全部節點上都要進行此步操做。
安裝文件服務器:
兩個節點上都須要安裝文件服務器角色,安裝方法是服務器管理---角色----添加角色。以下圖所示:
在如上圖所示的界面中,選擇文件服輸,下一步後,出現下圖所示,必定要選擇文件服務器。
節點2上進行一樣的操做,安裝文件服務器角色。
而後,回到羣集中,單擊服務和應用程序,右邊的配置服務或應用程序。
選擇配置服務或應用程序後,出現下面的界面:
點中,文件服務器,此時系統會檢查全部節點中是否已經安裝了該服務,若是安裝不正確,會報錯。接下來須要輸入客戶端訪問點的信息,以下圖所示:
在此界面中,須要輸入客戶端訪問此服務或應用程序時將使用的名稱。名稱咱們就使用clusterFs,IP地址是客戶端訪問時所要使用的IP地址。此名稱和IP地址會被註冊到DNS服務器內。
選擇分配給文件服務器的存儲磁盤,在此,除了仲裁就是羣集磁盤2了,如上圖所示。出現確認信息後,開始進行配置,出現下圖,表示配置結束。
回到故障轉移羣集管理器中,能夠看到目前提供此服務的是Server1。
下面,咱們就就來添加共享文件夾,點擊下圖中的添加共享文件夾按鈕。
下面咱們準備將資源磁盤中的文件夾TMG2010共享出來,供企業員工使用。以下圖所示:
接下來,須要設置此文件夾的NTFS的權限,能夠根據須要進行更改,咱們在此就不作修改了。
在下圖所示的界面中,能夠設備此共享名,根據須要設置一個便於記憶的,有意義的名稱。
下面根據須要,依次進行SMB設置、SMB權限設置、DFS命名空間發佈等,咱們在此都使用默認值,而後須要對該設置進行復查,下圖所示:
點擊建立,若是一切正常,就以下圖所示:
客戶端測試:
下面須要測試一下客戶端是否能夠訪問到共享文件夾。咱們啓動一臺測試機,在運行中輸入:\\clusterfs.dufei.com 或者是直接輸入:\\clusterfs,將能夠看到剛剛添加的共享文件夾TMG2010,以下圖所示:
實現故障轉移:剛纔咱們看到了提供此服務的是 Server1服務器,下面咱們就來測試一下故障轉移,咱們將server1上的網卡禁用,固然也能夠是關機,模擬Server1故障後此服務可否順利切換到Server2上。
而後,咱們到Server2上打開故障轉移羣集管理器界面:
能夠看到當前全部者已是Server2了,咱們再次到客戶端進行訪問:
一切正常!固然,也能夠將Server2的網卡禁用,將Server1的網卡啓用,能夠看到服務再次切換到了Server1上。
管理員也能夠經過「將該服務或應用程序移動到另外一個節點」實現全部者的切換,以下圖所示:
但須要注意的是,必定要保證對方節點能夠,否則「將該服務或應用程序移動到另外一個節點」操做爲灰色,以下圖:
實現文件服務器的高可用,須要使用故障轉移羣集管理器中的添加共享文件夾的方法實現,不要經過windows資源管理器來實現。
羣集的其餘維護工做:
在本文的最後,咱們來看一下如何在羣集中添加節點、刪除節點以及當刪除羣集的操做。
添加節點:
當企業須要提供更大的高可用級別時,能夠向現有羣集中添加新的節點,這裏咱們準備添加server3,準備作如下準備工做:
Server3安裝三塊網卡,分別對應public網絡、heart網絡、store網絡;而後將server3加入域;安裝文件服務器服務;防火牆配置,根據應用不一樣,進行相應的防火牆設置。
準備工做完成後,Server3上須要利用iSCSI發起程序添加共享磁盤。
注意,進行此步操做時,須要將羣集服務中的現有應用和存儲脫機,以下圖所示:
而後,經過iSCSI發起程序添加共享磁盤,須要保持盤符和卷標的一致性。以下圖所示:
接下來,在Server3上安裝故障轉移羣集:
接下來,咱們須要將Server3添加到羣集中,在任意節點上均可以,咱們就在server3上操做,首先鏈接到羣集,方法是點擊管理羣集,以下圖所示:
輸入羣集名稱後肯定,便可。 而後就能夠將server3加入到該羣集中,以下圖:
點擊:添加節點,出現下圖的界面。
而後,點擊下一步。
由於咱們要考慮到Microsoft原廠的技術支持,因此必定要保證驗證是沒有問題的。點擊下一步,進行全部項目的驗證,此步,也能夠經過點擊,故障轉移羣集中的驗證羣集進行,以下圖:
而後,就能夠順利的將server3添加到該羣集中,以下圖:
從這個界面中也能夠看到,此羣集如今已經具備3個節點和一個仲裁磁盤,但系統建議當有奇數上節點的時候,就再也不須要仲裁磁盤,因此建議刪除仲裁磁盤。
更改仲裁模式,方法是更多操做中的配置羣集仲裁設置,以下圖:
而後,出現下圖所示:
從這個圖中能夠看出,推薦的是多數節點。
更改完仲裁配置後,緊接着將服務或應用程序聯機,以下圖:
經過此步操做後,咱們就成功將Server3添加到了該羣集中。
刪除節點:
添加節點相對複雜的操做完成後,刪除節點就顯示很簡單了。在刪除某個節點前必定要確保當前節點不是服務或應用程序的全部者,若是是的話,必定要將全部者轉移到其餘節點,而後將此節點刪除便可,方法:在要刪除的節點上如server3----右鍵-----更多操做---退出,以下圖所示:
而後,出現收加節點Server3的提示,以下圖所示:
此時,羣集中就只有兩個節點了,須要將羣集仲裁模式改成多節點+磁盤,以下圖所示:
指定仲裁磁盤。
刪除羣集:
首先,須要先刪除羣集中的服務和應用程序,方法是找到羣集中服務和應用程序,以下圖所示:
點擊刪除按鈕後,將此服務刪除。
而後,右擊羣集---更多操做----破壞羣集,以下圖所示:
按照提示將此羣集銷燬,此步操做完成後,即將羣集刪除,但通常建議到DC上清除和羣集相關的信息,以下圖所示:
關於羣集的相關的操做,咱們就介紹到這兒了。在Windows Server 2008以及Windows Server 2008 R2版本中,對故障轉移羣集進行了改進,其目的是爲了簡化羣集,使它們更加安全、穩定,但配置和管理更加容易,其功能包含於企業版和數據中心版中。