从asm迁移到arm:平台支持的迁移服务

StevenLian StevenLian     2022-08-15     571

关键词:

Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAAS服务转向ARM模式,本文就来介绍一下相关的工具和服务。

目前从ASM迁移到ARM,主要有以下一些工具和服务可以使用:

1.平台内置的迁移服务:这个服务是内置的,只需要你注册Resource Provider就可以使用。

主要的优点:

  • 虚拟机无宕机时间
  • 有官方支持;

主要缺点

  • 迁移粒度只能通过vnet或者云服务来迁移,无法根据客户定制的方式,比如项目进行迁移
  • 虚拟机和存储,网络要分开迁移,比较繁琐
  • 不支持跨地区,跨订阅的迁移

     

2.ASMtoARM项目:支持单个虚拟机移植的Powershell脚本

 

官网地址:https://github.com/fullscale180/asm2arm

主要优点:

  • 自动生成ARM模板和Powershell脚本
  • 灵活组合,支持网络,NSG等

主要缺点:

  • 无法支持多个虚拟机迁移
  • 时间较长
  • 有宕机时间(脚本不会帮你关机)
  • 无官方支持

3. MigAZ,一个微软服务部门开发的迁移工具

官方网址:https://github.com/Azure/classic-iaas-resourcemanager-migration/tree/master/migaz

主要优点:

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

主要缺点:

  • 有宕机时间
  • 无官方支持

可以看到,每一种迁移方式都各有优缺点,大家可以根据自己的需求选择合适的方式进行迁移;本系列会主要介绍Azure平台原生支持的迁移服务以及MigAZ工具,对于基于Powershell的ASMtoARM工具,大家感兴趣可以自己研究一下。

平台内置的迁移服务

平台内置的迁移服务,依赖于ClassicInfrastructureMigrate这个resource provider,目前在中国已经上线了,可以开始使用了。

对于生产环境的迁移,一定要非常谨慎,做好规划和评估,然后再开始迁移。微软的ASM到ARM的迁移,有一些基本的方法论,大家可以做个参考,保证你的迁移过程平滑而顺利:

  • 评估 – 评估虚拟机所在虚拟网络是否满足迁移要求
  • 开始 – 虚拟网络已经准备好的情况,可以开始准备迁移
  • 验证 – 检查和验证所迁移的资源是否正常
  • 提交 – 提交迁移请求,正式迁移

用户的环境相对而言会比较多样而复杂,比如在vnet里的虚拟机,不在vnet里的虚拟机,带有gateway的虚拟机等等,我们先来看一下如何迁移最为常见的在虚拟网络中的所有虚拟机。

迁移虚拟网络中的虚拟机到ARM

1.首先我们准备一个测试的环境,一个Linux虚拟机,在一个vnet里面,它的存储账号是demovmstorage:

2.打开Powershell,登陆到你的资源管理器账号:

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

3.登陆完成后,首先你要注册ClassicInfrastructureMigrate,否则后续的迁移无法使用:

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

检查当前ClassicInfrastructureMigrate的注册状态,如果你看到状态变成了Registered,才可以进行后续的操作。

Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

4.使用ASM登陆到当前的Azure账号:

Add-AzureAccount -Environment AzureChinaCloud

选择你的源订阅:

Select-AzureSubscription -SubscriptionId YOURSUBID

5.在迁移之前,你需要检查一下你的资源管理器配额,确保你有足够的资源进行迁移,如果不够的话,需要打21v 400电话扩展你的配额

Get-AzureRmVMUsage -Location "China East"

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

$vnetName = "myVnet"

Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName

如果你看到如下的输出,那么就证明你的迁移验证是成功的:

 

7.根据我们多阶段验证的操作,你首先需要准备这个操作,然后才能提交这个操作,首先准备这个操作:

Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

8.然后正式提交这个操作,操作成功后,到经典管理的界面,检查当前虚拟机,看到已经不见了,这是因为经典的portal只能管理经典模式的虚拟机:

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

可以看到,在经典模式的管理界面中,虚拟网络和虚拟机都已经看不到了,但是存储账号还在,这就意味着虚拟机和网络已经被迁移到ARM模式,但是存储并没有没迁移:

9.登录到新的portal,在资源组页面,你可以看到系统已经自动创建了两个资源组,以原来虚拟机名称和虚拟网络,后面加上migrated而成,如果你希望所有的资源在一个资源组中,你可以手工选择移动将一个资源组中的所有资源移动到另外一个中:

10. 从上述描述可以看到,存储实际上目前还是保留在经典模式,我们需要单独迁移,同样的步骤,我们可以定义存储,准备迁移,提交迁移:

$storageAccountName = "demovmstorage"

 

Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName

 

Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName

 

Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName

 

11.上述迁移成功后,打开新的portal界面,检查当前新的资源组resource group,可以看到和之前一样的规则,产生了一个新的资源组demovmstorage-Migrated,如果你希望他们放在一个资源组,也可以进行移动

从本文可以看到,使用平台原生的迁移服务,可以方便的迁移IAAS资源(虚拟机,网络,存储):

  • 迁移过程中系统无中断
  • 系统自动创建资源组,切分别为虚拟网络,虚拟机和存储单独创建
  • 可以通过虚拟网络迁移所有在该网络中的虚拟机
  • 存储需要单独迁移
  • 如果需要,需要手工把多个迁移的资源组合并为一个

但并不是所有的IAAS特性和配置都支持,有些配置和特性目前在平台支持的迁移服务中还不支持,比如:

  • 虚拟机的自定义镜像
  • 启用了启动诊断的高级存储虚拟机
  • 虚拟网络的端点访问控制
  • 虚拟网关,Traffic manager的配置文件

更多的迁移支持范围可以参考:https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-migration-classic-resource-manager

azurevm从asm迁移到arm

...;ARM有更细的管理颗粒度,更多的功能等。如果想从ASM迁移到ARM,目前有两类方法可以实现:Azure平台支持的迁移工具脚本或工具实现的VHD复制,再创建虚拟机一、Azure平台支持的迁移工具介绍Azure平台支持的迁移工... 查看详情

azurevm从asm迁移到arm

...;ARM有更细的管理颗粒度,更多的功能等。如果想从ASM迁移到ARM,目前有两类方法可以实现:Azure平台支持的迁移工具脚本或工具实现的VHD复制,再创建虚拟机一、Azure平台支持的迁移工具介绍Azure平台支持的迁移工... 查看详情

asm到arm迁移

在一中讨论了通过Azure平台的工具进行迁移的方案。本文将讨论另外一种迁移方式。通过磁盘复制的方式,把部分VM迁移到ARM的ManagedDisk模式。一. 获得ASM中Disk的信息在管理界面上,获取VM的Disk信息二. 通过这个Disk的URL,... 查看详情

如何将已部署在asm的资源迁移到arm中

...使用ARM,但是对于哪些已经使用ASM作为生产环境的用户想迁移到ARM中,应该怎么办,今天笔者就像大家介绍 查看详情

把asm下的hddvm转换成arm下manageddisk的ssdvm

...级存储账户。再通过这个Disk创建VM。目前在有了ASM到ARM的迁移工具,以及ManagedDisk后,这个工作就简单了。下面将介绍如何实现从ASM的HDDVM迁移到ARM模式下的ManagedDisk的SSDVM。一ASM下的VM迁移到ARM下1Cli版本这个工作,可以用powershell... 查看详情

azureasm虚拟机迁移到arm中

...讲之前在老门户(ASM)中的虚拟机往新门户(ARM)中进行迁移,阅读了很多博主的文章和微软云网站的介绍,在下使用微软云官网介绍的迁移工具进行迁移。在开始迁移体验之前,了解一下整个迁移的流程,总共分四步:验证:... 查看详情

Cordova [Android 平台] 从 API 29 迁移到 API 30

】Cordova[Android平台]从API29迁移到API30【英文标题】:Cordova[Androidplatform]migrationfromAPI29toAPI30【发布时间】:2021-11-2713:33:17【问题描述】:我正在尝试迁移我的移动应用程序(使用Cordova和AngularJS为Android和iOS平台开发),我遇到了从A... 查看详情

阿里云迁移(分享九)

1综述?P2V迁移P2V指迁移物理服务器上的操作系统及其上的应用软件和数据到阿里云平台管理的ECS服务器中。这种迁移方式,主要是使用各种工具软件,把物理服务器上的系统状态和数据镜像到一个虚拟磁盘文件中,并上传至阿里... 查看详情

[aws][迁移]使用vmimport将azure虚拟机迁移至aws平台(代码片段)

...支持的镜像类型做镜像格式的转换。在云平台间的虚拟机迁移,原理是差不多,可以看作是不同的虚拟化平台的迁移。这里我以Azure的VM虚拟机(ARM资源管理模式)迁移到AWS的EC2虚拟机为例:(如果你使用的是早期的经典模式虚... 查看详情

数据库从 PostgreSQL 迁移到 Oracle

】数据库从PostgreSQL迁移到Oracle【英文标题】:DatabasemigrationfromPostgreSQLtoOracle【发布时间】:2013-10-0210:49:52【问题描述】:我正在将我的数据库服务器从PostgreSQL迁移到Oracle11g。我尝试了各种工具,例如SquirrelSQL。但是大多数迁移... 查看详情

将客户条纹支付数据从 Squarespace 迁移到 Woocommerce

】将客户条纹支付数据从Squarespace迁移到Woocommerce【英文标题】:MigratingcustomerstripepaymentdatafromSquarespacetoWoocommerce【发布时间】:2021-02-0621:05:23【问题描述】:我正在将一个提供订阅服务的网站从SquareSpace迁移到WooCommerce。两个平... 查看详情

文件系统与asm的左右迁移(代码片段)

文件系统与ASM的左右迁移ASM迁移到文件系统rmanasmcmdcpdbms_file_transfer文件系统迁移到ASMrmanasmcmdcopydbms_file_transferASM迁移到文件系统现我们接到如下需求:将ASM共享盘中OPTMTBS表空间数据文件迁移到文件系统中。asm迁移到文件系统... 查看详情

从 QWebKitWidgets 迁移到 QWebEngineWidgets,项目文件支持两者

】从QWebKitWidgets迁移到QWebEngineWidgets,项目文件支持两者【英文标题】:MigratingfromQWebKitWidgetstoQWebEngineWidgetswithprojectfilesupportingboth【发布时间】:2017-02-2506:57:36【问题描述】:我目前正在向我的旧应用程序添加对QWebEngineWidgets的支... 查看详情

迁移到 aws 后如何使用推送通知

】迁移到aws后如何使用推送通知【英文标题】:Howtousepushnotificationaftermigratingtoaws【发布时间】:2016-06-2105:10:00【问题描述】:我已按照以下链接将解析服务器迁移到AWS;https://parse.com/migration对于推送通知,我使用的是AWSSNS,但... 查看详情

石英 2D 或 OpenGL ES?从长远来看的利弊,迁移到其他平台的可能性

】石英2D或OpenGLES?从长远来看的利弊,迁移到其他平台的可能性【英文标题】:Quartz2DorOpenGLES?Prosandconsinthelongterm,possibilityofmigrationtootherplatforms【发布时间】:2010-04-0808:16:52【问题描述】:我很难决定是使用Quartz2D还是使用OpenGL... 查看详情

jhipster 3 从单体迁移到微服务

】jhipster3从单体迁移到微服务【英文标题】:jhipster3Migratefrommonolithictomicroservices【发布时间】:2017-01-0614:05:51【问题描述】:目前我有一个JHipster3.3单体应用程序,我想迁移到微服务架构。我已经创建了注册表、网关和uaa服务。... 查看详情

从x86到arm,代码移植指北

...有口皆碑,因此基于x86环境编写的程序也都需要考虑迁移到ARM架构上去,以适应扑面而来的ARM热潮。针对这个迁移工作笔者进行了一些预研工作。从目前的情况看基于Java、Pyt 查看详情

从x86到arm,代码移植指北

...有口皆碑,因此基于x86环境编写的程序也都需要考虑迁移到ARM架构上去,以适应扑面而来的ARM热潮。针对这个迁移工作笔者进行了一些预研工作。从目前的情况看基于Java、Pyt 查看详情