两个数据中心之间成本合理的故障转移架构

两个数据中心之间成本合理的故障转移架构

我想听听您对瑞士两台托管多个应用程序(基于 .NET 的网站、SQL Server)的应用服务器之间的故障转移架构的看法。目标是在切换辅助服务器时,停机时间有限(< 2 小时),成本合理,并减少恢复所需的人工交互。

评论 :

  • DNS 故障转移不适用于我们,因为我们不管理应用程序服务器上托管的每个应用程序的 DNS。
  • 我们希望避免在托管 VM 上托管我们的应用程序服务器,以便能够管理许可证、VM 传输并具有高 I/O 性能。

在此阶段,我的计划是使用以下设置:

  1. Nginx 托管在 Azure 瑞士站 (F2sv2 - 2 vCPU - 4 GB RAM)
  2. 服务器 A:瑞士的 Dell R6515 专用服务器,Tier IV 数据中心(活动实例 - 待购买)
  3. 服务器 B:位于瑞士我们自己的办公室基础设施中的 Dell R6515 专用/开发服务器(1Gb/s 连接)(备份实例 - 已购买)

Nginx(80 欧元/月 - 作为 MS 合作伙伴无需付费)

Nginx 的主要目标是让我们在发生故障时将流量从服务器 A IP 切换到服务器 B IP。所有应用程序服务 DNS 都将指向 Nginx IP。由于它托管在 Azure 上,因此如果 Nginx 本身发生故障,它应该是冗余的。也许它们是一些确保 Azure 上 Nginx 冗余的功能。

VMWare Essential(约 600 欧元)

我们目前拥有 WMWare 基本许可证,允许我们运行最多三个 ESXi 主机。服务器 A 和服务器 B 将是在 VSphere 下注册的 ESXi 实例。服务器 A 将托管包含我们的应用服务器的活动 VM。

Veeam 社区版(免费)

我们计划使用 Veeam 社区版将应用程序服务器 VM 映像 + SQL Server 事务日志从服务器 A 复制到服务器 B。

服务器 A 硬件/数据中心故障

到目前为止,我认为在服务器 A 发生硬件故障或数据中心故障时应执行以下步骤:1. 为维护页面配置 Nginx 2. 使用 Veeam 在服务器 B 上恢复应用程序服务器 VM 映像 3. 使用 Veeam 在服务器 B 上恢复事务日志 4. 更改 Nginx 配置以将流量从服务器 B 重定向到服务器 A。5. 当服务器 A 再次可用时,以另一种方式从服务器 B 到服务器 A 重复此过程

由于我不是基础设施/WMWare 专家,我很乐意听听您对这个架构的看法,或者任何有助于我们实现目标的建议。在这个阶段,我在问自己,即使两个位置非常接近,将每个请求从 Nginx 重定向到应用程序中心会对延迟/性能产生什么影响。

谢谢你的建议!

吉尔斯

答案1

我不会确切地将这个概念称为“成本合理”,而是“避免成本”......

假设你使用 nginx 作为代理,请求不会被重定向到那里 - 但是流经该服务器。这可能很快就会成为瓶颈,并且通常会延迟响应。此外,您 100% 依赖 Azure 云 - 这可能很便宜,但您自己的基础设施可能会提供更好的可用性。仔细检查 Azure SLA 和细则!

此外,我不想依赖通过整个虚拟机复制来复制 SQL 数据 - 您应该考虑(连续)在 SQL 级别复制数据,以减少数据丢失的时间。

相关内容