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

[经验分享] 如何将已部署在ASM的资源迁移到ARM中

[复制链接]

尚未签到

发表于 2017-7-1 18:28:22 | 显示全部楼层 |阅读模式
  使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到ARM提供了更多的功能,只有很少部分工作才会用到powershell完成,所以笔者建议以后大家尽量使用ARM,但是对于哪些已经使用ASM作为生产环境的用户想迁移到ARM中,应该怎么办,今天笔者就像大家介绍一下如何将云资源从ASM迁移到ARM中!!!
  首先介绍一下现在迁移可以使用的一些服务与工具
  1.平台内置的迁移服务,只需要你注册resource provider就可以使用
  特点:虚拟机迁移过程中不会宕机     
  有官方提供支持与保证
  迁移颗粒度不能定制化,不能选择某个应用,系统,或者项目来迁移,只能以云服务或者虚拟网络为单位来迁移
  迁移过程中,VM和Vnet以及存储账号只能逐个迁移,而不整体迁移
  迁移不能跨数据中心,同时只能在同一个订阅下迁移
  2.ASMtoARM项目:支持单个虚拟机移植的powershell脚本,可以在官网地址下载
  特点:可以自动生成powershell脚本与ARM模板
  可以灵活的自由组合,支持网络,NSG等
  不能一次迁移多个虚拟机迁移
  迁移过程较长
  有宕机时间(脚本不会帮你关机)
  无官方支持与保证
  3.MigAZ,该迁移工具由微软的服务部门开发,官网下载地址
  特点:可以在不同的订阅之间迁移
  客户可以自由选择需要迁移的资源
  自动化迁移存储的工具
  允许不同地区之间的迁移
  有宕机时间
  无官方支持与保证
  从以上的的比较可以看出,每种迁移方式的特点是不一样的,读者可以根据自身的需要来进行选择,本次博文中笔者重点介绍方法一,后续会介绍方法三
  在这里,笔者觉得有必要提醒大家一句,在这里笔者只是在迁移简单的测试环境,笔者只是展示方法论,对于正式的生产环境,大家在迁移的时候一定要非常慎重,最好先做好如下的准备工作
  评估——评估虚拟机所在虚拟网络是否满足迁移要求
  开始——虚拟网络已经准备好的情况,可以开始准备迁移
  验证——检查和验证所迁移的资源是否正常
  提交——提交迁移请求,正式迁移
  第一步,在ASM中建立虚拟机,存储账号,虚拟网络,云服务,过程省略,结果如下
  云服务
DSC0000.png

  存储账号
DSC0001.png

  虚拟网络
DSC0002.png

  虚拟机
DSC0003.png

  第二步,使用powershell,登陆到ARM账号



PS C:\Users\羊羊> Login-AzureRmAccount -EnvironmentName AzureChinaCloud
  输入账号密码,完成登陆
  注册ClassicInfrastructureMigrate,否则后续的迁移无法使用



PS C:\Users\羊羊> Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
  注册时间会有一分钟左右,注册完成以后输入如下命令观察注册结果



PS C:\Users\羊羊> Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
DSC0004.png

  使用ASM登陆到当前账号



PS C:\Users\羊羊> Add-AzureAccount -Environment AzureChinaCloud
  输入账号与密码,完成登陆
  选择你的源订阅



PS C:\Users\羊羊> Select-AzureSubscription -SubscriptionId xxxxxxxx
DSC0005.png

  迁移之前,检查你的资源管理器配额,需要确保你有足够的资源可以迁移



PS C:\Users\羊羊> Get-AzureRmVMUsage -Location "China East"
DSC0006.png

  定义你要迁移虚拟机的虚拟网络,并验证一下迁移该虚拟网络是否有任何问题



PS C:\Users\羊羊> $vnetName = "asmvnet"
PS C:\Users\羊羊> Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
  看到如下结果表示成功
DSC0007.png

  根据我们多阶段验证的操作,也就是说每一个操作必须先验证,再进行操作



PS C:\Users\羊羊> Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
  看到如下结果表示成功
DSC0008.png

  接下来可以提交正式操作了



PS C:\Users\羊羊> Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
  看到如下结果表示成功
DSC0009.png

  现在我们回到ASM portal中观察结果,大家会发现一个奇怪的事情,就是虚拟网络没有了,但是存储账号还在
  可以看到一开始创建的ASMVM已经没有了
DSC00010.png

  一开始创建的asmvnet也没有了
DSC00011.png

  其实云服务也没有了
  这是因为虚拟机与虚拟网络已经被迁移到ARM里面了,所以在ASM中就看不到了,但是存储还在
  接下来,我们登陆到ARM portal里面,发现多了两个资源组,并且以原来的虚拟机名称与虚拟网络名称后面加上migrated而成,如果你希望所有的资源在一个资源组,你可以手动选择移动将一个资源组中的资源移到另一个资源组中
DSC00012.png

  我们发现原本在ASM中的资源都被迁移到ARM中了
DSC00013.png

  对于存储,我们需要单独迁移,步骤都一样,定义存储,准备迁移,提交迁移



PS C:\Users\羊羊> $storageAccountName = "asmstorage"
PS C:\Users\羊羊> Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
PS C:\Users\羊羊> Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName
PS C:\Users\羊羊> Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
  结果如下
DSC00014.png

  回到ASM portal中观察结果,会发现一开始建立的asmstorage存储也看不到了
DSC00015.png

  回到ARM portal里观察结果,发现多了一个资源组,同样你也可以将其手动移动到刚刚的那个资源组里面。
DSC00016.png

  最终结果如下
DSC00017.png

  根据此次poc的过程,我们可以看出,使用平台内置的迁移服务,有如下几个特点
  可以便捷地迁移IaaS资源
  迁移过程系统是不会被中断
  可以通过迁移虚拟网络从而迁移该虚拟网络中的虚拟机
  存储需要单独迁移
  如有需要,可以把多个资源组合并为一个
  但是在这里笔者想提醒大家一句,并非所有的IaaS资源都可以迁移,有些配置和特性暂时还不能支持,比如虚拟机的自定义镜像,启用了启动诊断的高级存储虚拟机,虚拟网络的端点访问控制,虚拟网关,Traffic Manager的配置文件,具体的迁移支持范围

运维网声明 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-390136-1-1.html 上篇帖子: 使用php来访问操作sql server 下篇帖子: VS 2015 各版本比较
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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