从ASM迁移到ARM(1):平台支持的迁移服务
Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAAS服务转向ARM模式,本文就来介绍一下相关的工具和服务。
目前从ASM迁移到ARM,主要有以下一些工具和服务可以使用:
1.平台内置的迁移服务:这个服务是内置的,只需要你注册Resource Provider就可以使用。
主要的优点:
- 虚拟机无宕机时间
- 有官方支持;
主要缺点
- 迁移粒度只能通过vnet或者云服务来迁移,无法根据客户定制的方式,比如项目进行迁移
- 虚拟机和存储,网络要分开迁移,比较繁琐
- 不支持跨地区,跨订阅的迁移
官网地址: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
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"
$vnetName = "myVnet"
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
如果你看到如下的输出,那么就证明你的迁移验证是成功的:
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
可以看到,在经典模式的管理界面中,虚拟网络和虚拟机都已经看不到了,但是存储账号还在,这就意味着虚拟机和网络已经被迁移到ARM模式,但是存储并没有没迁移:
9.登录到新的portal,在资源组页面,你可以看到系统已经自动创建了两个资源组,以原来虚拟机名称和虚拟网络,后面加上migrated而成,如果你希望所有的资源在一个资源组中,你可以手工选择移动将一个资源组中的所有资源移动到另外一个中:
$storageAccountName = "demovmstorage"
Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName
Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
从本文可以看到,使用平台原生的迁移服务,可以方便的迁移IAAS资源(虚拟机,网络,存储):
- 迁移过程中系统无中断
- 系统自动创建资源组,切分别为虚拟网络,虚拟机和存储单独创建
- 可以通过虚拟网络迁移所有在该网络中的虚拟机
- 存储需要单独迁移
- 如果需要,需要手工把多个迁移的资源组合并为一个
但并不是所有的IAAS特性和配置都支持,有些配置和特性目前在平台支持的迁移服务中还不支持,比如:
- 虚拟机的自定义镜像
- 启用了启动诊断的高级存储虚拟机
- 虚拟网络的端点访问控制
- 虚拟网关,Traffic manager的配置文件
更多的迁移支持范围可以参考:https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-migration-classic-resource-manager
从ASM迁移到ARM(1):平台支持的迁移服务的更多相关文章
- 如何将已部署在ASM的资源迁移到ARM中
使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到AR ...
- Azure VM从ASM迁移到ARM(一)
Azure的IaaS有ASM和ARM两个版本,ARM的一些优点前面已经聊过很多了.ARM有更细的管理颗粒度,更多的功能等. 如果想从ASM迁移到ARM,目前有两类方法可以实现: 1. Azure平台支 ...
- Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)
<Windows Azure Platform 系列文章目录> 目前很多客户陆续的把传统ASM VM迁移至ARM VM.我这里简单介绍一下. 整个迁移过程分为: 1.Validate,Az ...
- Azure ASM到ARM迁移 (三) Reserved IP的迁移
Azure的ASM下,很多用户的应用种域名的解析在DNS服务器种都采用A记录的方式,所以很多用户都在Azure上采用了Reserved IP. 关于Reserved IP,可以参考http://www ...
- Azure VM从ASM迁移到ARM(二)
在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一. 获得ASM中Disk的信息 在管理 ...
- Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)
<Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...
- 有关平台支持的从经典部署模型到 Azure Resource Manager 的迁移的技术深入探讨
本文将深入探讨如何从 Azure 经典部署模型迁移到 Azure Resource Manager 部署模型. 本文将介绍资源和功能级别的资源,让用户了解 Azure 平台如何在两种部署模型之间迁移资 ...
- 平台支持的从经典部署模型到 Azure Resource Manager 的 IaaS 资源迁移
本文介绍如何才能将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Resource Manager 部署模型. 用户可以阅读有关 Azure Resource Manager 功能和优点的更多 ...
- 开发平台支持Arm Cortex-M的微控制器上人工智能训练
开发平台支持Arm Cortex-M的微控制器上人工智能训练 Development platform enables AI training on Arm Cortex-M-based microc ...
随机推荐
- iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
现在很多的APP中都有slide view,左右滑动出现侧边菜单栏的功能,Weico这个应用就有. 网上有很多第三方的类库实现了这种效果,其实自己代码写的话也是很简单的,下面我将介绍两种方法实现s ...
- 关于popupwindow的两种实现方式
http://104zz.iteye.com/blog/1685389 android PopupWindow实现从底部弹出或滑出选择菜单或窗口 本实例弹出窗口主要是继承PopupWindow类来实现 ...
- 为什么Application_BeginRequest会执行两次
大家也看到了,很奇怪的是我们明明就请求了一个页面,页面中也没有其他的图片请求.为什么Application_BeginRequest会被执行了两次呢?!既然他请求,那我们看看他到底在请求什么就是 ...
- poj3696:同余方程,欧拉定理
感觉很不错的数学题,可惜又是看了题解才做出来的 题目大意:给定一个数n,找到8888....(x个8)这样的数中,满足能整除n的最小的x,若永远无法整除n 则输出0 做了这个题和后面的poj3358给 ...
- jQuery旋转插件jqueryrotate 图片旋转
"jquery.rotate.min.js"是jQuery旋转rotate插件,支持Internet Explorer 6.0+ .Firefox 2.0 .Safari 3 .O ...
- Web 前端利器Emmet 的HTML用法总结
在tutsplus那里看到一篇文章介绍Emmet 的用法,形象的gif图片一目了然,本来想翻译过来的(虽然翻译用法倒不是很难),但搜索发现已经有国人翻译过了,遂直接拿来转载在这里. Emmet 简介 ...
- Annotation(二)——Hibernate中注解的开发
在利用注解开发数据库持久层以前,需要学习一个规范JPA(Java Persistence API),这也是SUN公司提出的数据库的持久化规范.就类似于JDBC,Servlet,JSP等规范一样.而Hi ...
- eclipse指定启动时的jdk(xjl456852原创)
在eclipse安装目录中找到eclipse.ini 在第一行配置(即可启动按指定版本的jdk启动eclipse): -vm D:\soft\Java\jre8\bin\server\jvm.dll ...
- HTML5新增的一些属性和功能之六——拖拽事件
拖放事件的前提是分为源对象和目标对象,你鼠标拖着的是源对象,你要放置的位置是目标对象,区分这两个对象是因为HTML5的拖放事件对两者是不同的. 被拖动的源对象可以触发的事件: 1).ondragsta ...
- [Regular Expressions] Find Repeated Patterns
Regular Expression Quantifiers allow us to identify a repeating sequence of characters of minimum an ...