Microsoft Azure Site Recovery:您的 Microsoft Azure DR 站点
2014 北美TechEd大会期间的重大发现之一是Azure Site Recovery灾难恢复预览版。Azure Site Recovery (ASR)对于Hyper-V Recovery Manager (HVRM)而言是一个陌生的名称。HVRM最先在Azure公有云中使用,用于对本地私有云结构进行外部部署自动化控制。HVRM有很多追随者,因为它简化了复杂昂贵流程(DR站点管理和故障转移),但采用的客户却较少,因为该解决方案要求客户事先运行微软私有云来投资物理或合作伙伴托管的 DR 站点。
HVRM 要求在复制通道两端(即在主数据中心与DR数据中心)使用由System Center Virtual Machine Manager (SCVMM)托管的 Hyper-V服务器。该功能导致了两种场景:(1)组织可以提供本地私有云作为DR站点,或者也可以(2)与服务供应商合作在托管的私有云中运行Hyper-V副本。ASR保留了该功能,并添加了一项重要的新功能:(3)复制通道的DR一端可位于Microsoft Azure中。
客户对Azure新功能的一个最常见的要求是,无需投入资本开支即可为虚拟机的 DR 副本构建辅助站点。恢复虚拟机可位于Azure云中,且无需使用另一个客户或合作伙伴数据中心。图 1 是微软在 2014 TechEd大会期间演示AzureDR 场景所使用的幻灯片:
图 1 - Azure Site Recovery (ASR) , DR 站点位于 Microsoft Azure
ASR可按照相同的方式从同一个Azure门户界面来管理全部三种场景的业务流程--客户 DR 站点、合作伙伴 DR 站点、Azure DR站点。现在,您可以通过使用Azure托管受保护的私有云的 DR 端来减少数据中心开销。
从 HVRM 升级到 ASR
本文介绍的Azure订阅已配置为使用Azure 和HVRM备份保管库来管理私有云中两个虚拟机的复制和 DR 激活。“受保护云”中的虚拟机位于一个主客户端数据中心,并将复制到另一个数据中心的恢复云中(由服务供应商托管的私有云,灾难恢复(DR)站点)。
我们将会实施ASR推出的这项新功能,即定位Microsoft Azure中的一些虚拟机副本。为此,我们需要将HVRM代理升级为更新的ASR兼容代理。当在Azure门户中导航到Azure Site Recovery Vault仪表板时,系统将会提示我们下载并安装SCVMM服务器和Hyper-V主机代理,如图 2 中所示。
图 2 – 需要使用ASR的新 Hyper-V 代理和更新SCVMM 代理
ASR中首次启用Hyper-V代理。在从前的HVRM模型中,由于副本通道两端均为Hyper-V,Windows Server 2012内置Hyper-V副本功能足以保证该解决方案正常运行,无需为Hyper-V主机启用代理。基操作系统或SCVMM代理的Hyper-V主机无法直接使用Microsoft Azure复制,因而推出了一个新的代理。
另外还需要一个更新SVCMM代理(也称为“提供程序”),以便ASR使用Azure复制本地虚拟机。请从Azure门户中下载新的SCVMM代理包,并升级SCVMM计算机的SCVMM代理(先前使用VMMHRMProvider_x64)。
- 升级向导的第一页(图 3)提出了一点注意事项:如果在DR站点中使用Azure,那么至少需要在本地安装最新版本的 SCVMM 2012 R2;也就是说,如果通过SCVMM托管 DR 站点,ASR还可以使用上一版本的SCVMM 2012 SP1。
图 3 - 在SCVMM服务器上将Hyper-V Recovery Manager (HVRM) 升级为Azure Site Recovery (ASR) 。
接着,下载新的Hyper-V代理包(MARSAgentInstaller),然后在Hyper-V主机上运行。这将会在主机上安装Microsoft Azure Recovery Services (MARS)代理。代理设置期间已经验证或安装Windows Identity Foundation、.NET Framework 4 和 Windows PowerShell。如图 4 中所示,MARS代理需要缓存位置,其中必须包含将要备份的数据容量的 10% 的可用空间。
图 4 - 在 Hyper-V 主机上安装MARS代理期间指定缓存位置
开始使用 Azure 作为DR 目标
通过创建新的恢复计划(使用Microsoft Azure作为目标),开始在Hyper-V副本场景下使用Azure 作为 DR站点。只要源云环境仍然以 DR 站点基于SCVMM的私有云为目标,您就不能直接迁移现有的受HVRM保护的云中的计算机。一个既定的SCVMM私有云只能复制到一个或另一个SCVMM 或 Azure代理。不能混用同一云中的多个虚拟机复制目标,一些目标复制到Azure,另一些目标复制到私有云。
要从DR站点的SCVMM重定位虚拟机副本以便使用Azure 作为 DR站点,请通过Microsoft Azure创建新的云作为复制目标,并将虚拟机从前一个云迁移到新的云。或者,您可以禁用HVRM并将其从源云中删除,然后使用原始云在ASR上重新部署新的HVRM。记住,一个源云每次只能包含一个目标。另外,必须在Azure订阅中至少配置一个Azure 虚拟网络,以便在执行故障转移操作时将其作为Azure复制虚拟机的目标网络。
以下是在Azure中创建 DR 站点的步骤(安装VMM代理更新和Hyper-V MARS代理后):
1. 在源网络的SCVMM服务器上,创建一个云并将云的Properties -> General页面配置为“将该云的配置数据发送到Windows Azure Hyper-V Recovery Manager”。
2. 在Azure门户中,导航到Recovery Services -> <Recovery Vault name> -> Protected Items,然后等待步骤 1 中展示的云显示。
3. 单击云名称,按下Configure Protection Settings按钮。
4. 从Target下拉列表中选择Microsoft Azure。默认复制设置如图 5 所示。确认后,按下页面底部中心位置的Save按钮。
图 5 - 启用源云保护并使用 Microsoft Azure 作为目标。
5. 启用源云保护并使用 Microsoft Azure 作为目标后,就可以向保护计划添加虚拟机。
6. 要将虚拟机副本添加到Azure,请单击受保护云Virtual Machines页面中的Enable Protection按钮。您将会看到用于创建副本的合格虚拟机列表。单击该计算机旁边的复选框以开始复制。在预览版ASR中,需要注意以下几点:
o 只能复制Hyper-V“第一代”虚拟机。(源虚拟机可使用VHD 或VHDX格式的虚拟硬盘,在Azure中副本虚拟机将使用VHD格式。)
o 虚拟机必须仅指定一个磁盘作为操作系统磁盘。
7. 您可以从恢复保密库的Jobs选项卡中观察复制状态。
8. 开始复制后,接着需要将各虚拟机的本地网络映射到Azure虚拟网络:
- 在 Azure 门户中,导航到Recovery Services -> <Recovery Vault name> -> Resources -> Networks。
- 选择来源和目标位置,并指定Microsoft Azure作为目标。
- 然后在左侧列中选择源网络,按下Map按钮。
- 在订阅中选择Azure虚拟网络,使其与希望恢复虚拟机连接的位置相符,如图 6 所示。
图 6 - 将 Azure 中的目标虚拟网络映射到源私有云网络。
9. 由于需要将虚拟机映像上载到 Microsoft Azure,因而副本创建可能需要几小时时间。
- 当虚拟机的复制状态为“受保护”时,在Azure中查看虚拟机配置,确认已正确选择目标Azure VM的虚拟机大小。
- 在 Recovery Services -> <Recovery Vault name> -> Protected Items-> -> <Source Cloud name> -> Virtual Machines -> <VM name> -> Source and target properties 中查找虚拟机配置,如图7所示。
图 7 - 如有必要,请修改Azure目标虚拟机的虚拟机大小。
10. 启用Azure复制后,源虚拟机的Hyper-V来宾计算机属性将显示“已通过目标Microsoft Azure启用Hyper-V 副本 (HVR)”,如图 8 所示。同时,源虚拟机的SCVMM硬件配置将自动更新为Enable Hyper-V Recovery Manager protection for this virtual machine,如图 9 所示。
图 8 - 受 Microsoft Azure保护的虚拟机的Hyper-V复制运行状况页面
图 9 - 复制到 Microsoft Azure的虚拟机的SCVMM计算机硬件配置
11. 最后,在执行“一键故障转移到Azure”之前,需要创建一项恢复计划(将新的虚拟机副本纳入Azure)。
- 导航到 Recovery Services -> <Recovery Vault name> -> Recovery Plans,然后按Create 按钮。
- 指定恢复计划的名称,选择SCVMM服务器作为源云,然后选择Microsoft Azure作为目标(如图 10 所示)。
图 10 - 命名您的恢复计划,选择源SCVMM服务器,然后选择Microsoft Azure作为目标。
- 系统将会列出可复制到Azure的受保护云中的虚拟机,如图 11 所示。选择要复制到Azure的虚拟机,然后按复选标记按钮。
图 11 - 在受保护的云中选择要复制到 Azure的虚拟机。
测试故障转移
12. 在Azure中使用虚拟机副本之前的最后一项重要任务是测试 DR 故障转移流程。微软通过一个按钮将这个通常十分复杂的任务变得相当简单,如图 12 所示。
- 开展这项测试不会影响生产虚拟机和复制进程。
- 将会创建一个 Azure 服务临时实例进行测试。
- 查找并选择使用Microsoft Azure作为目标的恢复计划,然后按Test Failover按钮。
图 12 - 从 Azure 门户的Recovery Plans页面中启动测试故障转移作业。
13. 启动测试故障转移作业后,您需要再做出一项决定:是否连接运行Azure网络测试的虚拟机副本。请参阅图 13,如有必要将会提示您创建一个新的虚拟网络:不能将生产网络(本文步骤 8 在 Map 中选择的网络)定义为测试网络。
图 13 - 随机指定一个Azure虚拟网络来连接测试故障转移虚拟机。
14. 测试作业将实际使用源虚拟机的计算机名称来运行Azure中的虚拟机,您将发现这些虚拟机会显示在Azure门户的Virtual Machines页面。当虚拟机的测试状态为“等待操作”时,意味着Azure中正在运行测试虚拟机,并已准备好供您检测。
- 即使未为测试虚拟机指定网络,恢复测试虚拟机也会连接到Internet和随机Azure专用网络。
- 如果需要,请在恢复虚拟机(如RDP)中打开恢复虚拟机端点,以便登录并验证已在Azure中成功启动的测试恢复虚拟机。
- 确认测试恢复虚拟机正常运行后,按Compete Test按钮,如图 14 所示。这将删除测试环境并重置为测试前的配置。测试虚拟机将从Azure 门户的 Virtual Machine页面中消失。
图 14 - 对测试结果满意后,按Recovery Plan Job视图中的Complete Test按钮。
计划内故障转移
15. 实际执行故障转移和故障恢复验证这些流程并不难,该过程称为“计划内故障转移”。您应当在 ASR 评估期间出于验证或培训目的执行计划内故障转移。
- 计划内故障转移将会影响生产虚拟机并执行反向复制流程,将Azure中的上一个目标虚拟机作为最终故障恢复作业的源虚拟机。
- 查找并选择使用Microsoft Azure的恢复计划作为目标,按Failover按钮,然后单击Planned Failover选项。
- 在Confirm Failover 页面,单击复选标记按钮。
16. 完成故障转移后,Azure中将显示新的虚拟机,它们是源(生产)站点中的虚拟机的副本。这些虚拟机将显示在Azure门户中,且虚拟机名称与源计算机名称相匹配。
- 虚拟机将连接到您在创建恢复计划期间指定的Azure虚拟网络。
- 打开虚拟机端点,如 RDP 及其他必要的入站服务。
- Azure虚拟机将使用Active Directory域控制器注册 DNS,然后用Azure虚拟网络的虚拟机 IP 地址更新企业的专用 DNS 地址。图 15 显示了无缝 DR 站点故障转移的“ACID 测试”。在此命令行屏幕截图中,网络客户端将在故障转移到Azure前后(DNS客户端 TTL超时,通常为15-60分钟),对受保护的虚拟机的 DNS 名称执行 Ping 操作。
17. 图 15 – 对故障转移Azure的服务器执行Ping操作:前后对比。
- 完成故障转移后,常规Active Directory (AD) 动态 DNS客户端名称注册进程会将流量定向到Azure新生产实例虚拟机的专用 DNS 名称。唯一的区别在于,网络访问为Internet速度而非LAN速度。该网络通信遵循预先为Azure 虚拟网络 (VNET)企业LAN/WAN制定的路由方案。
18. 此外,还必须采取另外一项操作才能完成故障转移流程,那就是提交作业。完成故障转移后,虚拟机将处于提交挂起状态。单击Commit以启动提交流程。这将选择处于提交挂起状态的虚拟机,并为它们完成提交操作。
故障恢复
19. 要在提交故障转移后恢复到原始生产站点,需要再次执行计划内故障转移。
- 导航到 Recovery Services -><Recovery Vault name> -> Recovery Plans -> <Recovery Plan name> -> Virtual Machines,按Failover 按钮,然后选择Planned Failover 选项。
- 观察图 16 中显示的确认页面。选择在故障转移之前或期间同步数据,然后单击复选标记按钮。
图 16 - 在故障转移到 Microsoft Azure后,故障恢复到原始源云
20. 如果选择sync before failover选项(默认设置),还必须采取另外一项操作才能完成故障恢复流程,那就是完成故障转移作业。在完成初始同步后,虚拟机将处于“已完成数据同步”状态。单击Complete Failover以完成故障恢复流程,如图 17 所示。
图 17 - 具有高级同步的故障恢复作业:准备好故障恢复后,按Complete Failover按钮。
21. 将计划内故障转移(或故障恢复)恢复到内部生产数据中心后,在Azure门户的Azure Site Recovery Vault服务的Jobs选项卡观察任务完成进度,如图 18 所示。
- 执行最终故障恢复任务期间,本地虚拟机的Hyper-V副本状态将为“正在进行故障恢复”状态,可能需要数小时才能与本地虚拟机重新同步。
- 您可以从本地Hyper-V控制台监控数据传输进度(完成的故障恢复复制百分比)。
图 18 - 在启动本地虚拟机时,观察故障恢复到生产数据中心作业的最终任务。
22. 启动本地虚拟机并停止Azure副本虚拟机后,故障恢复基本完成。在此阶段,您将会发现系统等待您在Azure门户的Protected Cloud -> Virtual Machines页面中执行最终提交操作,如图 19 所示。
图 19 - 通过定向最终提交操作来完成故障恢复流程。
23. 提交作业是故障恢复程序的最后一步:它将清除Azure中的故障转移资源,如删除恢复虚拟机,还原正常Hyper-V副本定向和流程。删除从Azure门户的Storage页面(Storage -> <Storage Account name> -> Containers)执行故障转移期间创建的所有空白或临时 Blob 容器。
完成本文所述的各项步骤后,您将需要利用Microsoft Azure作为 DR 站点时Azure Site Recovery服务的主要功能。除了使用公有云托管生产虚拟机 DR 副本相较于私有云实现的显著资本节省之外,还能通过将 DR 基础结构部署到Azure大大降低 DR 站点激活和故障恢复到生产环境面临的风险。
风险最大的DR 环节(执行故障转移/测试故障转移/故障恢复作业的业务流程,以及恢复站点虚拟化工厂的准备和运行状况)的出错风险已通过Azure Site Recovery基本消除。不仅大大提升了可靠性,还节约了巨额成本,从而使Azure DR 故障转移赢得了广泛好评。符合企业 DR 体系结构的全新事实标准。
关于 John Joyner
John Joyner现任托管服务提供程序产品开发总监兼高级架构师。身为云和数据中心管理MVP,John参与创作了Operations Manager: Unleashed系列丛书(共四册)。John非常乐意回答有关SCOM的任何问题,大家可通过以下任意链接与他联系。
您可以在此处联系John,了解有关他本人的详细信息:
博客:https://opsmgrunleashed.wordpress.com/
Twitter:@john_joyner
MVP 个人资料:https://mvp.microsoft.com/en-us/MVP/John%20Joyner-4012882
畅享阅读乐趣!