我正在构建一个由 EqualLogic iSCSI SAN 支持的新 SQL 2008 R2(企业)集群。我不想建立一个故障转移集群(我已经完成了),而是想设置几个同时处于活动状态的节点。我想将 CPU/RAM 负载分散到节点上。
任何人都可以指出我的文件吗?我只查找有关 HA/故障转移群集的信息。
我正在构建一个由 EqualLogic iSCSI SAN 支持的新 SQL 2008 R2(企业)集群。我不想建立一个故障转移集群(我已经完成了),而是想设置几个同时处于活动状态的节点。我想将 CPU/RAM 负载分散到节点上。
任何人都可以指出我的文件吗?我只查找有关 HA/故障转移群集的信息。
您不会使用 SQL Server 获得“负载平衡”。有很多“高可用性”功能,包括集群。
也就是说,您不能对具有多个 SQL Server 实例的相同数据进行读/写。
您可以将报告卸载到快照上,或在实例之间复制数据,或“共享可扩展”,但没有一个是每个节点上所有数据的完整 OLTP。
为 SQL Sever 扩大规模,而不是扩大规模
SQL Server 不支持服务器级别的负载平衡。在 stackoverflow.com这里有一个类似的讨论。您可能会查看 SQL Server 和 Soft NUMA 架构。如果您的硬件兼容,您可以使用多台服务器并使其像一台大型服务器一样运行,并在所有服务器之间共享 CPU 和 RAM。Jonathan Kehayias 在这里写了一篇简短的文章。尽管您确实在这方面放松了 HA,但因为如果其中一个 NUMA 节点出现故障,它会被视为单个服务器出现故障(整个事情都是 ca-put)。
我在分配工作负载时看到的唯一方法是在数据库级别。这涉及更多的开发工作,尽管数据存储在哪一部分以及应用程序如何获取它。
简而言之,你没有。有很多方法可以使用复制和负载均衡器来做到这一点,但是设置起来非常复杂,并且需要正确设计您的架构才能使其正常工作。