使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型
以下步骤演示如何使用 Azure 命令行接口 (CLI) 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型。 本文中的操作需要 Azure CLI。
Note
此处描述的所有操作都是幂等的。 如果你遇到功能不受支持或配置错误以外的问题,建议你重试准备、中止或提交操作。 然后平台将重试操作。
下面是一个流程图,用于确定在迁移过程中需要执行步骤的顺序

步骤 1:准备迁移
下面是建议你在将 IaaS 资源从经典部署模型迁移到 Resource Manager 部署模型时遵循的一些最佳实践:
- 请参阅不受支持的配置或功能的列表。 如果虚拟机使用不受支持的配置或功能,建议你等到我们宣布支持该功能/配置时再进行迁移。 或者,可以删除该功能或移出该配置,以利迁移进行(如果这样做符合要求)。
- 如果你通过自动化脚本来部署目前的基础结构和应用程序,则可尝试使用这些脚本进行迁移,以便创建类似的测试性设置。 也可以使用 Azure 门户设置示例环境。
Important
目前不支持通过应用程序网关从经典部署模型迁移到 Resource Manager 部署模型。 若要迁移带应用程序网关的经典虚拟网络,请先删除该网关,然后运行准备操作来移动网络。 完成迁移后,在 Azure Resource Manager 中重新连接该网关。
无法自动迁移其他订阅中连接到 ExpressRoute 线路的 ExpressRoute 网关。 此类情况下,请删除 ExpressRoute 网关、迁移虚拟网络并重新创建网关。 有关详细信息,请参阅将 ExpressRoute 线路和关联的虚拟网络从经典部署模型迁移到 Resource Manager 部署模型。
步骤 2:设置订阅并注册提供程序
对于迁移方案,需要针对经典部署模型和 Resource Manager 部署模型设置环境。 安装 Azure CLI 并选择订阅。
登录到帐户。
azure login -e AzureChinaCloud
使用以下命令选择 Azure 订阅。
azure account set "<azure-subscription-name>"
Note
注册是一次性步骤,但必须在尝试迁移之前完成。 如果不注册,你会看到以下错误消息
BadRequest : Subscription is not registered for migration.
使用以下命令向迁移资源提供程序注册。 请注意,在某些情况下,此命令会超时。 但是,注册会成功。
azure provider register Microsoft.ClassicInfrastructureMigrate
请等五分钟让注册完成。 可以使用以下命令来检查审批状态。 请确保在继续操作之前,RegistrationState 为 Registered 。
azure provider show Microsoft.ClassicInfrastructureMigrate
现在请将 CLI 切换到 asm 模式。
azure config mode asm
步骤 3:请确保在当前部署或 VNET 的 Azure 区域中有足够的 Azure Resource Manager 虚拟机核心
要执行此步骤,需要切换到 arm 模式。 使用以下命令执行此操作。
azure config mode arm
可以使用以下 CLI 命令检查当前 Azure Resource Manager 中已有的核心数量。 若要了解有关核心配额的详细信息,请参阅限制和 Azure Resource Manager。
azure vm list-usage -l "<Your VNET or Deployment's Azure region"
验证完此步骤后,可以切换回 asm 模式。
azure config mode asm
步骤 4:选项 1 - 迁移云服务中的虚拟机
使用以下命令获取云服务列表,然后选取要迁移的云服务。 请注意,如果云服务中的 VM 在虚拟网络中或者具有 Web/辅助角色,你将收到错误消息。
azure service list
运行以下命令,从详细输出中获取云服务的部署名称。 在大多数情况下,部署名称与云服务名称相同。
azure service show <serviceName> -vv
首先,使用以下命令验证用户是否可以迁移云服务:
azure service deployment validate-migration <serviceName> <deploymentName> new "" "" ""
准备迁移云服务中的虚拟机。 可以从两个选项中进行选择。
如果你想要将 VM 迁移到平台所创建的虚拟网络上,请使用以下命令。
azure service deployment prepare-migration <serviceName> <deploymentName> new "" "" ""
如果你想要迁移到 Resource Manager 部署模型中的现有虚拟网络,请使用以下命令。
azure service deployment prepare-migration <serviceName> <deploymentName> existing <destinationVNETResourceGroupName> <subnetName> <vnetName>
准备操作成功后,可以查看详细输出,以获取 VM 的迁移状态,并确保其处于 Prepared 状态。
azure vm show <vmName> -vv
使用 CLI 或 Azure 门户查看准备好的资源的配置。 如果你尚未做好迁移准备,因此想要回到旧的状态,请使用以下命令。
azure service deployment abort-migration <serviceName> <deploymentName>
如果准备好的配置看起来没问题,则可继续进行,使用以下命令提交资源。
azure service deployment commit-migration <serviceName> <deploymentName>
步骤 4:选项 2 - 迁移虚拟网络中的虚拟机
选取要迁移的虚拟网络。 请注意,如果虚拟网络包含的 Web/辅助角色或 VM 的配置不受支持,你将收到验证错误消息。
使用以下命令获取订阅中的所有虚拟网络。
azure network vnet list
输出将如下所示:

在上面的示例中,virtualNetworkName 是完整名称 "Group classicubuntu16 classicubuntu16"。
首先,请使用以下命令验证用户是否可以迁移虚拟网络:
azure network vnet validate-migration <virtualNetworkName>
使用以下命令来准备要迁移的所选虚拟网络。
azure network vnet prepare-migration <virtualNetworkName>
使用 CLI 或 Azure 门户查看准备好的虚拟机的配置。 如果你尚未做好迁移准备,因此想要回到旧的状态,请使用以下命令。
azure network vnet abort-migration <virtualNetworkName>
如果准备好的配置看起来没问题,则可继续进行,使用以下命令提交资源。
azure network vnet commit-migration <virtualNetworkName>
步骤 5:迁移存储帐户
完成虚拟机迁移之后,建议你迁移存储帐户。
使用以下命令来准备要迁移的存储帐户
azure storage account prepare-migration <storageAccountName>
使用 CLI 或 Azure 门户查看准备就绪的存储帐户的配置。 如果你尚未做好迁移准备,因此想要回到旧的状态,请使用以下命令。
azure storage account abort-migration <storageAccountName>
如果准备好的配置看起来没问题,则可继续进行,使用以下命令提交资源。
azure storage account commit-migration <storageAccountName>
后续步骤
- 平台支持的从经典部署模型到 Azure Resource Manager 部署模型的 IaaS 资源迁移概述
- 有关平台支持的从经典部署模型到 Azure Resource Manager 部署模型的迁移的技术深入探讨
- 规划从经典部署模型到 Azure Resource Manager 的 IaaS 资源迁移
- 使用 PowerShell 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager
- 用于帮助将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型的社区工具
- 查看最常见的迁移错误
- 查看有关将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型的最常见问题 立即访问http://market.azure.cn
使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型的更多相关文章
- 使用 Azure PowerShell 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager
以下步骤演示了如何使用 Azure PowerShell 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 也可根据需要通过 Az ...
- 规划将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager
尽管 Azure 资源管理器提供了许多精彩功能,但请务必计划迁移,以确保一切顺利进行. 花时间进行规划可确保执行迁移活动时不会遇到问题. Note 以下指导的主要参与者为 Azure 客户顾问团队,以 ...
- 有关从经典部署模型迁移到 Azure Resource Manager 部署模型的常见问题
此迁移计划是否影响 Azure 虚拟机上运行的任何现有服务或应用程序? 不可以. VM(经典)是公开上市的完全受支持的服务. 你可以继续使用这些资源来拓展你在 Azure 上的足迹. 如果我近期不打算 ...
- 排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题
本文内容 常见问题 收集活动日志 问题:自定义映像:预配错误 问题:自定义/库/应用商店映像:分配失败 后续步骤 尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. ...
- 将 ExpressRoute 线路从经典部署模型转移到 Resource Manager 部署模型
本文概述将 Azure ExpressRoute 线路从经典部署模型转移到 Azure Resource Manager 部署模型的效果. Azure 当前使用两种部署模型:Resource Mana ...
- Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里
<Windows Azure Platform 系列文章目录> Azure SQL Database (19) Stretch Database 概览 Azure SQL Da ...
- 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager
适用场景 用户希望将特定云服务下的所有虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称:ARM). Note 如果云服务下使用 VNET 也希望将 ...
- 如何将同一 VNET 下的虚拟机从经典部署模型迁移到 Azure Resource Manager
本文内容 适用场景 解决方案 适用场景 用户拥有多个云服务但是在同一个 VNET 下,希望将这些虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称: ...
- Windows Azure Cloud Service (39) 如何将现有Web应用迁移到Azure PaaS平台
<Windows Azure Platform 系列文章目录> 本文将简单介绍,如何将企业内现有的ASP.NET应用程序迁移到Azure PaaS平台. 因为在迁移过程中,可能需要对现有的 ...
随机推荐
- ajax session timeout
授权过期后AJAX操作跳转到登录页的一种全局处理方式 菜鸟程序员之Asp.net MVC Session过期异常的处理 基于WebImage的图片上传工具类
- springMVC的一些入门配置
1.springMVC的描述 1.1.SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架. 1.2.SpringMVC的作用是实现页面和后 ...
- [转]矩阵树$Matrix-Tree$定理与行列式
[https://www.cnblogs.com/zj75211/p/8039443.html][矩阵树Matrix-Tree定理与行列式]
- JS获取后台返回的JSON数据
问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...
- 《大数据日知录》读书笔记-ch2数据复制与一致性
CAP理论:Consistency,Availability,Partition tolerance 对于一个分布式数据系统,CAP三要素不可兼得,至多实现其二.要么AP,要么CP,不存在CAP.分布 ...
- Delphi对话框初始地址InitialDir
我的电脑:SaveDialog1.InitialDir := '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}';// My Computer {20D04FE0-3 ...
- 【随笔】node.js + npm的安装
需要用到node.js和npm,所以来安装下. 在网上找了找教程,好多都是分开装的,各种麻烦各种事,最后还是在node.js官网里下载解决了.记录一下. 如果安装在当前环境,直接点击install会自 ...
- Orcale 之 SQL 数据定义
SQL 的数据定义功能主要是针对数据对象进行定义的,这些数据对象主要包括:表,视图以及索引. 注意:由于视图是基于表的虚表,而索引是依附在基表上的,所以视图和索引均不提供修改视图和索引定义的操作.如果 ...
- GIT 恢复单个文件到历史版本
首先查看该文件的历史版本信息:git log <file> 恢复该文件到某个历史版本:git reset 版本号 <file> 检出改文件到工作区:git checkout - ...
- FocusBI: 使用Python爬虫为BI准备数据源(原创)
关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...