SQL Server Alwayson配置兩個節點加共用資料夾仲裁見證

來源:互聯網
上載者:User

標籤:錯誤提示   div   strong   border   ora   text   需要   round   唯讀路由   

標籤:MSSQL/節點和共用資料夾多數

概述  

之前講過多數節點的仲裁配置,多數節點一般3個節點以上的奇數個節點;常見的是使用3個節點節點多了也是浪費因為Alwayson的唯讀路由只能利用到一個唯讀副本,但是從Windows2008開始可以用共用資料夾來代替一個節點來充當仲裁;這就又可以節省一台伺服器了只需要兩台資料庫伺服器加任意一台電腦的共用資料夾,但是一般會選擇在網域服務器上建立共用資料夾,可以使用alwayson的共用網路位置。

 

 

資料庫:SQLServer2014 SP2

OS:Windows Server 2008R2

 

一、配置仲裁

 

可以在建立容錯移轉叢集的時候配置,也可以建立完叢集後右鍵叢集來修改仲裁配置

這裡的共用資料夾路徑使用網域服務器已經建立好的共用網路路徑

注意:這個路徑的許可權必須everyone角色具有讀寫權限,否則叢集會出現以下錯誤提示

 

二、讀寫分離

當使用兩個節點後,讀寫分離的配置和三個節點會稍微有點區別,假設我現在只有DB01,DB02兩個節點

1.Alwayson屬性配置

注意:主角色中的串連這裡和三個節點不一樣,三個節點這裡可以選擇“僅允許讀/寫串連”,這裡是能選擇“允許所有串連”,否則其中一個節點無法訪問後唯讀路由訪問會失敗(返回錯誤982)。

2.語句配置

---建立read指標 - 在當前的primary上為每個副本建立副本對於的tcp串連ALTER AVAILABILITY GROUP [Alwayson22]MODIFY REPLICA ONN‘db01‘ WITH(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N‘TCP://db01.ag.com:1433‘))ALTER AVAILABILITY GROUP [Alwayson22]MODIFY REPLICA ONN‘db02‘ WITH(SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N‘TCP://db02.ag.com:1433‘))----為每個可能的primary role配置對應的唯讀路由副本--list列表有優先順序關係,排在前面的具有更高的優先順序,當db02正常時唯讀路由只能到db02,如果db02故障了唯讀路由才能路由到DB01ALTER AVAILABILITY GROUP [Alwayson22]MODIFY REPLICA ONN‘db01‘ WITH(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(‘db02‘,‘db01‘)));ALTER AVAILABILITY GROUP [Alwayson22]MODIFY REPLICA ONN‘db02‘ WITH(PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=(‘db01‘,‘db02‘)));
--查詢優先順序關係SELECT  ar.replica_server_name ,        rl.routing_priority ,        ( SELECT    ar2.replica_server_name          FROM      sys.availability_read_only_routing_lists rl2                    JOIN sys.availability_replicas AS ar2 ON rl2.read_only_replica_id = ar2.replica_id          WHERE     rl.replica_id = rl2.replica_id                    AND rl.routing_priority = rl2.routing_priority                    AND rl.read_only_replica_id = rl2.read_only_replica_id        ) AS ‘read_only_replica_server_name‘FROM    sys.availability_read_only_routing_lists rl        JOIN sys.availability_replicas AS ar ON rl.replica_id = ar.replica_id

會發現配置唯讀路由列表這裡和之前的三個節點有區別,我用綠色標識了出來;之前三個節點的時候這裡用的是DB03。

三個節點:當DB01節點無法訪問時,DB02節點變成主節點充當讀寫副本,DB03節點充當唯讀副本。

兩個節點:當DB01節點無法訪問時,DB02節點變成主節點即充當讀寫副本同時也充當唯讀副本。

當停止DB01的服務後仲裁會自動切換到DB02上來,且讀寫和唯讀串連都會串連到DB02上。這裡就不做示範從也可以看到單節點DB02線上。

總結  

對比三個節點,使用兩個節點可以減少一台伺服器節省不少人力成本。畢竟故障的情況並不是很多。但是也不得不說一下這種方案的弊端,那就是當一個節點故障後另一個節點要同時承擔讀寫和唯讀兩倍的負擔,使用該方案之前就必須得評估一個節點能否支援得起這種負載壓力!!!

 

 

搭建和加入域參考:http://www.cnblogs.com/chenmh/p/4444168.html

搭建容錯移轉叢集參考:http://www.cnblogs.com/chenmh/p/4479304.html

Alwayson搭建參考:http://www.cnblogs.com/chenmh/p/4484176.html

Alwayson讀寫分離參考:http://www.cnblogs.com/chenmh/p/7000236.html

 

備忘:

    pursuer.chen

    部落格:http://www.cnblogs.com/chenmh

本網站所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。

《歡迎交流討論》

SQL Server Alwayson配置兩個節點加共用資料夾仲裁見證

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.