本文内容

适用场景

解决方案

适用场景

用户拥有多个云服务但是在同一个 VNET 下,希望将这些虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称:ARM)。

Note

如果您未使用 VNET,希望将同一个云服务下的虚拟机从 ASM 模式迁移到 ARM 模式,您可以参考这篇文章:如何将同一个云服务下的虚拟机从 ASM 迁移到 ARM 上

解决方案

首先,我们登陆到需要迁移的虚拟机所在的订阅下,注册迁移服务:

PowerShell复制

#登陆到需要迁移的虚拟机所在的订阅下PS C:\windows\system32>Login-AzureRmAccount–Environment AzureChinaCloudEnvironment          : AzureChinaCloudAccount              : XXX@mcpod.partner.onmschina.cnTenantId              :xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxSubscriptionId        :xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxSubscriptionName      : <订阅名称>CurrentStorageAccount :#如果您需要迁移某个特定订阅下的虚拟机,需要手动进行指定PS C:\windows\system32>Select-AzureRmSubscription–SubscriptionName"<订阅名称>"#注册迁移服务PS C:\windows\system32>Register-AzureRmResourceProvider-ProviderNamespaceMicrosoft.ClassicInfrastructureMigrate#迁移服务注册一般需要 5 钟左右,您可以通过下述命令查看完成情况,PS C:\windows\system32>Get-AzureRmResourceProvider-ProviderNamespaceMicrosoft.ClassicInfrastructureMigrateProviderNamespace : Microsoft.ClassicInfrastructureMigrateRegistrationState : RegisteredResourceTypes    : {classicInfrastructureResources}Locations        : {China North, China East}Note:注册迁移服务为一次性操作,注册完成后以后迁移时无需再次注册,但是如果您在未注册前尝试迁移,会收到报错说该订阅未注册迁移服务#最后登陆到经典模式中需要迁移的虚拟机所在订阅下PS C:\windows\system32>Add-AzureAccount-EnvironmentAzureChinaCloudId                                Type Subscriptions                        Tenants--------------------------XXX@mcpod.partner.onmschina.cn Userxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx }#如果您需要迁移某个特定订阅下的虚拟机,需要手动进行指定Select-AzureSubscription–SubscriptionName"<订阅名称>"

检查 ARM 下您订阅里的配额,确保需要迁移的虚拟机有足够的配额可以使用:

复制

#您可以根据虚拟机所在的区域选择 China North 或者 China East

PS C:\windows\system32> Get-AzureRmVMUsage -Location "China East"

Name                            Current Value Limit  Unit

----                            ------------- -----  ----

Availability Sets                            2  2000 Count

Total Regional Cores                        39  100 Count

Virtual Machines                            17 10000 Count

Virtual Machine Scale Sets                  1  2000 Count

Standard Dv2 Family Cores                    4  100 Count

Standard FS Family Cores                    16  100 Count

Standard A0-A7 Family Cores                11  100 Count

Standard D Family Cores                      1  100 Count

Standard Av2 Family Cores                    2  100 Count

Standard DSv2 Family Cores                  4  100 Count

Standard DS Family Cores                    1  100 Count

Basic A Family Cores                        0  100 Count

Standard A8-A11 Family Cores                0  100 Count

Standard G Family Cores                      0  100 Count

Standard GS Family Cores                    0  100 Count

Standard F Family Cores                      0  100 Count

Standard NV Family Cores                    0    0 Count

Standard NC Family Cores                    0    0 Count

Standard H Family Cores                      0    0 Count

Standard LS Family Cores                    0  100 Count

Standard Dv2 Promo Family Cores              0  100 Count

Standard DSv2 Promo Family Cores            0  100 Count

Standard MS Family Cores                    0    0 Count

Standard Dv3 Family Cores                    0  100 Count

Standard DSv3 Family Cores                  0  100 Count

Standard Ev3 Family Cores                    0  100 Count

Standard ESv3 Family Cores                  0  100 Count

Standard Storage Managed Disks              0 10000 Count

Premium Storage Managed Disks                0 10000 Count

将同一个 VNET 下的虚拟机从 ASM 迁移到 ARM 上

PowerShell复制

#将 ASM 下 VNET 的名称赋值给变量方便后面调用PS C:\windows\system32>$vnetName=""#验证 VNET 是否符合迁移条件PS C:\windows\system32>Move-AzureVirtualNetwork-Validate-VirtualNetworkName$vnetNameOperationId        :7faa1832-931c-44f9-81b8-68cfa4a4aeedResult            : Validation Passed with warnings. Please see ValidationMessages objectfora list of resources                that will be migrated and additional detail on the warnings.ValidationMessages : {test4as, test01, test01, test01...}#检查验证中的告警信息PS C:\windows\system32>$validate=Move-AzureVirtualNetwork-Validate-VirtualNetworkName$vnetNamePS C:\windows\system32>$validate.ValidationMessagesResourceType      : DeploymentResourceName      : <资源组名称>Category          : InformationMessage            : VM <虚拟机名称>inDeployment <资源组名称> within Cloud Service <云服务名称> is eligibleformigration.VirtualMachineName : <虚拟机名称>ResourceType      : DeploymentResourceName      : <资源组名称>Category          : WarningMessage            : VM <虚拟机名称>inHostedService <云服务名称> contains Extension BGInfo version1.* which is an XML                extension. XML extensions are not supportedinAzure Resource Manager. It is recommended to                uninstall it from the VM. Alternatively, it will be automatically uninstalled during migration.VirtualMachineName : <虚拟机名称>ResourceType      : VirtualNetworkResourceName      : Category          : InformationMessage            : Virtual Network is eligibleformigration.VirtualMachineName :ResourceType      : DeploymentResourceName      : <资源组名称>Category          : InformationMessage            : Deployment <资源组名称>inCloud Service <云服务名称> is eligibleformigration.VirtualMachineName :ResourceType      : DeploymentResourceName      : <资源组名称>Category          : InformationMessage            : VM <虚拟机名称>inDeployment <资源组名称> within Cloud Service <云服务名称> is eligibleformigration.VirtualMachineName : <虚拟机名称>ResourceType      : DeploymentResourceName      : <资源组名称>Category          : WarningMessage            : VM <虚拟机名称>inHostedService <云服务名称> contains Extension BGInfo version1.* which is an XML                extension. XML extensions are not supportedinAzure Resource Manager. It is recommended to                uninstall it from the VM. Alternatively, it will be automatically uninstalled during migration.VirtualMachineName : <虚拟机名称>#上述验证通过后接下来执行迁移准备操作PS C:\windows\system32>Move-AzureVirtualNetwork-Prepare-VirtualNetworkName$vnetNameOperationDescription    OperationId                          OperationStatus

Move-AzureVirtualNetwork 8470416e-987f-4171-9e3f-65263a99e41d Succeeded

如果在迁移准备操作中出现了报错,或者您想取消本次迁移操作,可以使用下面命令进行取消

PS C:\windows\system32> Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

OperationDescription OperationId OperationStatus

Move-AzureVirtualNetwork fde6fc72-7cb8-4cb5-a6e0-01a519509e18 Succeeded

如果迁移准备步骤操作成功,那么可以执行下述命令来生效迁移操作

PS C:\windows\system32> Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

OperationDescription OperationId OperationStatus

Move-AzureVirtualNetwork 1ce54778-bbcf-403d-b971-a13993484212 Succeeded

复制

迁移虚拟机所在的存储账号

PowerShell复制

#检查存储账号下是否有未被迁移的虚拟机的 VHD 存在PS C:\windows\system32>$storageAccountName="<存储账号名称>"PS C:\windows\system32>Get-AzureDisk|where-Object{$_.MediaLink.Host.Contains($storageAccountName)} |Select-Object-ExpandPropertyAttachedTo-Property`>>  DiskName |Format-List-PropertyRoleName, DiskName#检查存储账号下是否有已分离的虚拟机磁盘,如有需要进行删除,如果您仍然需要这些磁盘可以将其复制到其他存储账号中PS C:\windows\system32>Get-AzureDisk|where-Object{$_.MediaLink.Host.Contains($storageAccountName)} |Where-Object-PropertyAttachedTo-EQ$null|Format-List-Property DiskNameDiskName : disktest#删除磁盘PS C:\windows\system32>Remove-AzureDisk-DiskName"disktest"OperationDescription OperationId                          OperationStatus----------------------------------------------Remove-AzureDisk9661659d-3bcf-4e6e-bdc4-cce7c8d7a1e0 Succeeded#删除存储账号中 OS 盘和数据盘中的虚拟机镜像PS C:\windows\system32>Get-AzureVmImage|Where-Object{$_.OSDiskConfiguration.MediaLink-ne$null-and$_.OSDiskConfiguration.MediaLink.Host.Contains($storageAccountName)`>>                            } |Select-Object-PropertyImageName, ImageLabelImageName                  ImageLabel-------------------captureTest-20160902-436096PS C:\windows\system32>Get-AzureVmImage|Where-Object{$_.DataDiskConfigurations-ne$null`>>-and($_.DataDiskConfigurations |Where-Object{$_.MediaLink-ne$null-and$_.MediaLink.Host.Contains($storageAccountName)}).Count-gt0`>>                                    } |Select-Object-PropertyImageName, ImageLabelPS C:\windows\system32>Remove-AzureVMImage-ImageName"captureTest-20160902-436096"OperationDescription OperationId                          OperationStatus----------------------------------------------Remove-AzureVMImageb8f1c164-147a-4d98-9805-432dcd3b7105 Succeeded

复制

#验证存储账号是否符合迁移条件

PS C:\windows\system32> Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName

OperationId        : 68f3501e-f965-4732-aae5-a1da5b58103b

Result            : Validation Passed. Please see ValidationMessages object for a list of resources that will be migrated.

ValidationMessages : {<存储账号名称>}

PS C:\windows\system32> $val=Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName

PS C:\windows\system32> $val.ValidationMessages

ResourceType      : Storage

ResourceName      : <存储账号名称>

Category          : Information

Message            : Storage Account tcportalvhdsgrnnb3k173zr is eligible for migration.

VirtualMachineName :

#上述验证通过后接下来执行迁移准备操作

PS C:\windows\system32> Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName

OperationDescription    OperationId                          OperationStatus

--------------------    -----------                          ---------------

Move-AzureStorageAccount 4086a517-a14a-4360-97aa-2714543dd345 Succeeded

#如果在迁移准备操作中出现了报错,或者您想取消本次迁移操作,可以使用下面命令进行取消

PS C:\windows\system32> Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName

OperationDescription    OperationId                          OperationStatus

--------------------    -----------                          ---------------

Move-AzureStorageAccount 8473i405-b3fg-7942-345h-8236hdy63i2f Succeeded

#如果迁移准备步骤操作成功,那么可以执行下述命令来生效迁移操作

PS C:\windows\system32> Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName

OperationDescription    OperationId                          OperationStatus

--------------------    -----------                          ---------------

Move-AzureStorageAccount cf4e80b3-8e26-4d65-96f2-98dda2266d49 Succeeded

```立即访问http://market.azure.cn

如何将同一 VNET 下的虚拟机从经典部署模型迁移到 Azure Resource Manager的更多相关文章

  1. 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager

    适用场景 用户希望将特定云服务下的所有虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称:ARM). Note 如果云服务下使用 VNET 也希望将 ...

  2. 连接到 Azure 上的 SQL Server 虚拟机(经典部署)

    概述 本主题介绍如何连接到运行于 Azure 虚拟机的 SQL Server 实例. 它介绍了一些常规连接方案,并提供了在 Azure VM 中配置 SQL Server 连接的详细步骤. Impor ...

  3. 在 Azure Resource Manager 中为虚拟机设置密钥保管库

    Note Azure 具有两种不同的部署模型,用于创建和处理资源:Resource Manager 模型和经典模型.本文介绍使用 Resource Manager 部署模型.Azure 建议对大多数新 ...

  4. 为 Azure Resource Manager 中的虚拟机设置 WinRM 访问权限

    Azure 服务管理中的 WinRM 与 Azure Resource Manager Note Azure 具有用于创建和处理资源的两个不同的部署模型:Resource Manager 和经典. 本 ...

  5. Azure ARM (10) ARM模式下的虚拟机和Classic Model虚拟机的区别

    <Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 请读者注意,在Azure ARM平台,有两种虚拟机模式:经典虚拟机和ARM虚拟机 A ...

  6. SQL Server 2014 虚拟机的自动备份 (Resource Manager)

    自动备份将在运行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 上自动为所有现有数据库和新数据库配置托管备份到 Azure. 这样,便可以配置使用持 ...

  7. Windows Server: 将虚拟机迁移到 Azure (以阿里云为例)

    Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.本文以阿里云为例,阐述如何将Windows Server 的 ...

  8. CentOS: 将虚拟机迁移到 Azure (以阿里云为例)

    Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.因此本文以阿里云为例,阐述的是如何将 CentOS 6.8 ...

  9. VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容

    VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...

随机推荐

  1. linux安装tmux

    由于tmux依赖于libevent和ncurses-devel,所以应首先有这两个库,和相关的头文件. 1.对于ncurses-devel,可用yum安装. yum install ncurses-d ...

  2. Centos7下安装mysql5.6需要注意的点

    1.自带的Mariadb和mysql冲突需要卸载. 2.原先安装过的mysql没有卸载干净会导致安装失败. 3.mysql文件夹权限需要给够,my.cnf也是一样. 4.安装过程中如果出现的其他问题很 ...

  3. kmean算法C++实现

    kmean均值算法是一种最常见的聚类算法.算法实现简单,效果也比较好.kmean算法把n个对象划分成指定的k个簇,每个簇中所有对象的均值的平均值为该簇的聚点(中心). k均值算法有如下五个步骤: 随机 ...

  4. Servlet多文件上传

    各位大侠可能会对263电子邮箱中的"上传附件"功能有印象,就是:在浏览 器中点击"浏览",弹出一个对话框,选中文件后,单击"确定",文件就被 ...

  5. Java接口调用工具类

    package com.qiyuan.util; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  6. 消除ADB错误“more than one device and emulator”的方法(转)

    当我连着手机充电的时候,启动模拟器调试,执行ADB指令时,报错.C:\Users\gaojs>adb shellerror: more than one device and emulatorC ...

  7. vue权限路由实现方式总结

    使用全局路由守卫 实现 前端定义好路由,并且在路由上标记相应的权限信息 const routerMap = [ { path: '/permission', component: Layout, re ...

  8. github删除仓库

    有的时候github的仓库创建错误了,不用了,想删除仓库 1.进入仓库,选择设置 2.拉到最下面,有一个Delete this repository删除仓库按钮,点击 3.输入需要删除的仓库的名称,直 ...

  9. C# 数组中的 indexOf 方法

    var array=['REG','2018','2018']; array.indexOf(‘REG’) // 0 array.indexOf(‘R’) // -1 array.indexOf(’2 ...

  10. java SE 入门之运算符(第三篇)

    在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...