接下来我需要到Azure上准备下相关的资源以及配置,首先需要创建一个存储帐户以及新建一个资源组,需要注意的复制选项需要选择RA-GRS

clip_image001

新建一个虚拟网络,选择刚才创建的资源组zjunsenawsmigratedrg

clip_image002

接下来创建恢复保管库实例,选择之前创建的资源组zjunsenawsmigratedrg

clip_image003

接下来我们需要再到AWS准备一个单独的EC2实例,以便用作 Site Recovery 配置服务器。此实例必须运行 Windows Server 2012 R2,且创建选择映像时必须是英文版的

clip_image004

如果您选择中文版后期添加语言包来修改成英文版,哪怕您修改控制面板里“区域”里的把“格式、位置、管理”全部改成英语(美国)都是不行的,安装Microsoft Azure Site Recovery Unified Setup安装程序会报如下错误

clip_image005

为什么会这样呢?用WMI查询下系统语言可以看到就算我把中文版加了英文语言包以后,哪怕把系统完全改成英文但WMI里查询到的首选还是zh-cn,所以导致了这个错误,除非能把en-us改成首选(我是不知道怎么改,谁知道的话教教我)

$OSInfo = Get-WmiObject -Class Win32_OperatingSystem

$languagePacks = $OSInfo.MUILanguages

$languagePacks

clip_image006

配置服务器的最低要求:下表列出了配置服务器的最低硬件、软件和网络要求

image

配置服务器的大小要求取决于潜在的数据更改率,使用此表作为参考

image

在AWS创建这台机器的过程我就不再缀诉,可以参考之前的步骤来创建,创建时这里我选择和之前的AWSWEB虚拟机在同一个网络和子网资源里(简单来说就是Azure是通过配置服务器来复制AWS上的业务虚拟机到Azure上的,配置服务器起到了中间桥梁的作用

clip_image007

这里我创建了一台AWS2AZURE-SR

clip_image008

同样通过密钥对解密密码登陆上虚拟机重置administrator密码以及重命名计算机名称,接下来去Azure的恢复保管库zjunsenawsRS实例进行配置,首先是准备基础结构

clip_image009

选择是,确定

clip_image010

添加一个配置服务器,这个配置服务器就是我们再AWS上准备的AWS2AZURE-SR的实例

clip_image011

需要确认AWS的这台AWS2AZURE-SR可以访问服务URL地址,也就是可以上网,其次下载Microsoft Azure Site Recovery Unified Setup和恢复保管库该实例的密钥

clip_image012

把下载好的Microsoft Azure Site Recovery Unified Setup和恢复保管库该实例的密钥放到AWS的这台AWS2AZURE-SR虚拟机里

clip_image013

右键以管理员身份执行Microsoft Azure Site Recovery Unified Setup进行安装,在“开始之前”中,选择“安装配置服务器和进程服务器”,然后单击“下一步”

clip_image014

在“第三方软件许可证”中,选择“我接受第三方许可协议。”并单击“下一步”

clip_image015

在“注册”中,单击“浏览”,导航到保管库注册密钥文件所在的位置,然后单击“下一步”

clip_image016

在“Internet 设置”中,选择“在不使用代理服务器的情况下连接到 Azure Site Recovery。”并 单击“下一步”

clip_image017

在“必备项检查”页上,它会运行多次检查。完成后,单击“下一步”

clip_image018

在“MySQL 配置”中,提供所需的密码,然后单击“下一步”

clip_image019

在“环境详细信息”中,选择“否”(无需保护 VMware 计算机),然后单击“下一步”

clip_image020

在“安装位置”中,单击“下一步”接受默认值

clip_image021

在“网络选择”中,单击“下一步”接受默认值

clip_image022

在“摘要”中,单击“安装”

clip_image023

“安装进度”显示有关安装进度的信息

clip_image024

完成后,单击“完成”。 系统会弹出一个窗口,指示可能需要重启,请单击“确定”,点击确定后请立即打开记事本,在记事本里Ctrl+V,将密码粘贴进去并保存在安全的地方

clip_image025

此外还会弹出一个有关配置服务器连接密码的窗口,此时请重启该服务器

clip_image026

重启好后,接着运行桌面上的cspsconfigtool.exe,以在配置服务器上创建一个管理帐户,该账户是AWS上的业务虚拟机awsweb的管理员帐户和密码(可以使用域帐户或本地帐户。 对于 Linux VM,该帐户应是源 Linux 服务器上的root帐户),Friendly name是指迁移到Azure上的VM名称,这里我设置还是和AWS保持一样叫awsweb

clip_image027

设置完成

clip_image028

因为刚才设置的采用本地administrator帐户访问AWS的业务虚拟机AWSWEB,那么需要再AWSWEB系统里进行注册表设置(对于 Windows VM,如果使用的不是域帐户,则在本地计算机上禁用远程用户访问控制(UAC):在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 下,添加 DWORD 项 LocalAccountTokenFilterPolicy 并将值设为 1)(或者通过命令提示符里执行REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1)设置完记得重启该虚拟机

clip_image029

接着把AWSWEB虚拟机的Windows防火墙允许如下规则

clip_image030

clip_image031

Windows虚拟机的RDP是否开启,并且Windows防火墙是否允许所有网络类型都运行RDP的访问  

clip_image001

如果是Linux的虚拟机需要检查Secure Shell service是否随系统自动启动,其次防火墙规则允许SSH连接

在AWS上,还需要把AWSWEB虚拟机和AWS2AZURE-SR的安全组设置入站和出站都允许相互的所有流量和所有ICMP的访问规则(不是对所有地址哦,否则会很不安全)

AWS2AZURE-SR的入站和出站规则:

clip_image032clip_image033

AWSWEB的入站和出站规则:

clip_image034clip_image035

把AWS上的配置服务器安全组入站开放9443和443端口到所有地址的访问

clip_image036

确定这2台之间可以相互Ping通以及相互访问默认共享就OK了

clip_image037

接着返回Azure门户,在Azure门户上就能刷新看到注册好的这台配置服务器了

clip_image038

确定

clip_image039

创建和关联一个复制策略

clip_image040

指定好参数后确定

clip_image041

等待复制策略创建完成后确定

clip_image042

确定

clip_image043

接着就可以开始启用复制了,对需要迁移的VM启用复制,比如我这里要迁移AWSWEB,那么Site Recobvery会自动让AWS准备好的配置服务器向AWSWEB虚拟机推送安装 Mobility Service服务,还是在Azure门户上,我们继续步骤1,复制应用程序,源是本地,源位置是选择AWS上准备好的EC2配置服务器,计算机类型选择物理,进程服务器也是选择准备好的EC2配置服务器

clip_image044

在故障转移的资源组里选择我们之前准备好的资源组zjunsenawsmigratedrg,存储帐户也是之前准备好的zjunsenawsmigrated,网络选择立即对选定的计算机进行配置,故障转移后的Azure网络也是之前准备好的zjunsenaws-vNet,子网也是

clip_image045

看看AWSWEB的虚拟机内部IP是多少

clip_image046

接下来添加物理计算机,输入要迁移的AWS上EC2实例的名称、IP地址以及OS类型,点击确定后,AWS上的配置服务器会去发现我输入的这台EC2实例

clip_image047

发现成功

clip_image048

确定

clip_image049

确保复制策略是我们之前创建的复制策略,点击确定

clip_image050

启用复制

clip_image051

在作业里可以看到详细的状态,点击正在运行的作业看更详细的作业流程和状态

clip_image052

可以看到详细的步骤

clip_image053

当然Mobility Service也是可以手动在需要迁移的VM上安装的,这些安装包在配置服务器的C:\ProgramData\ASR\home\svsystems\pushinstallsvc\repository

从这个agent包可以看出支持了很多Linux系统的迁移,所以我这里只是写了Windows的迁移,Linux也是同理一样的推送agent,最后做故障转移即可迁移到Azure

clip_image054

如果是推送安装Mobility Service可以在目标机器的这个目录查看推送安装日志C:\ProgramData\ASRSetupLogs\ASRUnifiedAgentInstaller.log

clip_image055

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

手动安装方法如下:

安装之前需要先在配置服务器上生成密码文件:

cd %ProgramData%\ASR\home\svsystems\bin

genpassphrase.exe -v > MobSvc.passphrase

clip_image056

在目标计算机上通过命令行安装:

将安装程序复制到要保护的服务器上的某个本地文件夹(例如 C:\Temp)。 以管理员身份在命令提示符处运行以下命令:

cd C:\Temp

ren Microsoft-ASR_UA*Windows*release.exe MobilityServiceInstaller.exe

MobilityServiceInstaller.exe /q /x:C:\Temp\Extracted

cd C:\Temp\Extracted.

clip_image057

运行以下命令安装移动服务:

UnifiedAgent.exe /Role "MS" /InstallLocation "C:\Program Files (x86)\Microsoft Azure Site Recovery" /Platform "VmWare" /skipprereqchecks /Silent

注意:当出现安装环境检查出错时,需要添加命令行参数skipprereqchecks。

clip_image058

将代理注册到配置服务器:

cd C:\Program Files (x86)\Microsoft Azure Site Recovery\agent

UnifiedAgentConfigurator.exe /CSEndPoint <CSIP> /PassphraseFilePath <PassphraseFilePath>

或者使用向导界面进行注册

进入目录C:\Program Files (x86)\Microsoft Azure Site Recovery\agent, 直接运行UnifiedAgentConfigurator.exe. 在向导界面选择配置服务器的IP地址。在passphrase中输入导出的passphrase文件中的字符串。

clip_image059

关于Mobility service的安装和注册问题,具体的参数解释:

1)/Role: 这个参数是说明安装的Mobility service的类型。对于物理机客户端,需要选择MS.

2)/Platform: 这个参数需要补充说明: 如果你把EC2虚拟机作为物理服务器, 需要选择Vmware。

clip_image060

完成注册后,此虚拟机可以作为物理机的选项在ASR中加入复制。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在“完成保护”作业运行之后,计算机就可以进行故障转移了。为 VM 启用复制后,可能要等 15 分钟或更长时间,更改才会生效并显示在门户中。

clip_image061clip_image062clip_image063

接下来您可以运行测试故障切换这里我不再详细演示,之前的文章有详细写测试故障转移的步骤,原理都是一样的

在门户中运行测试故障转移:在保管库的相应页上,转到“受保护的项” > “复制的项”> 单击该 VM >“+ 测试故障切换

clip_image064

选择要用于故障切换的恢复点:

  • 最新(最低RPO):此选项将所有 VM 故障转移到最新的恢复点。

  • 最新处理(低RTO):将 VM 故障转移到由 Site Recovery 处理的最新恢复点。 将显示时间戳。 使用此选项时,无需费时处理数据,因此 RTO(恢复时间目标)会较低。

  • 自定义:选择任何恢复点。

在“测试故障切换”中,选择 Azure VM 在故障转移之后要连接到的目标 Azure 网络。 它应该是在准备 Azure 资源部分中创建的网络。

单击“确定”开始故障转移。可以通过单击虚拟机打开其属性来跟踪进度。 也可以在保管库相应页面上的 监视和报告 > 作业 > Site Recovery 作业 中单击测试故障转移 作业。

故障转移完成后,副本 Azure VM 会显示在 Azure 门户 >“虚拟机”中。 请确保虚拟机的大小适当、已连接到正确的网络,并且正在运行。

后续您可以连接到 Azure 中复制的虚拟机进行验证数据和业务是否OK。

若要删除在测试故障转移期间创建的 Azure VM,请在恢复计划上单击“清理测试故障转移”。 在“说明”中,记录并保存与测试故障转移相关联的任何观测结果。

在某些情况下,故障转移需要大约八到十分钟的时间完成其他进程。

最后是真正迁移到Azure了:对 EC2 实例AWSWEB运行真正的故障转移,将其迁移到 Azure VM

在“受保护的项” > “复制的项”中,单击 AWS 实例(AWSWEB) >“故障转移”

clip_image065

在“故障转移”中,选择要故障转移到的“恢复点”,然后点击确定

clip_image066

请勿取消正在进行的故障转移:在故障转移开始前,停止 VM 复制。 如果取消正在进行的故障转移,故障转移会停止,但 VM 将不再进行复制;当作业处于“启动故障转移”时,请在AWS上将Awsweb虚拟机关机

clip_image067

故障转移完成,Azure上的AWSWEB副本虚拟机启动

clip_image068

连接是专用IP,意思是这个虚拟机只能通过该虚拟网络下的其他机器去连接或者部署了站点到站点的***或者点到站点的***去连接这台虚拟机

clip_image069

如果想通过Internet去连接访问这台虚拟机,首先创建一个网络安全组

clip_image070

定义NSG名称创建

clip_image071

添加2条入站规则,其中9999端口是我们的WEB服务

clip_image072

选择AWSWEB虚拟机——网络——网卡

clip_image073

选择IP配置,点击IP配置

clip_image074

启用公共IP,新建一个公网IP,然后保存

clip_image075

接着在网络安全组选择刚才创建的AWSWEB-NSG保存

clip_image076

保存后该虚拟机就有公网IP,可以通过Internet连接和访问了,数据盘也没有问题的一并迁移过来了,并且临时盘变成了E盘(Temporary Storage不能存放永久性数据

clip_image077

并且IIS提供服务正常(IIS站点的index.html文件是放在D盘的,能提供服务且正常那么D盘数据没有问题)

clip_image078

最后在Azure门户中回到恢复保管库zjunsenawsrs实例,在复制的项中右键单击每个 VM(AWSWEB) >“完成迁移”。 此操作将完成迁移过程,停止 AWS VM 复制,并停止 VM 的 Site Recovery 计费。

clip_image079

点击确定,整个AWS上的虚拟机迁移Azure平台上运行就完成了

clip_image080

等待作业完成

clip_image081

最后可以清理下Azure恢复保管库里zjunsenawsrs里的配置服务器,先解除关联

clip_image082

再删除复制策略

clip_image083

接着删除配置服务器

clip_image084

最后就可以删除该保管库了

clip_image085

剩下的就是可以清理AWS上的没用资源了