Windows 故障转移和负载平衡混淆

Windows 故障转移和负载平衡混淆

在接下来的几个月里,我们希望在我们的环境中添加故障转移和负载平衡。我们将有 2 台 Hyper V 主机服务器。我们希望在两台主机上都安装 IIS 应用服务器和 SQL 数据库服务器。这样,如果一台机器出现故障,另一台机器就可以代替它。现在我的困惑来自于我在谷歌上进行的一些搜索。据我所知,似乎有 SQL 群集/对等事务设置,以及 Hyper-V 群集。我不确定在这种情况下什么最有效。主机还将有其他随机服务器,例如系统中心、我们的票证服务器、Exchange 管理服务器,以及两者之间的其他几台服务器。所以我不确定现在 Hyper-V 群集是否是最糟糕的选择。

谢谢。

答案1

使用 Hyper-V 群集,您将拥有一个 Hyper-V 服务器池 (2+),所有服务器都连接到同一组网络存储,以便 Hyper-V 群集中的所有服务器都可以使用 LUNS。您必须具有网络存储才能进行此设置。使用 Hyper-V 实时迁移,您可以将正在运行的 VM 从一台 Hyper-V 主机移动到另一个。如果服务器发生故障,这允许将工作负载从一台服务器转移到另一台服务器。如果您的剩余服务器能够处理其他 VM 的负载,这将为您提供物理冗余。此设置无法保护您免受 VM 操作系统和应用程序本身的损坏。(请参阅http://technet.microsoft.com/en-us/library/dd446679(WS.10).aspx了解有关此设置的详细信息。

SQL 具有自己的冗余功能,并且提供多种不同的集群选项。您可以执行传统的主动/被动集群,即使用主动节点和一个或多个被动节点。此设置需要服务器之间共享磁盘,并且仅安装在主动节点上。SQL 还支持多种类型的复制,允许多个主动节点。此方法不需要共享存储,并且在每个服务器上保留数据库的单独副本。(请参阅http://msdn.microsoft.com/en-us/library/ee523927(v=sql.100).aspx适用于 SQL 2008 高可用性选项)

SQL 级别的群集可防止单个节点上的操作系统或应用程序发生故障,从而允许在该情况下进行自动故障转移。如果每个实例都在不同的 Hyper-V 服务器上,您还可以免受硬件故障的影响。此外,SQL 服务器的一些群集方法可防止单个节点上的数据库损坏。使用 Hyper-V 群集和单个 SQL 服务器实例无法保护您免受 VM 中的操作系统/软件故障的影响。如果停机时间不是大问题,您可以在短时间内从 VM 快照中恢复。

编辑:忘记了 IIS 负载平衡部分。

对于 IIS 负载平衡,您可以使用 Windows 网络负载平衡,它会创建一个在两个主机之间共享的虚拟 IP。(请参阅http://technet.microsoft.com/en-us/library/cc770689(v=ws.10).aspx

对于 Hyper-V 群集或 NLB 是否是正确的选择,IIS 服务器和 SQL 服务器适用相同的规则。此外,对于您的其他虚拟机,除非它们也进行了群集/负载平衡,否则它们无法在没有 Hyper-V 群集的情况下免受 Hyper-V 主机问题的影响。

答案2

如果您要在两台主机之间镜像虚拟客户机,请避免使用 HyperV 群集。这样当一台主机发生故障时,虚拟客户机可以在另一台主机上启动,并允许您在主机级别平衡负载。

如果您正在进行 SQL 群集,则可以更快地让备份 SQL 介入并开始处理请求。对于 Web 负载平衡,请使用 NLB(让您的网络人员参与正确操作,阅读有关多播 NLB 的信息)。并在两个 Exchange 虚拟之间使用 Exchange 群集。您会更开心。

相关内容