代码改变世界

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

  潇湘隐者  阅读(15)  评论(2编辑  收藏  举报

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

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

磁盘见证

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

文件共享见证

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

云见证

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

在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

相关博文:
阅读排行:
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)
历史上的今天:
2020-02-11 SQL Server等待事件—PAGEIOLATCH_EX
2015-02-11 SQL SERVER特殊行转列案列一则
点击右上角即可分享
微信分享提示