您的位置:首页 > 运维架构 > Shell

PowerShell迁移Azure虚拟机从ASM到ARM

2018-01-22 13:22 585 查看
Azure平台内置的PowerShell迁移服务,依赖于ClassicInfrastructureMigrate这个resource provider,目前在中国已经上线了,可以开始使用了。

对于生产环境的迁移,一定要非常谨慎,做好规划和评估,然后再开始迁移。微软的ASM到ARM的迁移,有一些基本的方法论,大家可以做个参考,保证你的迁移过程平滑而顺利:

• 评估 – 评估虚拟机所在虚拟网络是否满足迁移要求

• 开始 – 虚拟网络已经准备好的情况,可以开始准备迁移

• 验证 – 检查和验证所迁移的资源是否正常

• 提交 – 提交迁移请求,正式迁移

迁移步骤

1. 打开Powershell,登陆到你的资源管理器账号

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

登陆完成后,首先你要注册ClassicInfrastructureMigrate,否则后续的迁移无法使用:

Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

检查当前ClassicInfrastructureMigrate的注册状态,如果你看到状态变成了Registered,才可以进行后续的操作。

Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

使用ASM登陆到当前的Azure账号:

Add-AzureAccount -Environment AzureChinaCloud

选择你的源订阅:

Select-AzureSubscription -SubscriptionId YOURSUBID

5.在迁移之前,你需要检查一下你的资源管理器配额,确保你有足够的资源进行迁移,如果不够的话,需要扩展你的配额

Get-AzureRmVMUsage -Location “China North”

定义你要迁移的虚拟机的虚拟网络,并验证迁移该虚拟网络是否有任何问题:

vnetName=“vnet”Move−AzureVirtualNetwork−Validate−VirtualNetworkNamevnetName

查看验证详细信息

message=Move−AzureVirtualNetwork−Validate−VirtualNetworkNamevnetname

$message.ValidationMessages

如果验证成功,则可继续执行以下准备步骤

Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

如果尚未做好迁移准备,因此想要回到旧的状态,请使用以下命令:

Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

正式提交这个操作

Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

可以看到,在经典模式的管理界面中,虚拟网络和虚拟机都已经看不到了,但是存储账号还在,这就意味着虚拟机和网络已经被迁移到ARM模式。完成虚拟机迁移之后,建议迁移存储帐户。

使用以下命令准备要迁移的每个存储帐户

storageAccountName=“storageaccount”Move−AzureStorageAccount−Prepare−StorageAccountNamestorageAccountName

提交迁移存储空间

Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName

迁移风险

无法预测迁移结果,一旦迁移失败,所有关联的资源都会处于不可操作或更新的状态,风险非常大,一旦迁移失败,目前没有具体的解决办法,是一个已知的BUG。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: