You have an on-premises network that contains several servers.
You plan to migrate all the servers to Azure.
You need to recommend a solution to ensure that some of the servers are available if a single Azure data center goes offline for an extended period.
What should you include in the recommendation?
提供答案和解答。
Fault tolerance is the ability of a system to continue to function in the event of a failure of some of its components. This capability is critical in scenarios where you need to ensure that some servers remain available despite the failure of a single Azure data center. By implementing fault tolerance, you can replicate servers across different datacenters within the same region, enhancing the resilience of your infrastructure. This means that if one datacenter becomes unavailable, the system can automatically switch to the replicated servers in another datacenter, ensuring continuous availability.
Fault tolerance 可以提供高可用性。
好的,这是答案和详细的解答。
答案 (Answer)
你应该在建议中包含 可用性区域 (Availability Zones)。
解答 (Explanation)
1. 什么是可用性区域 (What are Availability Zones)?
可用性区域是 Azure 区域 (Region) 内物理上独立的数据中心。每个可用性区域都有独立的电源、冷却和网络,以确保一个区域的故障不会影响到其他区域。它们通过高速、低延迟的专用网络相互连接。
- 问题场景分析:你的要求是“确保在单个 Azure 数据中心长时间脱机的情况下,某些服务器仍然可用”。
- 解决方案匹配:可用性区域的设计初衷正是为了应对数据中心级别的故障。通过将你的服务器(虚拟机)部署到同一区域内的多个不同可用性区域,即使其中一个数据中心(即一个可用性区域)完全瘫痪,其他可用性区域中的服务器仍然可以继续运行,从而保证业务的连续性。
2. 如何实施 (How to Implement)?
要使用可用性区域来满足此要求,你需要:
- 选择支持可用性区域的 Azure 区域:并非所有 Azure 区域都支持可用性区域,因此在迁移规划时,你需要选择一个支持此功能的区域(例如,美国东部2, 西欧等)。
- 部署冗余虚拟机:对于需要高可用性的关键服务(例如 Web 服务器或数据库服务器),你至少需要部署两个虚拟机,并将它们分别放置在不同的可用性区域中。
- 例如:
VM-Web-1 部署在 区域 A 的 可用性区域 1。
VM-Web-2 部署在 区域 A 的 可用性区域 2。
- 使用区域冗余负载均衡器:在这些虚拟机前面放置一个 标准 SKU 的 Azure 负载均衡器 (Standard SKU Azure Load Balancer) 或 Azure 应用程序网关 v2 (Azure Application Gateway v2)。这些服务本身支持区域冗余,它们可以将流量自动路由到仍在正常运行的可用性区域中的健康虚拟机上。
- 数据同步:对于有状态的应用(如数据库),你需要确保数据在不同可用性区域的服务器之间是同步的。例如,使用 SQL Server Always On 可用性组或 Azure 提供的区域冗余数据库服务。
3. 为什么其他选项不完全适用?
-
可用性集 (Availability Sets):可用性集只能防范数据中心内部的故障,例如机架电源故障或物理主机硬件故障。它将虚拟机分散到不同的容错域(Fault Domains)和更新域(Update Domains)中。如果整个数据中心都离线了,那么该可用性集中的所有虚拟机都会离线。因此,它不满足你的要求。
-
区域对 (Region Pairs):这是用于灾难恢复 (Disaster Recovery) 的解决方案,可以防范整个 Azure 区域(例如,地震、洪水导致整个区域不可用)的故障。虽然它能提供更高的可用性,但对于“单个数据中心故障”这个具体问题来说,它有些“过度设计”,成本更高,且恢复时间目标 (RTO) 和恢复点目标 (RPO) 通常比可用性区域更长。
总结推荐 (Summary of Recommendation)
在你的迁移建议中,应明确指出:
“为了确保关键服务器在单个数据中心发生故障时仍能保持可用,我们建议采用 Azure 可用性区域 (Availability Zones) 架构。具体实施方案为:将关键服务的虚拟机实例(至少两台)部署到同一 Azure 区域内的不同可用性区域,并使用一个区域冗余的负载均衡器来分发流量。这将提供一个高可用性且具有自动故障转移能力的解决方案,以满足业务连续性要求。”