WSFC中仲裁见证是选择磁盘见证还是文件共享见证?

当Windows故障群集(WSFC)包含偶数个投票节点时,应配置仲裁见证。 如果一半的群集节点同时关闭或断开连接,则添加见证投票会使该群集继续运行。 一般来说,奇数个节点(一般奇数大于或等于3)时无需配置仲裁见证。只有当偶数个节点时需要配置仲裁见证,防止WSFC出现脑裂。

一般来说,常见的仲裁见证有下面三种:

磁盘见证

磁盘见证指的是使用一个共享的磁盘资源。这也是一种常见的仲裁见证方式。从任何集群节点到该共享磁盘的连接也作为赞成投票计数。正常情况下,它需要确保集群中的节点都能够访问同一个共享磁盘。

文件共享见证

共享文件见证则是使用一个可访问的SMB文件共享作为见证。从任何集群节点到该共享的连接也作为赞成投票计数。文件共享见证是一种仲裁见证,文件共享见证对具有复制存储的多站点群集也很有用。不过,共享文件见证可能在网络稳定性方面有更高的要求,因为如果网络出现问题,可能会导致见证不可用,从而影响仲裁。

云见证

云见证是一种故障转移群集仲裁见证,它使用 Microsoft Azure 提供对群集仲裁的投票。这种见证方式暂未配置过,这里暂且不表。有兴趣可以参考官方文档[1]

见证类型

描述

要求和建议

磁盘见证

  • 存储群集数据库副本的专用      LUN
  • 对具有共享(非复制)存储的群集最有用
  • LUN 的大小必须至少有      512 MB
  • 必须专用于群集而且不分配给群集角色
  • 必须包括在群集存储中并且通过存储验证测试
  • 不可以是群集共享卷      (CSV) 磁盘
  • 具有单个卷的基本磁盘
  • 不需要有驱动器号
  • 可以使用 NTFS  ReFS 格式化
  • 可以使用容错功能的硬件      RAID 有选择性地进行配置
  • 应从备份和防病毒扫描中排除
  • 存储空间直通不支持磁盘见证

文件共享见证

  • 在运行 Windows Server 的文件服务器上配置的 SMB 文件共享
  • 不存储群集数据库的副本
  • 仅维护 witness.log 文件中的群集信息
  • 对具有复制存储的多站点群集最有用
  • 必须至少具有 5 MB 的可用空间
  • 必须专用于单个群集而不用于存储用户或应用程序数据
  • 必须对群集名称的计算机对象启用写入权限


  
以下是有关托管文件共享见证的文件服务器的其他注意事项:

  • 可以使用多个群集的文件共享见证配置单个文件服务器。
  • 文件服务器必须位于与群集工作负载分开的站点上。 如果站点到站点网络通信丢失,则允许向任何群集站点提供均等的生存机会。 如果文件服务器位于同一站点上,则该站点成为主站点,并且它是可以访问文件共享的唯一站点。
  • 如果虚拟机未托管在使用文件共享见证的同一群集上,则文件服务器可以在虚拟机上运行。
  • 为了获得高可用性,可在单独的故障转移群集上配置文件服务器。

云见证

  • 存储在 Azure Blob 存储中的见证文件
  • 不存储群集数据库的副本
  • 建议在群集中的所有服务器都具有可靠的      Internet 连接时使用。

请参阅部署云


在SQL Server AlwaysOn的搭建中,Windows故障群集(WSFC)是选择磁盘见证还是文件共享见证取决于具体的场景和需求,以下是两者的对比及选择建议:

磁盘见证

适用场景:适用于具有共享存储(如SAN等)的Windows故障转移群集,需为集群配置共享磁盘资源。所有节点都可以访问同一个共享磁盘。通常用于传统的本地环境,尤其是已具备高可用共享存储的场景。

优点:

  • 配置相对复杂,直接使用共享存储中的磁盘作为见证。
  • 对于单站点的群集,磁盘见证可以快速响应,因为磁盘的读写速度通常较快。
  • 稳定性高:若共享存储本身高可用(如双控SAN),磁盘见证的可靠性较高。
  • 低延迟:存储与集群节点通常处于同一网络,响应速度快。

缺点:

  • 如果存储出现故障,磁盘见证也会受到影响,可能导致群集仲裁失败。
  • 不适用于多站点的场景,因为磁盘无法跨站点共享。

文件共享见证

适用场景:适用于多站点的群集,特别是当存储是复制存储时。

优点:

  • 配置简单,无需专用存储设备,成本低。可以部署在单独的文件服务器上(通常是DC服务器上),避免存储故障对仲裁的影响。
  • 支持跨站点部署,文件服务器可以位于与群集工作负载分开的站点上,从而在站点间网络通信丢失时,仍能维持群集的仲裁。
  • 对于多站点的灾难恢复场景,文件共享见证可以提供更高的灵活性和可用性。

缺点:

  • 配置相对复杂,需要额外的文件服务器,并且需要确保文件共享的可用性和安全性。
  • 性能可能受到网络延迟的影响,尤其是在跨站点部署时。

官方文档给出的建议, 可以在以下情况下,使用文件共享见证:

  • A Cloud Witness can’t be used because your cluster nodes don’t have a reliable internet connection or an internet connectivity.

  • A disk witness can’t be used because there aren’t any shared drives to use for a disk witness. For example, a Storage Spaces Direct cluster, SQL Server Always On Availability Groups (AG), or Exchange Database Availability Group (DAG). None of these types of clusters use shared disks.

翻译如下:

  • 无法使用云见证,因为群集节点没有可靠的Internet连接或 Internet connectivity。

  • 无法使用磁盘见证,因为没有任何共享驱动器可用于磁盘见证。 例如,SQL Server Always On 可用性组 (AG) 或 Exchange 数据库可用性组 (DAG)的存储空间直通群集。 这些类型的群集都不使用共享磁盘。

选择建议

  • 如果群集中的节点数为奇数,通常建议使用“节点多数”模式,不配置仲裁见证。
  • 如果群集中的节点数为偶数,建议配置见证以避免“分裂脑”问题:
  • 单站点群集:如果使用共享存储,且存储的可靠性较高,可以选择磁盘见证。
  • 多站点群集:建议使用文件共享见证,特别是当存储是复制存储时,文件共享见证可以提供更好的容错能力和灵活性。

官方文档的建议:

A disk witness is usually recommended if all nodes can see the disk. A file share witness is recommended when you need to consider multisite disaster recovery with replicated storage. Configuring a disk witness with replicated storage is possible only if the storage vendor supports read-write access from all sites to the replicated storage. A Disk Witness isn’t supported with Storage Spaces Direct.

如果所有节点都可以访问该磁盘,则通常建议使用磁盘见证。当你需要考虑使用复制存储进行多站点灾难恢复时,建议使用文件共享见证。仅当存储供应商支持从所有站点对复制存储进行读写访问时,才可以配置具有复制存储的磁盘见证。存储空间直通(Storage Spaces Direct)不支持磁盘见证。

参考资料
[1] 

1: https://learn.microsoft.com/zh-cn/windows-server/failover-clustering/deploy-cloud-witness?tabs=failovercluster


原文始发于微信公众号(DBA闲思杂想录):WSFC中仲裁见证是选择磁盘见证还是文件共享见证?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/312296.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!