SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试背景SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP。

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互换。

  1. 测试目的
    为减少因使用AlwaysOn的Listener IP而必须调整现有程式的工作,考虑测试把Listener IP改成原主Server IP。

对调的好处:

1)减少应用、APP、程序的数据库连接配置的修改。

2) 外部接口(厂商、SAP、ETL、xDS、BI、MIS, etc)不用修改;如修改,沟通成本大。

3) 不用担心有老旧程序未修改为调用Listener IP。

  1. 测试环境
    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显示如下:

  1. 测试步骤
    (第一部分更新主节点的server IP为临时IP,即将40.112-->40.118)

Step 1 通过控制面板更新主Server IP

Step 2 更新前为40.112

Step 3 更新后为40.118

Step 4 更新后查看状态如下(更新后,短暂不可访问,AG状态resolving。约15S自动恢复正常)

此时环境调整为:

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栏位变成活跃状态,点击Edit。

Step 7 弹出警告,单击Yes选项。

Step 8 修改Listener IP

修改前:

修改后:

Step 9 修改完毕,点击OK。

Step 10 弹出警告,单击Yes选项

Step 11 修改后可用组Stop, AG状态为Resolving。

Step 12 重启AG Role。

Step 13 listener 修改完毕(117—>112)

此时环境调整为:

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)

此时环境调整为:

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

  1. 总结
    可以成功实现调换主Server IP与Listener IP。

测试环境下:

更改主Server IP为temp IP时,AG自动恢复正常状态需要耗时约15秒。
更改Listener IP为原主Server IP时,需要手动重启一次AG Role,耗时约3~4秒。
更改temp IP为原Listener IP,AG自动恢复正常状态需要耗时约15秒。
正式环境下,可能需时要长一些,可能需要1~2分钟,甚至更长。

所以,请在周末或假期等业务线操作不繁忙的时候进行调换作业,避免出现异常时无足够的处理时间。

切换完成后,建议做两次auto-failover切换(最后恢复到辅Server还是辅Server),同时请支持部门的同学配合测试程序,确保真正发生Auto-failover时不出现问题。
原文地址https://www.cnblogs.com/xuliuzai/p/10747343.html

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
9天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
38 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
56 13
|
2月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
2月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
44 6
|
20天前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
29天前
|
SQL 安全 Java
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client
133 0
|
2月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
|
1月前
|
分布式计算 大数据 Hadoop
最快方式搭建docker大数据 测试集群
【8月更文挑战第5天】快速搭建Docker大数据测试集群可采用预构建镜像与Compose文件、利用云服务如AWS的ECS、自动化工具如Ansible或参考在线教程。只需简单配置如内存分配及路径,运行`docker-compose up`即可启动含NameNode、DataNode等组件的Hadoop集群。根据需求与资源选择合适方法。
|
2月前
|
SQL 存储 文件存储
快速部署sqlserver AlwaysOn集群
【7月更文挑战第8天】快速部署SQL Server AlwaysOn集群概览: 1. 准备工作:确认硬件与软件兼容,操作系统一致,资源充足;各节点安装相同SQL Server版本;配置静态IP,保障网络稳定。 2. 创建WFC:安装集群功能,通过管理器创建集群,设定名称、IP及节点。 3. 配置共享存储:接入SAN/NAS,将其作为集群资源。 4. 启用AlwaysOn:在SQL Server中开启功能,创建可用性组,定义主辅副本,添加数据库,设置侦听器。 5. 测试验证:故障转移测试,检查数据同步与连接稳定性。 部署前需深入理解技术细节并测试。