是否对运行 SQL Server 的 Azure VM 进行故障转移?

是否对运行 SQL Server 的 Azure VM 进行故障转移?

我目前正在考虑在 Azure 虚拟机实例上托管 SQL Server 数据库,并通过两个负载平衡 Web 角色连接网站。由于我们的应用程序架构存在各种限制,我们还不能使用功能齐全的 Azure 数据库,因此这是我们的折中方案。我有几个关于冗余的问题,特别是关于 VM 和 SQL Server 的冗余。

我是否需要维护两个 VM 实例以确保可靠的故障转移?

如果主虚拟机离线,故障转移过程需要多长时间?显然,我猜这在一定程度上取决于它离线的原因,但有可能在几秒钟内完成故障转移吗?还是我需要等待主虚拟机上的磁盘重新映像到另一个节点?

任何帮助将非常感激!

答案1

使用 Windows Azure VM,您无法设置具有共享存储的“传统”数据库群集,因为您没有 SAN。这样,您就不得不使用其他 SQL HA 选项 — 数据库镜像、日志传送,以及可能(从 SQL 2012 开始)使用 AlwaysOn 可用性组。您甚至可以使用复制 — 这或多或少就是 SQL Azure 幕后所做的。您的应用程序如何响应取决于解决方案。镜像允许两个数据库都位于连接字符串中,并且 ADO.NET 会为您处理与其他服务器的通信。使用日志传送,您的应用程序必须自行检测故障并移动到另一个节点。

研究“如何在不使用共享存储群集的情况下获得高可用性 SQL Server”,您将得到答案。您可以开始在 MSDN 上

答案2

是否无法执行以下操作之一:1) 使 Azure Blob 存储直接可用于 SQL 故障转移群集?这实际上是共享存储。SQL Server 不支持写入此类共享 blob 存储吗?2) 在单独的 VM 上基于 Azure 存储的磁盘上创建 VHD,并将其作为 iSCSI 目标公开给故障转移实例。但是,考虑到 iSCSI 目标安装在单个节点上,而该节点本身会成为单点故障,这种模式不会为您提供 HA。

相关内容