如何将已部署在ASM的资源迁移到ARM中
使用过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中建立虚拟机,存储账号,虚拟网络,云服务,过程省略,结果如下
云服务

存储账号

虚拟网络

虚拟机

第二步,使用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

使用ASM登陆到当前账号
PS C:\Users\羊羊> Add-AzureAccount -Environment AzureChinaCloud
输入账号与密码,完成登陆
选择你的源订阅
PS C:\Users\羊羊> Select-AzureSubscription -SubscriptionId xxxxxxxx

迁移之前,检查你的资源管理器配额,需要确保你有足够的资源可以迁移
PS C:\Users\羊羊> Get-AzureRmVMUsage -Location "China East"

定义你要迁移虚拟机的虚拟网络,并验证一下迁移该虚拟网络是否有任何问题
PS C:\Users\羊羊> $vnetName = "asmvnet" PS C:\Users\羊羊> Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
看到如下结果表示成功

根据我们多阶段验证的操作,也就是说每一个操作必须先验证,再进行操作
PS C:\Users\羊羊> Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
看到如下结果表示成功

接下来可以提交正式操作了
PS C:\Users\羊羊> Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
看到如下结果表示成功

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

一开始创建的asmvnet也没有了

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

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

对于存储,我们需要单独迁移,步骤都一样,定义存储,准备迁移,提交迁移
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
结果如下

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

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

最终结果如下

根据此次poc的过程,我们可以看出,使用平台内置的迁移服务,有如下几个特点
可以便捷地迁移IaaS资源
迁移过程系统是不会被中断
可以通过迁移虚拟网络从而迁移该虚拟网络中的虚拟机
存储需要单独迁移
如有需要,可以把多个资源组合并为一个
但是在这里笔者想提醒大家一句,并非所有的IaaS资源都可以迁移,有些配置和特性暂时还不能支持,比如虚拟机的自定义镜像,启用了启动诊断的高级存储虚拟机,虚拟网络的端点访问控制,虚拟网关,Traffic Manager的配置文件,具体的迁移支持范围
如何将已部署在ASM的资源迁移到ARM中的更多相关文章
- Azure VM从ASM迁移到ARM(一)
Azure的IaaS有ASM和ARM两个版本,ARM的一些优点前面已经聊过很多了.ARM有更细的管理颗粒度,更多的功能等. 如果想从ASM迁移到ARM,目前有两类方法可以实现: 1. Azure平台支 ...
- 平台支持的从经典部署模型到 Azure Resource Manager 的 IaaS 资源迁移
本文介绍如何才能将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Resource Manager 部署模型. 用户可以阅读有关 Azure Resource Manager 功能和优点的更多 ...
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...
- Azure Kubernetes(AKS)部署及查看应用资源
简介 上一篇文章讲解了如何使用Azure DevOps持续部署应用到Azure Kubernetes上.但是部署是否成功?会不会遇到什么问题?项目运行中是否会出现问题?我们该怎么样查看这些问题,并且对 ...
- (五)Amazon Lightsail 部署LAMP应用程序之迁移到Amazon RDS实例
迁移到您的Amazon RDS实例 在某些时候,您的应用程序需求可能需要在 Amazon Lightsail中找不到的功能.幸运的是,将应用程序的一个或所有部分移动到其他AWS服务中非常简单 您将数据 ...
- 从ASM迁移到ARM(1):平台支持的迁移服务
Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAA ...
- Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)
<Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...
- Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)
<Windows Azure Platform 系列文章目录> 目前很多客户陆续的把传统ASM VM迁移至ARM VM.我这里简单介绍一下. 整个迁移过程分为: 1.Validate,Az ...
- Azure VM从ASM迁移到ARM(二)
在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一. 获得ASM中Disk的信息 在管理 ...
随机推荐
- JS--遍历对象
var person = { Name:"Frank", Age:23 } Object.keys(person).forEach(function(key){ console.l ...
- MikroTik RB750r2 操作记录
1. 客户端的下载 http://www.mikrotik.com/download 下载 winbox 2. Reset重置密码的正确姿势 http://wiki.mikrotik.com/ind ...
- OSG3.40 编译时,无法打开输入文件“optimized.lib”
解决方案: 正常情况下,下图中会多出一项:ZLIB_LIBRARY_RELEASE,之后屡次编译,都提示"无法打开输入文件"optimized.lib"" 因为 ...
- Linux 信号量详解一
信号量主要用于进程间(不是线程)的互斥,通过sem_p()函数加锁使用资源,sem_v函数解锁释放资源,在加锁期间,CPU从硬件级别关闭中断,防止pv操作被打断. semget函数 int semge ...
- 设计 api, url 的原则
设计 api, url 的原则 做微信公众号的项目,账号体系使用微信的 openid.现在增加需求,要求适应 web 端--做成普通的 web 项目.然后 url 的变化:我想给现有的 url 加上 ...
- 唯物 VS 唯心
对于唯物和唯心,我了解的并不多.我所知道的那点皮毛,也只是源于教课书.只是近来恋上了阳明大哥,而在某年的高考模拟题中,阳明竟被作为唯心主义的代表,供考生们批判.这一批搞得我着实不爽,决定要为他平反 ...
- FineUI(开源版)v6.0中FState服务器端验证的实现原理
前言 1. FineUI(开源版)是完整开源,最早发起于 2008-04,下载全部源代码:http://fineui.codeplex.com/ 2. 你可以通过捐赠作者来支持FineUI(开源版)的 ...
- Gulp:自动化构建工具
一.介绍: gulp是一个基于流的构建工具,可以自动执行指定的任务,简洁且高效 二.优点: 开发环境下,想要能够按模块组织代码,监听实时变化 css/js预编译,postcss等方案,浏览器前缀自动补 ...
- C#设计模式(2)——简单工厂模式
一.概念:简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创 ...
- localForage——轻松实现 Web 离线存储(转)
localStorage 能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据.IndexedDB 和 WebSQL 是异步的,速度快,支持大数据集,但他们的API 使用起来有点复杂.不仅 ...