從0開始搭建SQL Server AlwaysOn 第四篇(配置異地機房節點)
第一篇
http://www.cnblogs.com/lyhabc/p/4678330.html
第二篇
http://www.cnblogs.com/lyhabc/p/4682028.html
第三篇
http://www.cnblogs.com/lyhabc/p/4682986.html
第四篇
http://www.cnblogs.com/lyhabc/p/6136227.html
搭建非域AlwaysOn win2016+SQL2016
http://www.cnblogs.com/lyhabc/p/6498712.html
SQL Server AG集群啟動不起來的臨時自救大招
http://www.cnblogs.com/lyhabc/p/6953255.html
這一篇是從0開始搭建SQL Server AlwaysOn 的第四篇,這一篇開始搭建異地機房節點
注意點1
注意異地節點最好至少有2個AG節點,否則在本地節點進行手動故障轉移的時候會出現仲裁警告,提示WSFC集群有脫機危險
在異地節點只有一個的情況下,雖然Windows2012R2有動態仲裁機制,但是,當本地節點非優雅宕機的情況下,整個WSFC集群有可能得不到任何票數
也就是異地節點也得不到票數而導致整個WSFC集群脫機!!
注意點2
當進行手動故障轉移的時候,更新DNS緩存需要10分鍾,所以當進行手動故障轉移之后,用偵聽器ip連接SQL Server會很慢,這是因為還在更新DNS緩存
步驟
這一篇依然使用step by step的方式介紹怎麽搭建AlwaysOn異地機房節點
新加異地機房節點機器名:
1、在異地節點上安裝故障轉移集群
2、在本地機房節點機器上打開故障轉移集群管理器,添加一個節點
3、驗證配置
4、解決新加節點OU不同問題,只需修改組織單位ou,不需要修改站點site,因為如果本地機房和異地機房的域設置了site,在驗證配置的時候會警告,當然可以忽略也可以修正
因為只是警告已而,忽略也無所謂
5、添加節點成功
6、在新節點上安裝好SQL Server並優化SQL Server,這里忽略安裝和優化步驟
7、把異地機房新節點添加到alwayson可用性組里,打開alwayson的可用性屬性界面,可用性組名稱為:AGWMSJXC
可以看到添加了異地機房節點之后,這個異地機房節點還沒有聯接到可用性組,也就是當前可用性組還沒識別到這個異地機房節點
8、對偵聽器添加另一個子網的VIP,這一步,如果可用性組沒有啟用可用性組偵聽器那么這一步可以忽略
如果可用性組啟用了偵聽器,那么需要分兩種情況
1、異地節點的網段跟本地機房是一樣的,比如都是192.168.1.x ,那么這一步也不需要做
2、異地節點的網段跟本地機房是不一樣的,也就是跨子網,比如本地機房是192.168.1.x,異地機房是192.168.10.x,那么這一步需要做
現在偵聽器IP有兩個,一個是本地機房網段的IP,一個是異地機房網段的IP
添加了新的偵聽器vip之后,故障轉移集群管理器里會自動將這個偵聽器vip資源脫機
9、新建一個測試可用性組,主要用來打通/開啟本地節點和異地節點的5022端口
建好之后,在原AG刷新一下會看到異地節點JXCA-WMS08已經自動聯接到可用性組AGWMSJXC
10、對數據庫進行備份還原到異地節點JXCA-WMS08,在異地節點JXCA-WMS08上進行操作,將數據庫逐個點擊聯接到可用性組
11、異地節點添加完成
12、手動故障轉移主副本到異地節點
注意當只有一個異地節點的時候,正在驗證WSFC仲裁投票配置那一欄會出現警告!
故障轉移之后會發現異地節點的偵聽器ip聯機,本地節點的偵聽器ip脫機
13、在異地節點上使用異地節點偵聽器ip連接SQL Server,並寫入測試數據
14、把主副本手動故障轉移回來本地節點
15、用本地節點偵聽器ip連接SQL Server,發現剛才對異地節點偵聽器ip的數據寫入都已經同步過來本地機房節點
16、添加WSFC集群IP地址資源的異地機房IP,在WSFC管理器里選中群集核心資源下面的服務器名稱,右鍵-》屬性
添加一個異地機房的WSFC的vip:192.168.7.130
添加成功之后vip會顯示脫機這是因為當前WSFC主節點不在異地機房的節點上,而是本地機房的節點上
17、把WSFC主節點轉移到異地機房的某個節點,然后把本地所有節點都關機
這時候把本地機房的所有節點關機
現在用異地機房節點的WSFC的vip連接WSFC集群
可以發現WSFC的主節點已經轉移到WIN-BDKSOOLDV18這個異地節點上了,而且群集資源還是聯機狀態
18、沒有加入域的應用服務器(IIS服務器)如果需要用偵聽器名稱來連接alwayson集群是不行的,解決方法是修改
應用服務器的hosts文件,寫上偵聽器名和偵聽器ip,這樣客戶端才能用偵聽器名稱連接alwayson集群,客戶端的webconfig文件
里寫偵聽器名稱,這樣即使failover到異地節點也不需要修改應用服務器的webconfig文件,當然應用服務器加入了域就不用了,、
加入了域的應用服務器會自動去查詢DC上的DNS管理器找到alwayson的偵聽器名稱
hosts文件
testaglisten 192.168.10.91 testaglisten 192.168.11.91
提示:實際上第16步不是必須的,你可以不添加WSFC的異地子網的vip,但是當本地機房所有節點關機之后
你就不能用本地的vip:192.168.6.60來連接WSFC集群,也就無法管理WSFC集群
附上結構圖
兩個網段,所以會有兩個偵聽器IP,但是同一個時刻只有一個偵聽器IP是聯機狀態,在WSFC集群管理器里查看
主站點:192.168.6x
DR站點:192.168.7.x
故障轉移到DR站點之后
參考文章:
http://blog.itpub.net/29371470/viewspace-2087672
http://www.tech-coffee.net/understand-failover-cluster-quorum/
如有不對的地方,歡迎大家拍磚o(∩_∩)o
本文版權歸作者所有,未經作者同意不得轉載。