![Windows Server 故障转移群集具有容错能力吗?](https://linux22.com/image/674489/Windows%20Server%20%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E7%BE%A4%E9%9B%86%E5%85%B7%E6%9C%89%E5%AE%B9%E9%94%99%E8%83%BD%E5%8A%9B%E5%90%97%EF%BC%9F.png)
我尝试在网上阅读大量关于此问题的文章,并相信我“看到了答案”,但我希望得到证实。
Windows Server 故障转移群集是否提供与 VMWare FT 类似的容错功能?
我们有一个服务器应用程序,它维护与各种设备的网络连接,并在客户端和该设备之间实时传输数据。与连接和设备相关的大量配置和状态数据保存在 RAM 中,永远不会写入磁盘。
VMWare FT 似乎为此类应用提供了一种可行的容错解决方案,因为它使配对的虚拟机保持同步处理,并在硬件故障时将数据保存在 RAM 中。故障转移可能也足够快,以保持与我们设备的网络连接。我们知道它无法防止应用或操作系统级别的故障。
我在 WSFC 中没有发现类似的能力,但我读过的一些论文也是几年前的了,所以我意识到我可能没有最新的信息。
感谢您提供的任何信息。
答案1
首先要问的是,如果某个节点发生故障,您需要为该应用程序设定什么样的恢复时间目标 (RTO)。请记住,接近零可能会产生成本和限制。
VMware FT 确实保持虚拟机状态同步,以便操作系统继续运行。这带来了巨大的同步挑战。它需要强大的网络连接,并且 vCPU 数量有限。
Windows Server 故障转移群集不等同于 FT;我还没有看到 Microsoft 提供 FT 解决方案。WSFC 在 OS 实例之间移动服务,但会短暂中断。
VMware HA 和类似的虚拟机管理程序功能可将虚拟机移至另一台主机并在操作系统发生故障时启动它。这也是短暂的中断。更接近故障转移群集,但会移动整个虚拟机。
答案2
您所描述的是有状态服务。与 Web 服务器等无状态服务相对。
是的,Windows 故障转移群集支持有状态服务。您应该进一步阅读故障转移群集和您的服务的文档,以了解您的服务是否满足要求。
为了适合故障转移群集,服务或应用程序必须具有某些特征。 最重要的特征包括:
- 服务或应用程序应该是有状态的。换句话说,服务或应用程序应该具有长期运行的内存状态或大量、频繁更新的数据状态。数据库应用程序就是一个例子。对于无状态应用程序(如 Web 服务器前端),网络负载平衡可能比故障转移群集更合适。