none
Linux 下的 always on 侦听器需要 cluster 的支持么? RRS feed

  • 问题

  • Linux 下配置的 always on, 参考的是官网的文档

    https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-availability-group-configure-rs

    环境比较偷懒,用的是 Docker 下现成的 sql  镜像: microsoft/mssql-server-Linux:2017-latest

    always on 的工作正常,异步和高可用模式都没问题,切换也没问题

    尝试创建了一个个侦听器也成功,但无法通过侦听器连接

    ALTER AVAILABILITY GROUP ag1
    ADD LISTENER N'sql' (
     WITH IP((N'172.17.0.4', N'255.255.255.0')), PORT=1433
    );
    现在还在看文档,先发个贴问问,有做过的同学直接解惑一下

    2017年11月9日 2:17

答案

  • Hi zjcxc.邹建,

     

    首先,Linux下的Always-on的listener是可以没有Cluster的支持的,其次你使用的是适用于带有Cluster的创建方法,这种方法并不适用Cluster-less的情况。

     

    一般按照官方推荐的做法,SQL Server的高可用性是需要Cluster支持的,这种没有Cluster支持的做法被称为Read-scale availability groups,设计初衷并不是为了高可用,而是读写分离。Always-on依靠Cluster来进行仲裁以达到自动故障转移的目的,当然Listener也需要Cluster来引导到Always-on的主节点上,你上文所使用的方法只创建了Listener,但是由于没有Cluster,所以它并不能连接到节点上,所以造成无法连接的问题。

     

    所以在没有Cluster的情况下,我们需要将每个节点的IP地址添加到Listener上面,然后使用DNS record指向正确的节点上面,你可以参考一下这一篇博客: https://blog.dbi-services.com/sql-server-2017-and-new-read-scale-architectures/ ,当然使用这种方法搭建高可用性只能视作是一个变通的方案,真正要实现高可用,还是需要Cluster的。

     

    Best Regards,

    Teige

     


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月14日 2:01
    版主

全部回复

  • Hi zjcxc.邹建,

     

    首先,Linux下的Always-on的listener是可以没有Cluster的支持的,其次你使用的是适用于带有Cluster的创建方法,这种方法并不适用Cluster-less的情况。

     

    一般按照官方推荐的做法,SQL Server的高可用性是需要Cluster支持的,这种没有Cluster支持的做法被称为Read-scale availability groups,设计初衷并不是为了高可用,而是读写分离。Always-on依靠Cluster来进行仲裁以达到自动故障转移的目的,当然Listener也需要Cluster来引导到Always-on的主节点上,你上文所使用的方法只创建了Listener,但是由于没有Cluster,所以它并不能连接到节点上,所以造成无法连接的问题。

     

    所以在没有Cluster的情况下,我们需要将每个节点的IP地址添加到Listener上面,然后使用DNS record指向正确的节点上面,你可以参考一下这一篇博客: https://blog.dbi-services.com/sql-server-2017-and-new-read-scale-architectures/ ,当然使用这种方法搭建高可用性只能视作是一个变通的方案,真正要实现高可用,还是需要Cluster的。

     

    Best Regards,

    Teige

     


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月14日 2:01
    版主
  • 谢谢你的回答,昨天我还在考虑这个问题,之前在文档上看过,有点模糊的映像。正好解答了我的疑惑

    2017年11月14日 3:15
  • 那就是说,要使 listener 工作, cluster 是必须的了?
    2017年11月16日 7:09
  • 如果要让Listener自动工作,是需要Cluster的,如果手动完成所有的工作,可以不要。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月16日 7:16
    版主
  • 如果要让Listener自动工作,是需要Cluster的,如果手动完成所有的工作,可以不要。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    借用这个帖子问一个问题,无域控的AWO 可以配置仲裁文件夹吗。有什么特别的配置?
    2017年11月16日 8:47
  • 按照 https://blog.dbi-services.com/sql-server-2017-and-new-read-scale-architectures/

    的方案,这个在故障转换后需要手工调整,不然通过非 Readonly 连接的不是当前的主副本

    ------------------------

    我还创建了一个具有当前主副本 (advgrplinux – 192.168.40.23) 地址的 DNS 记录。DNS 记录将被应用程序用来连接 AdvGrpDRLinux AG

    ------------------------

    2017年11月17日 4:01
  • 如果要让Listener自动工作,是需要Cluster的,如果手动完成所有的工作,可以不要。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    这是MS的商业策略还是受限于开发进度。。。是故意留些操作空间给DBA们以增值么

    SQL Server 2016 ~ 2000 性能优化、方案设计 QQ:315054403 田园嘉兴

    2017年11月21日 1:07