Azure VM从ASM迁移到ARM(一)
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(一)的更多相关文章
- Azure VM从ASM迁移到ARM(二)
在一中讨论了通过Azure平台的工具进行迁移的方案. 本文将讨论另外一种迁移方式.通过磁盘复制的方式,把部分VM迁移到ARM的Managed Disk模式. 一. 获得ASM中Disk的信息 在管理 ...
- 从ASM迁移到ARM(1):平台支持的迁移服务
Azure上的ARM模式为用户带来更好的管理,更多新的特性,更好的体验,因此目前正在使用经典模式(ASM)的用户,在了解和使用了ARM之后,也在考虑如何将原来基于ASM模式的虚拟机,存储,网络等IAA ...
- 如何将已部署在ASM的资源迁移到ARM中
使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到AR ...
- 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 CLI对ASM,ARM资源的基本操作
本文主要介绍Windows Azure CLI对ASM及ARM资源的基本操作 1.在windows的CMD或Powershell环境下,输入命令:azure,可以查看到当前操作的模式为ASM还是ARM ...
- 把Azure专线从Class模式迁移到ARM模式
前面几篇文章介绍了Azure的ASM模式和ARM模式.很多用户已经在ASM模式下部署了Azure的专线服务,如果部署的应用是ARM模式,或ASM模式和ARM模式都有,就需要把ASM模式的专线迁移到AR ...
- 手动将经典 VM 从 VHD 迁移到新的 ARM 托管磁盘 VM
本部分有助于将现有 Azure VM 从经典部署模型迁移到资源管理器部署模型中的托管磁盘. 计划迁移到托管磁盘 本部分可帮助你针对 VM 和磁盘类型做出最佳决策. 位置 选取 Azure 托管磁盘可用 ...
- 将 Azure VM 迁移到 Azure 中的托管磁盘
Azure 托管磁盘无需单独管理存储帐户,从而简化了存储管理. 还可以将现有的 Azure VM 迁移到托管磁盘,以便受益于可用性集中 VM 的更佳可靠性. 它可确保可用性集中不同 VM 的磁盘完全相 ...
随机推荐
- h5新特性 File API详解
之前一直觉得h5的新特性就是一些新标签呢,直到想研究一下图片上传预览的原理,才发现还是有好多新的api的,只是不兼容ie低版本,挺可惜的, File API在表单中文件输入字段基础上,又添加了一些直接 ...
- 【算法】fhqtreap初探
NOIP回来就一直想着学平衡树...平衡树写久了调不出来真的会头脑发热.jpg 大概只写了几道题... fhqtreap是不需要旋转的平衡树,仅使用分裂合并,一样可以保持平衡树的性质,并且可以非常简单 ...
- 【bzoj2118&洛谷P2371】墨墨的等式(最短路神仙题)
题目传送门:bzoj2118 洛谷P2371 这道题看了题解后才会的..果然是国家集训队的神仙题,思维独特. 首先若方程$ \sum_{i=1}^{n}a_ix_i=k $有非负整数解,那么显然对于每 ...
- 【转】服务器.htaccess 详解以及 .htaccess 参数说明
htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限 ...
- Mysql 利用小工具源码
#include "StdAfx.h" #include "Sql.h" #include <windows.h> #include <std ...
- XE8_DataSnap设置
1.参考文章 http://blog.csdn.net/l799623787/article/details/17002979 ZC: 系列在这里:http://www.cnblogs.com/Chi ...
- 路由器分配的IP地址
在IP地址范围内,一部分地址将保留作为私人IP地址空间,专门用于内部局域网使用,这些地址如下表: A类 10.0.0.0-10.255.255.255 网络数:1 B类 172.16.0.0-172. ...
- jstl: <c:url> 标签
这个标签主要是用来重写 URL 地址.它的使用格式如下所示:<c:url value=”value” [context=”context”] [var=”varName”] [scope=”pa ...
- 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...
- python字典方法
本文参考自<python基础教程 (第二版)> 操作 语法 举例 结果 建立字典 dict() 1.以关键字参数建立字典 2.以其他映射作为参数建立字典 1.d = dict(name=' ...