我正在尝试在 EC2 服务器中设置高可用性数据库架构。目前我们被迫使用 SQL 2005。
在这种情况下,什么样的解决方案可行?有人这样做过吗?
我找不到在 AWS 中设置主动 - 主动集群的方法。我的另一个想法是使用复制,但我们需要一个 NLB 或类似的东西来在 DB 服务器之间无缝切换。
我确信这是其他人必须解决的问题,其他人做了什么?
答案1
据我所知,EC2 不提供 Windows 集群,因此您将无法安装 SQL Server 集群。这让您只能使用数据库镜像或复制,它们都可以部署在 EC2 上以实现高可用性和灾难恢复能力。
但是您对“解决方案”的描述(您指的是“NLB”和神秘的“主动-主动”)表明您实际上并没有考虑高可用性,而是考虑了具有扩展能力的负载平衡解决方案。这无法通过 SQL Server 群集或数据库镜像实现。可以通过对等事务复制这是企业版独有的功能,EC2 上提供的标准版不提供此功能。您必须购买自己的 EE 许可证并在 EC2 上运行它们。
当你把所有这些加在一起,并考虑到 ESB 存储提供的相当糟糕的 IO 性能时,你可能会意识到,对于云中的 SQL Server 高可用性,SQL Azure实际上要好得多。
答案2
我已经使用 SQL Server 在 EC2 中设置了镜像,并且运行良好。
除非您进入一些非常奇怪的配置,否则 EC2 中不提供集群功能。
例如,我可以使用两台运行 StarWind 的 iSCSI 目标软件并相互镜像的服务器。然后,我可以设置两台运行 SQL 的机器,并使用两台 StarWind 机器上的 iSCSI 存储对它们进行集群。
有人会支持这个吗?可能不会。有可能吗?是的。