• 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而必须调整现有程式的工作,考虑测试把Listener IP改成原主Server IP。

    对调的好处:

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

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

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

    3. 测试环境

    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. 测试步骤

    (第一部分更新主节点的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

    5. 总结

    可以成功实现调换主Server IP与Listener IP。

    测试环境下:

    1. 更改主Server IP为temp IP时,AG自动恢复正常状态需要耗时约15秒。
    2. 更改Listener IP为原主Server IP时,需要手动重启一次AG Role,耗时约3~4秒。
    3. 更改temp IP为原Listener IP,AG自动恢复正常状态需要耗时约15秒。

    正式环境下,可能需时要长一些,可能需要1~2分钟,甚至更长。

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

    切换完成后,建议做两次auto-failover切换(最后恢复到辅Server还是辅Server),同时请支持部门的同学配合测试程序,确保真正发生Auto-failover时不出现问题。

     本文版权归作者所有,未经作者同意不得转载,谢谢配合!!!

  • 相关阅读:
    Maven记录
    TP-Link的config.bin的解码
    SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
    axis1.4调用WebService报找不到分派方法
    Spring在单例bean中使用session、request范围的bean
    使用spring-session同时用session范围bean的问题
    tomcat session共享快速入门
    Log4j配置spring+druid打印日志
    基于WebSocket的多人在线坦克大战demo
    IDEA将maven项目配置到本地tomcat中运行
  • 原文地址:https://www.cnblogs.com/xuliuzai/p/10747343.html
Copyright © 2020-2023  润新知