《Windows Azure Platform 系列文章目录》
因为我们在上一节中: 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
第四部分,迁移完Azure虚拟机后,还可以把虚拟机从非托管磁盘(Unmanaged Disk),升级到托管磁盘Managed Disk
这里就不做阐述了。
我们最后观察环境:
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