博文目錄
一、什麼是故障轉移群集?
二、故障轉移群集的要求
三、故障檢測
四、部署故障轉移群集cluster
一、什麼是故障轉移群集?
1、故障轉移群集概述
随着Internet應用的深入,許多公司越來越依賴線上服務創造價值。這些重要的線上服務一般具有很嚴格的應用要求,單台伺服器是無法滿足如此苛刻的要求的,隻能使用群集技術來實作。
Windows作業系統提供了一種全新的技術解決方案,它內建在Windows server作業系統中,被稱為故障轉移群集。故障轉移群集主要是指一組獨立的計算機,群集伺服器(節點)通過網絡和軟體連接配接可協同工作,以增強應用程式和服務的可用性。故障轉移群集包含一個連接配接到所有節點的儲存設備,即共享儲存設備。共享儲存設備用于存儲群集的公用資料和仲裁資料。雙節點故障轉移群集如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcsQXYtJ3bm9CXldWYtlWPzNXZj9mcw1ycz9WL49zdaVnQuxENRRUT3VlaalmT6lFMrpXWoJEVPNTSq5UaO1mW1kEVatmTU9EbaRVTshmeMVTR6xUNBR1T4FkaNZ3YyI2cKJDT6ZlMahWMXFmdwIjYqVTeiBjTX1UM0MVT6lTeMZTTINGMShUYvwlbj5yZtlmbkN3YuQnclZnbvN2Ztl2Lc9CX6MHc0RHaiojIsJye.jpg)
為了保證共享儲存設備上資料的完整性,故障轉移群集内一次隻有一個節點擁有共享儲存設備的所有權。隻有當該節點故障或者人為轉移所有權時,才會由下一個節點擁有共享儲存設備的所有權。這就決定了故障轉移群集和網絡負載平衡群集在功能上的不同,即故障轉移群集内一般隻有一個節點為使用者提供服務(活躍狀态),其餘節點處于備份狀态。當主動節點因為故障當機時,會由下一個節點接替它繼續為使用者提供服務,而網絡負載平衡群集内的節點可以同時為使用者提供服務。
2、故障轉移群集的特點
- 故障轉移群集可通過資源故障轉移而為應用程式提供高可用性的服務。它側重于保持用戶端對應用程式和系統服務的通路。
- 故障轉移群集最多可以支援64個節點和8000個虛拟機。
- 可以利用本地或Microsoft Azure雲見證作為仲裁。
- 故障轉移群集需要使用共享儲存設備。
二、故障轉移群集的要求
故障轉移群集必須滿足硬體、軟體和網絡基礎機構的預設要求,并且需要一個具有适當域權限的管理賬戶。
1、硬體要求
- 伺服器:建議使用一組包含相同或配置相似的計算機,并且要求與Windows server 2016相容。
- 網絡擴充卡和電纜(用于網絡通信):與故障轉移群集解決方案中的其他元件一樣,網絡硬體也要求和Windows server 2016相容,如使用iSCSI,則必須将網絡配置專用于網絡通信或iSCSI,而不能同時用于兩者。
- 用于存儲的裝置控制器或相應擴充卡。
- 共享儲存設備:必須與Windows server 2016相容,并且至少應包含兩個獨立卷。一個卷将用于見證磁盤,另一個卷将包含群集角色所需的檔案。共享儲存設備若是本機磁盤,則不能設定為動态卷,隻能使用基本磁盤,并且建議使用NTFS檔案系統。
2、網絡基礎結構和賬戶要求
- 網絡設定:建議使用相同的擴充卡,并且在擴充卡上使用相同的通信設定。另外,還要比較網絡擴充卡與它所連接配接的交換機之間的設定,以確定設定不發生沖突。
- IP位址:如果群集的專用網絡沒有用路由到其他裝置,則盡量確定每個此類專用網絡都使用唯一的子網,不要為用于不同目的的網絡指定相同的網段。
- DNS:群集中的伺服器必須使用DNS來進行名稱解析,可以使用DNS動态更新協定。
- 域角色:建議群集中的所有伺服器處于相同的active directory域中。此處建議所有的群集伺服器都是成員伺服器,DC不要配置成群集節點。
- 用于管理群集的賬戶:首次建立群集或向群集中添加伺服器時,必須使用對該群集中所有伺服器具有管理者權限的賬戶登入到域。
三、故障檢測
故障檢測和防範時故障轉移群集提供的關鍵優點。當群集中的節點或應用程式失敗時,故障轉移群集可以通過重新啟動失敗的應用程式或将故障系統的工作分散給幸存的群集節點來做出響應。故障轉移群集故障檢測和防範包括雙向故障轉移、應用程式故障轉移、并行恢複及自動故障恢複。
群集服務九二一檢測各個資源或節點的故障,并動态地将應用程式、資料和檔案資源轉移到群集中可用的正常伺服器上,然後重新啟動它們。是以,資料庫、檔案共享和應用程式等資源可以對使用者和用戶端應用程式保持高度可用性。
故障轉移群集主要是通過心跳線、仲裁檢測群集故障。
1、心跳線
群集的各個節點互相間會定期使用專用的群集網絡交換裝置發送消息(預設每隔5秒互相發送一次),因為隻要群集節點還在工作,就會不停地、周期性地發送資訊給群集内的其餘節點,所有這些消息被稱為心跳資訊,用于傳送心跳資訊的專用網絡被稱為心跳線。通過心跳通信,每個節點可以檢查其他節點及其應用程式的可用性。
如果某個備份節點發生了故障,則會在給定的時間内允許它以幾種方式中的任何一種證明它仍處于正常運作中,并且可以同其他正常的節點通信。如果它無法證明,則此時會将它移除群集。
如果活躍節點發生故障,在指定的周期内(預設為兩個周期,即10秒)備份節點沒有接收到心跳資訊,則将進行故障轉移,由備用節點接管群集,對外提供服務。
2、仲裁
故障轉移群集時否可以正常工作時由群內建員投票決定的,預設情況下,每個群集節點都可以投一票,另外,仲裁見證可以投額外的一票(仲裁見證可以是磁盤或檔案共享資源)。隻有投票超過半數,群集才能正常工作。
- 多數節點(無見證),僅群集節點具有投票權。适合群集節點數為奇數的情況。
- 帶見證的多數節點(磁盤或檔案共享),除群集節點具有投票權外,仲裁見證也有一票。适合群集節點數為偶數的情況。
- 無多數(僅磁盤見證),沒有群集節點具有投票權,僅磁盤見證有一票。通常不建議使用此模型,容易發生單點故障。
四、部署故障轉移群集cluster
本案例以一個雙節點的故障轉移群集為例,明确區分開三個用途不同的網絡:VM2網卡傳輸心跳資訊、VM3連接配接存儲伺服器、VM4對外服務
1、案例環境描述:
四台Windows server 2016
一台Windows 7
一台server 2016部署域控制器(我是是事先部署好的域控制器)網卡我設定的VM4對外服務。
第二台部署群集節點1(cluster01),需要三塊網卡,VM2(private)用于傳輸心跳資訊,VM3(SAN)用于連接配接存儲伺服器,VM4(public)對外服務。加入域環境。
第三台部署群集節點2(cluster02),也需要三塊網卡,VM2(private)用于傳輸心跳資訊,VM3(SAN)用于連接配接存儲伺服器,VM4(public)對外服務。加入域環境。
第四台部署存儲服務(SAN),一塊網卡,VM3,要保證和cluster01、cluster02的VM3網絡互通。加入域環境。
Windows 7充當用戶端,一塊VM4網絡,保證和前四台網絡互通,加入域。
2、開始部署:
AD_DNS配置如下:
網卡調成對外服務的VM4網卡
登入域
修改IP位址、DNS及關閉防火牆
建立一個組織機關,建立兩個使用者,一會後面用于驗證故障轉移群集
使用者建立完成
cluster01配置如下:
添加三塊網卡
先證明三塊網卡的名字,然後配置IP位址,private是傳輸心跳,SAN連接配接存儲服務,public對外服務
修改完成将其加入域
加入成功,重新開機計算機
本地管理者登入域
Cluster02配置如下:
添加三塊網卡
搞清楚三塊網卡開始配置IP位址
配置完成之後将其加入域,我就省略了幾步圖檔,不明白可以參照cluster01是怎麼加入域的
本地管理者登入域
SAN配置如下:
添加連接配接存儲的網卡,也就是VM3
配置IP位址
安裝存儲服務
預設下一步
确認無誤後開始安裝
安裝完成
配置存儲服務
建立虛拟磁盤位置
指定一個虛拟磁盤名字
設定虛拟磁盤大小
指定一個目标名稱
指定通路伺服器,我用IP位址指定,指定完成後其他IP位址就通路不到,後面也就不需要開啟CHAP驗證了
前面也可以不指定IP位址,這一步開啟驗證也可以的,根據需求自行配置
确認無誤開始建立
建立完成
緊接着建立第二塊虛拟硬碟
兩塊虛拟硬碟建立完成後,你會發現他倆是未連接配接的
cluster01連接配接存儲伺服器:
接下來開始連接配接,Cluster01伺服器上打開Windows管理工具
單擊是
輸入存儲伺服器的IP位址連接配接即可
打開cluster01的計算機管理器,此時會發現有兩塊脫機的硬碟,我們将他聯機初始化,然後建立簡單磁碟區,設定Q盤為心跳盤,S盤為資料庫盤
建立簡單磁碟區
建立Q盤
預設下一步
第二塊硬碟建立S盤,作為資料庫盤,操作是一樣的我就不截圖了。
兩塊硬碟配置完成後打開此電腦會發現多了兩塊磁盤
Cluster02連接配接存儲伺服器:
Cluster02連接配接存儲伺服器和cluster01操作步驟是一樣的,而且盤符必須是一緻的,按照cluster01配置就可以了
連接配接存儲伺服器成功後,打開磁盤管理會發現和cluster01的盤符不一緻,我們需要手動更改盤符
第一塊硬碟更改盤符為Q盤
更改第二塊硬碟盤符
更改為S盤
cluster01開始安裝檔案伺服器故障轉移群集:
添加檔案伺服器
添加故障轉移群集
确認無誤開始安裝
安裝完成
cluster02也是安裝此步驟安裝就可以了,安裝完成之後就什麼也不需要配置了,在cluster01上配置即可
cluster01先配置故障轉移群集,然後再配置檔案伺服器
建立新群集
輸入伺服器名稱dc3.benet.com然後添加(計算機名加域名)
預設下一步
正常在工作環境的話還需要安裝驅動,我是模拟環境就不需要了,注意檢測有沒有報錯,警告是不影響的
輸入群集名稱和群集IP位址
繼續添加第二個節點
輸入第二個節點的計算機名加域名,我的是dc4.benet.com,基本和第一個節點配置一樣,相同步驟我就省略咯
完成驗證配置
完成之後點選此電腦會發現共享磁盤在cluster01上,cluster01為活躍節點,而cluster02為備份節點,而且在AD伺服器上檢視DNS正向查詢區域benet.com下多了一台cluster主機,
配置仲裁見證磁盤
選擇仲裁見證
配置為磁盤見證
選擇S盤為見證存儲卷
配置完成
開始配置檔案伺服器
選擇檔案伺服器
預設下一步
建立一個用戶端通路的名字和公共IP位址
添加共享
快速共享
添加共享位置
建立共享名稱
預設下一步
使用者添權重限,也就是在AD上建立的那兩個使用者
bob設定隻讀權限
tom設定讀取和寫入權限
共享添權重限
配置完成把everyone删除然後應用确定即可
用戶端配置如下:
設定IP位址
用戶端加入域
本地管理者登入域
将tom和bob添加到administrator組裡,禁用administrator使用者,切換bob登入驗證
Tom登入,
通路共享檔案
此時可以看出tom有讀取和寫入權限,可以下載下傳也可以上傳
切換Bob登入
通路共享檔案
會發現bob隻能讀取而不能寫入
模拟cluster01故障,活躍節點自動切換到cluster02伺服器上,驗證能保證使用者正常通路
關機之後去cluster02上檢視此電腦會發現群集自動切換過來,cmd裡敲ipconfig也會發現兩個群集的IP位址自動切換過來,備份節點成為了活躍節點,切換時間隻需要5s
不影響用戶端通路,而且也看不出來cluster出了故障
—————— 本文至此結束,感謝閱讀 ——————