Date: 2月 7, 2018
标签:SQL Server 2012
Alwayson可用性组是公有云中Alwayson故障转移群集的可靠选择吗?
我最近阅读了一篇名为SQL Server 2012 AlwaysOn:云数据中心高可用性数据库的文章,作者John Joyner在云中使用AlwaysOn可用性组为SQL Server提供高可用性。我一直在调查AlwaysOn可用性组,因为它在SQL Server 2012的预发布版本中可用。虽然它确实有一些有效的用途(主要是在灾难恢复配置中),但它说这是一种“实现HA SQL的新方法”,掩盖了部署AlwaysOn可用性组作为故障转移群集的替代品的许多问题,而不是一个可行在许多情况下选项。
我的回复
在我写给这篇文章的回复中,我提出使用基于主机的复制解决方案DataKeeper Cluster Edition的AlwaysOn多站点集群是一个更好的选择,我继续解释了为什么。我原来对这篇文章的回应似乎已经被删除了,所以我决定把我对以下原文的回应转载:
AlwaysOn可用性组有几件事情需要考虑。正如你所提到的,“微软宣布支持一些System Center 2012 SP1应用程序与SQL AlwaysOn一起工作”,这意味着仍然有应用程序不支持AlwaysOn。实际上,有很多应用程序不支持AlwaysOn可用性组,包括使用分布式事务的任何应用程序。而其他的限制,如不能保持MSDB,主数据库和其他数据库同步呢?我在这里博客了这些限制。
我同意SQL HA很重要,但是,使用AlwaysOn可用性组获得“高可用性”(意思是在出现故障时自动恢复)的唯一方法是使用同步镜像。本月早些时候,在西雅图的PASS Summitt,我在AlwaysOn上进行了许多不同的演讲,主持人谈论了AlwaysOn的异步配置。原因是AlwaysOn同步复制对应用程序的性能有着重大的影响。我个人使用AlwaysOn Synchronous镜像测量了高达68%的性能损失,而且这是在一个专用的10 Gbps LAN上测得的!我在这里博客关于这个结果
不幸的是,在异步配置中,您放弃了自动故障转移,所以您确实没有获得HA,您正在获得数据保护,但肯定不像传统SQL故障转移群集所期望的那样。
最后还有成本考虑。SQL Server 2012 Enterprise没什么可打喷嚏的。如果你想构建一个双节点的集群,并利用可读的辅助节点,并且你正在使用一个2路16核的服务器,那么你正在为SQL Server 2012企业版许可证花费近22万美元。我在这里的博客文章中分解了相关的成本。
不要误解我的意思,SQL Server 2012 AlwaysOn可用性组可以解决许多问题,但我不会将大多数云部署中所需的异步配置归类为HA备选方案。很多人都忽略了AlwaysOn AlwaysOn故障转移群集。SQL Server AlwaysOn故障转移群集的新功能(包括对跨子网多站点群集的增强支持)将为您提供真正的HA解决方案,并克服上述所有限制。当然,在纯云解决方案中,您可能无法与基于阵列的复制集成以支持多站点群集,但是您始终可以使用基于主机的复制解决方案(如SteelEye DataKeeper Cluster Edition)在公共云或私有云中构建多站点群集,自己的物理数据中心,你可以做到这一点,SQL Server 2008到2012年,它可以在SQL Server标准版以及企业。
您是否使用HA配置中的AlwaysOn可用性组进行了任何测试?如果是的话,我会很好奇,知道你是否测量了与你的环境中同步复制相关的开销。转载https://clusteringformeremortals.com/2012/11/27/is-alwayson-availability-groups-a-viable-alternative-to-alwayson-failover-clusters-in-the-public-cloud/