Azure的IaaS有ASM和ARM两个版本,ARM的一些优点前面已经聊过很多了。ARM有更细的管理颗粒度,更多的功能等。

如果想从ASM迁移到ARM,目前有两类方法可以实现:

1. Azure平台支持的迁移工具

2. 脚本或工具实现的VHD复制,再创建虚拟机

下面我们分别来介绍两种方式。

一、Azure平台支持的迁移工具

1. 介绍

Azure平台支持的迁移工具的实质,是将Azure VM的管理权从ASM迁移到ARM。而在这个过程中,Azure VM的Disk、Network以及CPU和Memory都没有发生改变。

这中迁移本质也是ASM和ARM管理权的转换:ASM将VM的管理权转给了ARM。

从上图可以看出,Azure的VM有两种管理管理方式:ASM和ARM。迁移前后,VM没有发生变化,只是管理者变掉了。

Azure平台支持的迁移工具可以支持以下内容的迁移:

  • Virtual Machines
  • Availability Sets
  • Cloud Services
  • Storage Accounts
  • Virtual Networks
  • VPN Gateways
  • Express Route Gateways
  • Network Security Groups
  • Route Tables
  • Reserved IPs

工具可以支持两种迁移方式:

1. 在一个Cloud Service下,但不在Vnet中,同一个Cloud Service下的资源同时迁移

2. 在一个Vnet内,所有资源同时迁移

由于客户大多是采用Vnet部署系统,本文将介绍将同一个Vnet中VM从ASM迁移到ARM中。

Vnet中的VM资源迁移共分4步:

1. Validate验证

2. Prepare准备

3. Check检查

4. Commit确认 or Abort放弃

2. 迁移过程

a. 环境

本实验有一个Vnet: hwwaf

azure network vnet list
info: Executing command network vnet list
+ Looking up the virtual network sites
data: Name Location Affinity group State Address space Subnets count VPN Gateway address
data: ----- ---------- -------------- ------- ------------- ------------- -------------------
data: hwwaf China East Created 10.1.1.0/ 139.217.16.184
info: network vnet list command OK

两台VM:

azure vm list
info: Executing command vm list
+ Getting virtual machines
data: Name Status Location DNS Name IP Address
data: ------- --------- ---------- ------------------------ ----------
data: hwwaf01 ReadyRole China East hwwaf01.chinacloudapp.cn 10.1.1.4
data: hwwaf02 ReadyRole China East hwwaf02.chinacloudapp.cn 10.1.1.5
info: vm list command OK

b. 4步迁移过程

1. validate

azure network vnet validate-migration hwwaf
info: Executing command network vnet validate-migration
data: Information : Deployment hwwaf02 in Cloud Service hwwaf02 is eligible for migration.
data: Information : VM hwwaf02 in Deployment hwwaf02 within Cloud Service hwwaf02 is eligible for migration.
data: Information : Deployment hwwaf01 in Cloud Service hwwaf01 is eligible for migration.
data: Information : VM hwwaf01 in Deployment hwwaf01 within Cloud Service hwwaf01 is eligible for migration.
data: Information : Virtual Network hwwaf is eligible for migration.
info: network vnet validate-migration command OK

2. Prepare

azure network vnet prepare-migration hwwaf
info: Executing command network vnet prepare-migration
info: network vnet prepare-migration command OK

3. Check

检查状态:

另外在这个vnet中有一个VPN Gateway,可以看到,做了Prepare以后,这个Gateway也准备进行迁移:

4. Commit

确认迁移:

azure network vnet commit-migration hwwaf
info: Executing command network vnet commit-migration
info: network vnet commit-migration command OK

可以看到此时VM已经运行正常:

如果希望终止迁移,可以采用下面的命令取消迁移:

network vnet abort-migration hwwaf

再查看一下VPN Gateway:

也迁移成功了。

在迁移过程中,始终进行ping的操作,ping包没有丢失。

 bytes from 10.1.1.5: icmp_seq= ttl= time=1.48 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.804 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.881 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.683 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.882 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.895 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=1.08 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.968 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.810 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.710 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.962 ms
......
bytes from 10.1.1.5: icmp_seq= ttl= time=0.682 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.831 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.838 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.926 ms
bytes from 10.1.1.5: icmp_seq= ttl= time=0.986 ms

总结:

通过Azure平台自带的ASM到ARM的迁移工具,可以方便的做VM的迁移。迁移包括VM和VPN Gateway。迁移的过程分几个阶段,迁移中VM没有发生中断。

下一篇文章,将介绍用MigAz的方式实现VM从ASM到ARM的迁移。

Azure VM从ASM迁移到ARM(一)的更多相关文章

  1. Azure VM从ASM迁移到ARM(二)

    在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一.  获得ASM中Disk的信息 在管理 ...

  2. 从ASM迁移到ARM(1):平台支持的迁移服务

    Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAA ...

  3. 如何将已部署在ASM的资源迁移到ARM中

    使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到AR ...

  4. Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)

    <Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...

  5. Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)

    <Windows Azure Platform 系列文章目录> 目前很多客户陆续的把传统ASM VM迁移至ARM VM.我这里简单介绍一下. 整个迁移过程分为: 1.Validate,Az ...

  6. Azure CLI对ASM,ARM资源的基本操作

    本文主要介绍Windows Azure CLI对ASM及ARM资源的基本操作 1.在windows的CMD或Powershell环境下,输入命令:azure,可以查看到当前操作的模式为ASM还是ARM ...

  7. 把Azure专线从Class模式迁移到ARM模式

    前面几篇文章介绍了Azure的ASM模式和ARM模式.很多用户已经在ASM模式下部署了Azure的专线服务,如果部署的应用是ARM模式,或ASM模式和ARM模式都有,就需要把ASM模式的专线迁移到AR ...

  8. 手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM

    本部分有助于将现有 Azure VM 从经典部署模型迁移到资源管理器部署模型中的托管磁盘. 计划迁移到托管磁盘 本部分可帮助你针对 VM 和磁盘类型做出最佳决策. 位置 选取 Azure 托管磁盘可用 ...

  9. 将 Azure VM 迁移到 Azure 中的托管磁盘

    Azure 托管磁盘无需单独管理存储帐户,从而简化了存储管理. 还可以将现有的 Azure VM 迁移到托管磁盘,以便受益于可用性集中 VM 的更佳可靠性. 它可确保可用性集中不同 VM 的磁盘完全相 ...

随机推荐

  1. ubuntu关闭631(cups)端口

    在ubuntu17.04环境下使用nmap扫描自己机器,发现631端口处于开启状态,将其输入到浏览器,可以看出是网络打印机的服务: 这个端口开着总是那么的刺眼,(5.12全球爆发的勒索病毒让人不寒而栗 ...

  2. JDBC的一些代码

    import java.sql.*; public class jdbc { //JDBC 驱动名及数据库名 URL static final String JDBC_DRIVE = "co ...

  3. Shell脚本实现SSH免密登录及批量配置管理

    本节索引 场景分析 ssh免密登录 pssh工具批量管理 SHELL自动化脚本 本篇总结 场景分析 作为一个运维工程师,不是每个人工作的环境都想阿里.腾讯那样,动不动就上亿的PV量,上万台服务器.我们 ...

  4. 解决maven寻找依赖关系失败的问题

    在mac中会碰到依赖jdk自带的jar包而maven找不到的问题 解决方案:安装jdk中的tools到本地mvn库 mvn install:install-file -Dfile=${JAVA_HOM ...

  5. HDFS请求接口

    通过HTTP来访问HDFS有两种方法:直接访问,HDFS后台进程直接服务于来自客户端的请求:通过代理(一对多)访问,客户端通常使用DistributedFileSystemAPI访问HDFS.第一种情 ...

  6. Qt 安装事件过滤器installEventFilter

    Qt 安装事件过滤器installEventFilter (2013-01-28 14:29:18) 转载▼   分类: 工作笔记 Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他 ...

  7. 不理解use explanatory variables

  8. 红米1S.线刷

    ZC:遇到问题:“Missmatching image and device”,解决网址:“[2.23][史上最全]MiFlash线刷错误的那些事儿_收藏备用_小米手机4_MIUI论坛.html”(h ...

  9. ActionContext实现原理

    StrutsPrepareAndExecuteFilter [http://www.tuicool.com/articles/NVNbYn] struts2 和 struts1 的一个重要区别就是它进 ...

  10. Javascript-我对作用链、闭包、原型及原型链的理解

    Javascript-基础概念总结(2) 最近学习一些javascript基础知识,也解决了很多之前的疑惑,记得第一次被问及怎样理解闭包时,我的回答是:就是类似于封装吧!现在想想是有多白痴,学习技术是 ...