Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)
2019-12-14 来源:eefocus
因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1)
已经创建了Azure Virtual Network,则我们在迁移这个Virtual Network之后,就可以把该VNet里面的所有VM (LeiVM01和LeiVM02) 都迁移到ARM模式。
正式迁移分为两个部分:
1.在Azure PowerShell里,登录ARM模式,然后注册AzureRMResourceProvider,
2.注册成功后,再新来一个Azure PowerShell窗口。登录ASM模式,开始迁移ASM模式下的Virtual Network
3.迁移VNet成功之后,再迁移ASM Azure Storage Account存储账户
我们先开始第一部分:在Azure PowerShell里,登录ARM模式,然后注册AzureRMResourceProvider
我们打开Azure PowerShell,运行以下命令:
#登录Azure China Portal,登录模式为ARM
Login-AzureRmAccount -Environment AzureChinaCloud
#设置订阅名称
$SubscriptionName = '[YourSubscriptionName]'
#选择该订阅
Select-AzureRmSubscription -SubscriptionName $SubscriptionName
#注册Migration Resource
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
#需要等待大约5分钟才能注册成功,我们可以运行下面的命令,查看注册结果
Get-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate
#一旦上面的命令返回结果为Registered,则表示注册成功
注册成功的截图:
第二部分:登录ASM模式,开始迁移ASM模式下的Virtual Network
我们打开Azure PowerShell,运行以下命令:
#登录Azure China,登录模式为ASM Classic Model
Add-AzureAccount -Environment AzureChinaCloud
#设置订阅名称
$subscriptionName = '[YourSubscriptionName]'
#设置存储账户名称
$storageAccount = 'YourStorageAccountName'
Set-AzureSubscription -SubscriptionName $subscriptionName -CurrentStorageAccount $storageAccount
#选择当前订阅:
Select-AzureSubscription -SubscriptionName $subscriptionName -current
#设置要迁移的虚拟网络名称
$vnetName = 'LeiASMVNet'
#Validate
Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName
#Prepare
Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName
#如果发生问题,则放弃:
Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName
#如果没有问题,则Commit:
Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName
我这里的执行结果:
如果大家仔细观察的话,会发现在执行-Prepare的时候,其实是把ASM VM复制到ARM VM
我们执行到Commit的时候,会把原来的ASM删除
新增加的ARM资源有(图略):
1.Public IP Address,类型为固定公网IP地址
2.负载均衡器
3.2台新的ARM VM和对应的网卡
到目前为止,ARM VM已经创建成果,但是VM的VHD文件,还是保存在老的ASM模式的Storage Account里
第三部分:迁移VNet成功之后,再迁移ASM Azure Storage Account存储账户
我们在Azure PowerShell执行下面的命令:
#设置存储账户
$storageAccount = 'YourStorageAccount'
#Validate
Move-AzureStorageAccount -Validate -StorageAccountName $storageAccount
#Prepare
Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccount
#Abort
Move-AzureStorageAccount -Abort -StorageAccountName $storageAccount
#Commit
Move-AzureStorageAccount -Commit -StorageAccountName $storageAccount
我们最后观察环境:
1.迁移后的固定IPV4地址没有变化,DNS地址也没有变化:
2.负载均衡器的LB Rule和NAT都没有变化
3.虚拟机网卡的内网IP Private IP也是固定的,图略
4.最后,在整个迁移期间,我都拿psping测试VM的连通性,发现没有发生服务器停机和丢包
Connecting to 139.219.226.64:60989: 154.84ms
Connecting to 139.219.226.64:60989: 160.60ms
Connecting to 139.219.226.64:60989: 160.79ms
Connecting to 139.219.226.64:60989: 137.84ms
Connecting to 139.219.226.64:60989: 164.98ms
Connecting to 139.219.226.64:60989: 160.93ms
Connecting to 139.219.226.64:60989: 279.42ms
Connecting to 139.219.226.64:60989: 138.82ms
Connecting to 139.219.226.64:60989: 137.28ms
Connecting to 139.219.226.64:60989: 138.02ms
Connecting to 139.219.226.64:60989: 158.89ms
Sent = 4130, Received = 4130, Lost = 0 (0% loss),
Minimum = 134.90ms, Maximum = 3182.03ms, Average = 160.71ms