设为首页 收藏本站
查看: 1087|回复: 0

[经验分享] 45.将国内版AWS的虚拟机迁移到国内版Azure(下)

[复制链接]

尚未签到

发表于 2019-2-22 10:03:17 | 显示全部楼层 |阅读模式
  接下来我需要到Azure上准备下相关的资源以及配置,首先需要创建一个存储帐户以及新建一个资源组,需要注意的复制选项需要选择RA-GRS

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

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

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

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

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

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

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

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

  这里我创建了一台AWS2AZURE-SR

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

  选择是,确定

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  设置完成

  因为刚才设置的采用本地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)设置完记得重启该虚拟机

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


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

  如果是Linux的虚拟机需要检查Secure Shell service是否随系统自动启动,其次防火墙规则允许SSH连接
  在AWS上,还需要把AWSWEB虚拟机和AWS2AZURE-SR的安全组设置入站和出站都允许相互的所有流量和所有ICMP的访问规则(不是对所有地址哦,否则会很不安全)
  AWS2AZURE-SR的入站和出站规则:

  AWSWEB的入站和出站规则:

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

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

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

  确定

  创建和关联一个复制策略

  指定好参数后确定

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

  确定

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

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

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

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

  发现成功

  确定

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

  启用复制

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

  可以看到详细的步骤

  当然Mobility Service也是可以手动在需要迁移的VM上安装的,这些安装包在配置服务器的C:\ProgramData\ASR\home\svsystems\pushinstallsvc\repository
  从这个agent包可以看出支持了很多Linux系统的迁移,所以我这里只是写了Windows的迁移,Linux也是同理一样的推送agent,最后做故障转移即可迁移到Azure

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

  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  手动安装方法如下:
  安装之前需要先在配置服务器上生成密码文件:
  cd %ProgramData%\ASR\home\svsystems\bin
  genpassphrase.exe -v > MobSvc.passphrase

  在目标计算机上通过命令行安装:
  将安装程序复制到要保护的服务器上的某个本地文件夹(例如 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.

  运行以下命令安装移动服务:
  UnifiedAgent.exe /Role "MS" /InstallLocation "C:\Program Files (x86)\Microsoft Azure Site Recovery" /Platform "VmWare" /skipprereqchecks /Silent
  注意:当出现安装环境检查出错时,需要添加命令行参数skipprereqchecks。

  将代理注册到配置服务器:
  cd C:\Program Files (x86)\Microsoft Azure Site Recovery\agent
  UnifiedAgentConfigurator.exe /CSEndPoint  /PassphraseFilePath
  或者使用向导界面进行注册
  进入目录C:\Program Files (x86)\Microsoft Azure Site Recovery\agent, 直接运行UnifiedAgentConfigurator.exe. 在向导界面选择配置服务器的IP地址。在passphrase中输入导出的passphrase文件中的字符串。

  关于Mobility service的安装和注册问题,具体的参数解释:
  1)/Role: 这个参数是说明安装的Mobility service的类型。对于物理机客户端,需要选择MS.
  2)/Platform: 这个参数需要补充说明: 如果你把EC2虚拟机作为物理服务器, 需要选择Vmware。

  完成注册后,此虚拟机可以作为物理机的选项在ASR中加入复制。
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  在“完成保护”作业运行之后,计算机就可以进行故障转移了。为 VM 启用复制后,可能要等 15 分钟或更长时间,更改才会生效并显示在门户中。

  接下来您可以运行测试故障切换(这里我不再详细演示,之前的文章有详细写测试故障转移的步骤,原理都是一样的)
  在门户中运行测试故障转移:在保管库的相应页上,转到“受保护的项” > “复制的项”> 单击该 VM >“+ 测试故障切换

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

  •   最新(最低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) >“故障转移”

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

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

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

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

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

  定义NSG名称创建

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

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

  选择IP配置,点击IP配置

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

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

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

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

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

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

  等待作业完成

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

  再删除复制策略

  接着删除配置服务器

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

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




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675648-1-1.html 上篇帖子: 44.将国内版AWS的虚拟机迁移到国内版Azure(上) 下篇帖子: s3cmd管理aws-s3桶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表