因此,我有一个需要文件共享见证的 SQL Always-On 组。我希望该文件共享见证是冗余的,而且由于我在这个网络上不需要文件服务器,所以我想用最少的服务器来实现这一点。
我以为我已经用 DFS 设置了 2 个服务器,但是这篇文章说不要这样做,因为 DFS 有时可能会使用一个服务器的数据,有时又使用另一个服务器的数据,从而扰乱仲裁:http://windowsitpro.com/high-availability/q-why-cant-i-host-file-share-witness-cluster-dfs-share
因此,看来我需要一个真正的 Windows 故障转移群集,在文件服务器角色中设置。问题是,我读到的所有文章都在谈论使用共享存储。但共享存储(例如 SAN)需要第三台服务器,而且我又有一个单点故障(SAN)。而且,我真的更愿意只购买 2 台新服务器,而不是 3 台。我发现我也可以使用 Windows 的存储空间作为 SAN 的替代方案,但这需要 3 张光盘,因此就购买硬件而言,这更糟糕。
在不购买太多服务器或不发生单个 SAN 点故障的情况下,为见证服务器设置冗余文件共享的最佳方法是什么?显然,我想使用本地存储,但我是否可以设置文件群集,以便在服务器 1 为主服务器时始终使用服务器 1 的硬盘,在服务器 2 为主服务器时始终使用服务器 2 的硬盘,并在其中一台服务器死机时使用 DFS 复制数据?我认为这种方式可以避免上述文章中提到的“仅 DFS”问题,并且仍然只使用 2 台服务器。
答案1
根据共享存储要求,我假设它是 AlwaysON FCI(故障转移群集实例)。对您来说,最简单的解决方案是部署虚拟 SAN。Virtual SAN 将获取您拥有的 2 个 SQL 节点的本地存储,并将其作为高可用性虚拟磁盘呈现给它们。现在,如果其中一个 SQL 群集节点发生故障,您仍然拥有一份实时数据副本和优雅的 SQL 故障转移。虽然大多数 Virtual SAN 产品仅供商业使用,但也可以获得具有不同限制级别的免费产品:
- 数据核心虚拟存储区域网- 仅模拟 FC 存储,仅供非生产用途免费使用。需要提交表格并回答一些问题才能获得。
- 自由生命值垂直稳定态势感知- 模拟 iSCSI,有 1 TB 限制(对于 SQL 来说应该不是问题),但需要至少 3 台服务器。不确定是否允许生产使用。
- StarWind [Virtual SAN Free][3] - 模拟 iSCSI、NFS 和 SMB3。还有至少 2 个免费许可证产品。一个是适用于所有人的 2 节点许可证,它可以提供容错 NFS 和 SMB3 存储。支持生产用途。第二个是 [完全免费的 2 节点 Virtual SAN][4],它通过 iSCSI、DMA、NFS 和 SMB3 提供容错存储。也支持生产用途。要获得那个,您需要成为 MCP/MVP 或 VCP/vExpert 或活跃的在线社区贡献者。(我目前获得了第二个,您必须联系他们才能获得一个)
这是有关使用虚拟 SAN 存储部署 SQL AlwaysOn FCI 的视频(它在 Azure 中,但过程相同)http://www.edwinmsarmiento.com/running-a-sql-server-failover-clustered-instance-on-microsoft-azure/
答案2
Windows Server 目前不支持无共享故障转移群集。您需要支持 SCSI 预留的共享设备,可用作群集存储(以任何角色)。Windows Server 2016 将改变这一现状,它引入了存储副本:
存储副本是 Windows Server 2016 技术预览版中的一项新功能,它支持在群集或服务器之间进行与存储无关的块级同步复制,以实现灾难准备和恢复,以及跨站点扩展故障转移群集以实现高可用性。同步复制支持在具有崩溃一致性卷的物理站点中镜像数据,从而确保文件系统级别零数据丢失。
但您的问题将是先有鸡还是先有蛋的问题。您需要一个见证共享,这样您的集群就能够在发生故障时建立法定人数以做出故障转移决策。您希望将此见证共享放置在由 2 个物理节点组成的机器集群上。因此,您现在突然需要的是文件服务器群集的另一个见证者。这并不能解决你的问题。
底线是:您不应仅为可用性组的见证共享创建文件服务器群集。见证服务器的可用性并不重要,因为它不会影响 SQL 服务器实例的运行。如果见证服务器不可用,您失去的只是自动故障转移到 AG 的其他成员的能力。
话虽如此,您仍应注意缩短见证共享的修复时间。特别是因为它可能只需要花费程序文档,而一台仅需处理 2 个低数据速率连接的备用备份机器实际上可以通过 VPN 连接成为您老板的域加入桌面。
答案3
您还可以将 DFS 与两台服务器和本地存储一起使用。只需正确配置 DFS。很抱歉,目前我无法提供更多信息。