SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
1. 背景
SQL Server 搭建AlwaysOn后,我們就希望程序連接時使用虛擬的偵聽IP(Listener IP),而不再是主Server 的IP。如果我們有采用中間件,則可以在配置中,直接用Listener IP 替換掉 Server IP,可有時候,我們不太確定,是否有些舊程序、不太常用的程序在使用。甚至在很多公司根本就沒有使用中間件,這時候去修改每個應用、APP、程序的數據庫連接配置,太難了。
那么有沒有其它好的方案呢?有一個---調換主Server IP與Listener IP,即將Server IP與Listener IP互換。
2.?測試目的
為減少因使用AlwaysOn的Listener IP而必須調整現(xiàn)有程式的工作,考慮測試把Listener IP改成原主Server IP。
對調的好處:
1)減少應用、APP、程序的數據庫連接配置的修改。
2) 外部接口(廠商、SAP、ETL、xDS、BI、MIS, etc)不用修改;如修改,溝通成本大。
3) 不用擔心有老舊程序未修改為調用Listener IP。
3.?測試環(huán)境
| Node1 | Node2 | Node3 | Cluster IP | Listener IP |
| 168.172.40.112 | 168.172.40.113 | 168.172.40.114 | 168.172.40.115 | 168.172.40.117 |
Role:Primary ?Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit |
SSMS 連接登入各IP顯示如下:
4.?測試步驟
(第一部分更新主節(jié)點的server IP為臨時IP,即將40.112-->40.118)
Step 1?通過控制面板更新主Server IP
Step 2?更新前為40.112
Step 3?更新后為40.118
Step 4 ?更新后查看狀態(tài)如下(更新后,短暫不可訪問,AG狀態(tài)resolving。約15S自動恢復正常)
此時環(huán)境調整為:
| Node1 | Node2 | Node3 | Cluster IP | Listener IP |
| 168.172.40.118 | 168.172.40.113 | 168.172.40.114 | 168.172.40.115 | 168.172.40.117 |
Role:Primary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit |
(第二部分更新listener IP為原主server IP,即將?40.117--->40.112)
Step 5?打開FailOver管理器--->Role--->Resources--->AGName--->Properties
Step 6 ?選中地址IP,單擊,使Edit欄位變成活躍狀態(tài),點擊Edit。
Step 7 彈出警告,單擊Yes選項。
Step 8? 修改Listener IP
修改前:
修改后:
Step 9 修改完畢,點擊OK。
Step 10?彈出警告,單擊Yes選項
Step 11 修改后可用組Stop, AG狀態(tài)為Resolving。
Step 12 重啟AG Role。
Step 13 ?listener 修改完畢(117—>112)
此時環(huán)境調整為:
| Node1 | Node2 | Node3 | Cluster IP | Listener IP |
| 168.172.40.118 | 168.172.40.113 | 168.172.40.114 | 168.172.40.115 | 168.172.40.112 |
Role:Primary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit |
?(第三部分更新原主的server的 IP由臨時IP調整為Listener IP,即將?40.118--->40.112)
Step 14?參照step 1—>step 5,可把原主server IP由臨時IP調整為Listener IP (118-->117)
此時環(huán)境調整為:
| Node1 | Node2 | Node3 | Cluster IP | Listener IP |
| 168.172.40.117 | 168.172.40.113 | 168.172.40.114 | 168.172.40.115 | 168.172.40.112 |
Role:Primary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit | Role:Secondary Availability Mode:Asynchronous Commit |
5. 總結
可以成功實現(xiàn)調換主Server IP與Listener IP。
測試環(huán)境下:
更改主Server IP為temp IP時,AG自動恢復正常狀態(tài)需要耗時約15秒。
更改Listener IP為原主Server IP時,需要手動重啟一次AG Role,耗時約3~4秒。
更改temp IP為原Listener IP,AG自動恢復正常狀態(tài)需要耗時約15秒。
正式環(huán)境下,可能需時要長一些,可能需要1~2分鐘,甚至更長。
所以,請在周末或假期等業(yè)務線操作不繁忙的時候進行調換作業(yè),避免出現(xiàn)異常時無足夠的處理時間。
切換完成后,建議做兩次auto-failover切換(最后恢復到輔Server還是輔Server),同時請支持部門的同學配合測試程序,確保真正發(fā)生Auto-failover時不出現(xiàn)問題。
原文地址:https://www.cnblogs.com/xuliuzai/p/10747343.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长沙4月21日开发者大会暨.NET社区成
- 下一篇: 使用Entity Framework C