部署AlwaysOn第一步:搭建Windows伺服器故障轉移集群

来源:http://www.cnblogs.com/ljhdo/archive/2017/01/19/4929237.html
-Advertisement-
Play Games

在Windows Server 2012 R2 DataCenter 環境中搭建集群之前,首先要對Windows伺服器故障轉移集群(Windows Server Failover Cluster,簡稱WSFC)有基本的瞭解。WSFC必須部署在域管理環境中,由多台伺服器組成,每台伺服器稱作一個“結點” ...


在Windows Server 2012 R2 DataCenter 環境中搭建集群之前,首先要對Windows伺服器故障轉移集群(Windows Server Failover Cluster,簡稱WSFC)有基本的瞭解。WSFC必須部署在域管理環境中,由多台伺服器組成,每台伺服器稱作一個“結點”(Node),每個結點上都運行了Windows伺服器故障轉移集群服務,整個集群系統允許部分結點掉線、故障或損壞而不影響整個系統的正常運作。集群自動檢測結點的健康狀態,一旦活躍結點發生異常,變為不可用,則另一臺結點伺服器自動接管發生故障的伺服器,升級為活躍伺服器,並繼續處理任務,一臺伺服器接管發生故障的伺服器的過程稱為"故障轉移"。

一,Windows故障轉移集群的基本組成要素

結點和活躍結點(Active Node):組成集群的每台Server叫做一個結點,在同一時刻,只能有一個結點處理用戶的請求,提供服務,該結點叫做活躍結點;活躍結點是由集群決定的,對用戶完全透明;

虛擬伺服器(Virtual Server):集群中的所有結點組成一個虛擬伺服器,也就是說,從集群的外部看,只能看到一個伺服器,而看不到背後的一堆結點伺服器,虛擬伺服器擁有自己的機器名和IP地址,也稱作“虛擬網路名”和“虛擬IP”,用戶通過虛擬網路名和虛擬IP地址來訪問集群,實際上,虛擬網路名和虛擬IP都在DNS伺服器上登記在冊,和物理伺服器的網路名和IP地址沒有任何區別;

共用磁碟(Shared Array):所有需要在結點之間共用的資源,例如,SQL Server數據文件,錯誤日誌等,都被存儲在Shared Array上,不需要共用的文件則被存儲在每個結點的本地磁碟(Local Disk)上;

私有網路和公共網路:組成集群的多個結點之間,通過私有網路(Private Network)和公共網路(Public Network)連接起來,結點之間通過私有網路發送“心跳信號”來感知彼此是否工作正常;公共網路用來被集群外部的客戶端使用的網路,外部客戶端通過公共網路訪問集群節點;

 

二,Windows 集群提供的功能

Windows集群無法提供負載均衡的能力,在任意時刻,集群中只有一個結點能夠處理用戶的請求,而其他結點都處於空閑狀態,處理用戶請求的結點叫做活躍(Active Node),活躍結點是由集群決定的,對用戶完全透明。

1,健康檢測和自動故障轉移

AlwaysOn高可用技術利用Windows伺服器故障轉移集群的健康檢測和自動故障轉移特性,因此,AlwaysOn必須建立在WSFC之上:

健康檢測:結點之間,通過私有網路互相發送心跳信號來感知彼此是否工作正常,這類信號稱作“心跳線”,一旦某台伺服器因為異常而無法回應信號,那麼剩餘的結點就認為該結點“Dead”,把該結點從當前集群排除;集群的整體健康狀況,是由集群中結點的仲裁投票決定的。

自動故障轉移:以“心跳信號”監視各個結點伺服器的健康狀況,如果主結點(Primary Node)不能響應心跳信號,那麼另一臺伺服器自動升級為Primary Node,繼續處理任務,故障轉移的過程不會對應用程式造成影響,用戶甚至察覺不到虛擬伺服器內部的故障轉移;

WSFC提供的功能很多,但是,部署AlwaysOn只需要瞭解這兩個機制,對於WSFC的其他應用,可以暫時不用瞭解,下麵的第三,四,五章節,分步驟搭建WSFC。

2,集群的仲裁配置

仲裁投票(Quorum Voting):Quorum是仲裁,法定數量的意思,在仲裁模式下,仲裁配置決定集群在正常提供服務時,能夠容忍多少個結點發生故障。在集群中的故障結點達到仲裁(Quorum)規定的數量之前,集群能夠繼續提供服務。

WSFC在集群的結點之間進行健康檢測和仲裁投票,每一個結點通過周期性地發送心跳信號,檢測其他其他結點的健康狀態,並和其他結點共用健康數據,無法響應心跳信號的結點被認為處於異常狀態,集群的所有健康結點都會很快知道該結點出現故障。

仲裁結點集合是投票結點和見證結點(Witness)的大多數(Majority),集群整體的健康狀態是由周期性的仲裁投票的結果決定的,WSFC根據仲裁投票的結果,執行自動故障轉移或者使集群離線:如果仲裁結點集合(Quorum Node Set)的投票結果是大多數結點是健康的,那麼集群將進行故障轉移,繼續提供服務;如果投票結果是少數結點,那麼集群將處於離線狀態。

3,集群的資源組

資源組:資源組是由一個或多個資源組成的組,故障轉移是以資源組為單位發生的,在任何時候,每個資源組都僅屬於集群中的一個結點,該結點是活躍結點。在配置資源組時,一個資源所依賴的其他資源必須和該資源配置在同一個資源組中,跨資源組的依賴關係是不存在的。

活躍結點擁有集群的資源組,能夠處理客戶端的請求,也就是說,擁有資源的結點為用戶提供服務。活躍結點也稱作主結點(Primary Node),集群中的其他結點稱作輔助結點(Secondary Nodes),在Primary Node出現故障時,集群自動將資源轉移到其他輔助結點。基於健康檢測的策略控制自動故障轉移的過程,故障轉移實際上是資源擁有關係(Resource Ownership)的轉移。

三,安裝Windows Server Failover Clustering(WSFC)服務

集群的每個結點伺服器都必須在同一域中,並且都安裝了Windows Server Failover Clustering(WSFC)服務,安裝的過程十分簡單,按照該章節的步驟,只需幾步就安裝成功。

1,打開伺服器管理器(Server Manager),選擇“Add roles and features”

2,在添加功能嚮導中,勾選“Failover Clustering”,點擊“Next”,開始安裝

 3,在“Confirmation” Tab中,進行確認,點擊“Instanll”按鈕,進行安裝操作

 

四,配置故障轉移集群

1,打開故障轉移機器管理器

安裝Failover Clustering 功能完成之後,打開Server Manager,在菜單Tools中選擇“FailOver Cluster Manager”,打開故障轉移機器管理器

2,在故障轉移管理器中,創建集群

用戶在故障轉移管理器(Failover Cluster Manager)中,能夠對已經創建成功的Failover Cluster進行管理,查看集群的信息,監控集群的狀態和驗證(Validate)集群的配置等。在截圖的標記處,點擊Create Cluster,開始創建新的集群。

3,添加集群的結點伺服器

輸入集群的結點伺服器名稱,節點伺服器必須位於相同網段中,能夠相互訪問;

4,驗證警告

如果需要對集群的基本環境,包括硬體,進行WSFC需求驗證,可以選擇“Yes”,本例選擇“No”,不驗證

 

 5,定義“用於管理群集的訪問點”

為集群命名,Cluster Name實際上是虛擬伺服器的網路名;集群的IP地址由系統自動配置,該IP地址實際上是虛擬伺服器的IP地址;

6,確認配置信息,點擊“Next”,創建新的集群

五,配置集仲裁設置

當集群中的結點發生故障時,會由其他結點接手繼續提供服務,不過,當結點之間通信出現問題,或大多數結點發生故障時,集群就會停止服務,可是集群可以容忍多少個結點發生故障呢?這要由仲裁配置(Quorum Configuration)決定,仲裁配置使用多數原則,只要集群中健康運行的結點數量達到仲裁規定的數量(多數結點投贊成票),集群就會繼續提供服務,否則集群就停止提供服務。在停止提供服務期間,正常結點持續監控故障結點是否恢復正常,一旦正常結點的數量恢復到仲裁規定的數量,集群就恢復正常,繼續提供服務。

1,返回到故障轉移集群管理器,在“Failover Cluster Manage”下拉列表中展示創建成功的集群

2, 右擊群集節點,在上下文菜單中點擊“More Actions”,在擴展菜單中選擇“Configure Cluster Quorum Settings”為該集配置仲裁

 

3,打開配置集群仲裁的嚮導

4,選擇仲裁配置選項,使用預設的仲裁配置,由集群決定仲裁管理選項

微軟推薦配置一個Quorum Witness,幫助實現集群的最高可用性,如果對仲裁配置不是很瞭解的話,可以使用預設選項,由集群決定仲裁配置。

5,確認仲裁配置選項,點擊“Next”,開始配置集群的仲裁設置

至此,Windows 伺服器故障轉移集群搭建完成,用戶可以在WSFC的基礎之上,部署AlwaysOn高可用技術,創建可用性組(Availability Group)。

 

參考文檔:

Failover Cluster Step-by-Step Guide: Configuring the Quorum in a Failover Cluster

從0開始搭建SQL Server AlwaysOn 第二篇(配置故障轉移集群)

Windows Server Failover Clustering (WSFC) with SQL Server

AlwaysOn Failover Cluster Instances (SQL Server)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • iOS開發中,我們經常遇到獲取拍照、相冊中圖片的功能,就必然少不了UIImagePickerController,但是我們發現當我們使用它的時候,它的頁面是英文的,看著很彆扭,國人還是比較喜歡看中文界面,下麵來看看我們怎麼把它變成中文界面的吧! 只需下麵兩步就可以了: Project-->Info- ...
  • LinearGradient 線性漸變渲染器 LinearGradient中文翻譯過來就是線性漸變的意思。線性漸變通俗來講就是給起點設置一個顏色值如#faf84d,終點設置一個顏色值如#CC423C,然後在一個區域內繪圖,這個圖像的顏色將呈現非常美妙的效果,顏色會從起點顏色到終點顏色過渡。給一張圖, ...
  • 示例地址 GitHub : https://github.com/ZhangGaoxing/xamarin-android-demo/tree/master/ControlsDemo ...
  • v$session中Command的數字含義。 1 CREATE TABLE 2 INSERT 3 SELECT 4 CREATE CLUSTER 5 ALTER CLUSTER 6 UPDATE 7 DELETE 8 DROP CLUSTER 9 CREATE INDEX 10 DROP INDE ...
  • 當使用 sp_attach_db 系統存儲過程附加資料庫時- - Tag: 當使用 sp_attach_db 系統存儲過程附加資料庫時 //附加資料庫 sp_attach_db 當使用 sp_attach_db 系統存儲過程附加資料庫時。 sp_attach_db:將資料庫附加到伺服器。 語法 sp ...
  • 1.ASCII 返回與指定的字元對應的十進位數; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE 65 97 48 32 2. CHR 給出整數,返回對應的字元; SQL ...
  • 作用:想要生成整個Oracle資料庫所有表結構WORD文檔(資料庫設計說明書) Oracle資料庫字典介紹 Oracle數據字典是有表和視圖組成的,存儲有關資料庫結構信息的一些資料庫對象。資料庫字典描述了實際數據是如何組織的。對它們可以象處理其他資料庫表或視圖一樣進行查詢,但不能進行任何修改。 Or ...
  • 估計是春節前最後一次寫博客,也估計是本年值班最後一次踩雷,感嘆下成也SQL SERVER,敗也SQL SERVER。 場景描述: 操作系統版本 :Windows Server 2012 數據中心版本 資料庫版本 :SQL SERVER 2012 企業版,版本號:11.0.5582.0 問題描述:數據 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...