liuyuehua 发表于 2017-6-30 09:41:13

Azure虚拟机从ASM迁移到ARM

  Azure ARM模式出来后,给用户使用带来了很多方便,ASM模式下大部分需要通过powershell来配置。而在ARM下,大部分通过portal界面就可以进行配置了。由于整体设计的变化,ARM模式下加入了更多新的特性,用户体验更好,因此ASM模式下的用户逐渐迁移到ARM模式下,下面介绍几种迁移方式:
  1.平台内置的迁移服务:
  这个服务是内置的,只需要你注册Resource Provider就可以使用。
  主要的优点:

[*]  虚拟机无宕机时间
[*]  有官方支持;
  主要缺点

[*]  迁移粒度只能通过vnet或者云服务来迁移,无法根据客户定制的方式,比如项目进行迁移
[*]  虚拟机和存储,网络要分开迁移,比较繁琐
[*]  不支持跨地区,跨订阅的迁移
  对于生产环境的迁移,一定要非常谨慎,做好规划和评估,然后再开始迁移。微软的ASM到ARM的迁移,有一些基本的方法论,大家可以做个参考,保证你的迁移过程平滑而顺利:

[*]  评估 – 评估虚拟机所在虚拟网络是否满足迁移要求
[*]  开始 – 虚拟网络已经准备好的情况,可以开始准备迁移
[*]  验证 – 检查和验证所迁移的资源是否正常
[*]  提交 – 提交迁移请求,正式迁移
  用户的环境相对而言会比较多样而复杂,比如在vnet里的虚拟机,不在vnet里的虚拟机,带有gateway的虚拟机等等,下面迁移虚拟网络中的所有虚拟机。
  1.测试环境为一个云服务下的两台虚拟机(在同一个Vnet下)

  2.使用powershell连接当前订阅(ARM模式下)
  Add-AzureRmAccount -EnvironmentName AzureChinaCloud
  3.注册ClassicInfrastructureMigrate

  4.使用powershell登录到ASM
  Add-AzureAccount -Environment AzureChinaCloud
  5.迁移前,查看资源配额,资源不足时,无法迁移成功
  Get-AzureRmVMUsage -Location "China East"

  6.定义并验证需要迁移的虚拟网络

  7.迁移前需要先进行以下操作
  Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

  8.提交迁移操作
  Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

  可以看到虚拟机已经迁移成功,vnet也迁移成功,但是磁盘还在ASM模式下


  切换到ARM模式下,多出了2个资源组,原虚拟网络vnet1在vnet1-Migrated下,虚拟机都在ybtest-Migrated下。


  如果你希望所有的资源在一个资源组中,你可以手工选择移动将一个资源组中的所有资源移动到另外一个中。移动vnet时,虚拟网络会短暂无法使用。

  9.迁移存储账户
  迁移过程和迁移vnet一样,命令如下:
  PS C:\Users\yb> $storageName = "ybtest"
  PS C:\Users\yb> Move-AzureStorageAccount -Validate -StorageAccountName $storageName
  PS C:\Users\yb> Move-AzureStorageAccount -Prepare -StorageAccountName $storageName
  PS C:\Users\yb> Move-AzureStorageAccount -Commit -StorageAccountName $storageName

  ASM模式下查看存储账户已经没有了,ARM模式下可以看到迁移后的存储账户


  最后,将vnet、vm、storage移动到同一个资源组,如下

  总结:
  迁移过程中系统不会中断,迁移时,会迁移虚拟网络里所以的虚拟机
  存储账户需要单独迁移
  系统自动创建多个资源组,vm、vnet、storage分别放在不同资源组里,可以移动到同一个资源组(移动时,移动的模块短暂无法使用)
  不支持的IAAS特性:
  vm自定义镜像
  启用了启动诊断的高级存储vm
  虚拟网络端点访问控制
  虚拟网关,Traffic manager的配置文件
  另外,从ASM模式迁移到ARM模式下,还有
  1.ASMtoARM项目:支持单个虚拟机迁移的Powershell脚本
  官网地址:https://github.com/fullscale180/asm2arm
  主要优点:

[*]  自动生成ARM模板和Powershell脚本
[*]  灵活组合,支持网络,NSG等
  主要缺点:

[*]  无法支持多个虚拟机迁移
[*]  时间较长
[*]  有宕机时间
[*]  无官方支持
  2. MigAZ,一个微软服务部门开发的迁移工具
  官方网址:https://github.com/Azure/classic-iaas-resourcemanager-migration/tree/master/migaz
  主要优点:

[*]  可以在不同的订阅之间迁移
[*]  客户自由选择需要迁移的资源
[*]  自动化迁移存储的工具
[*]  允许不同地区之间迁移
  主要缺点:

[*]  有宕机时间
[*]  无官方支持
  ASM模式下删除虚拟机后,使用VHD磁盘在ARM模式下创建虚拟机也是可以的。
页: [1]
查看完整版本: Azure虚拟机从ASM迁移到ARM