Managed DiskなVirtual MachineのOS Diskを変更できるようになったので試しました。OS Disk Swap for Managed Virtual Machines now available
環境
Windows 2016 DatacenterのVirtual Machineを2台用意します。Virtual MachineのOS DiskにはManaged Diskを利用します。
OS Diskを入れ替えたことが分かりやすくなるように、2台のVirtual Machineの"C:\vmname.txt"にVM名を記入しておきます。
入れ替える
vm01のOS Diskを変更してみます。ポータルでは変更できないのでPowerShellで変更します。
変更後のOS Diskには、Virtual Machineに接続されていないManaged Diskのみ利用できます。vm01のOS Diskをvm02に接続されてるManaged Disk(vm02_OsDisk_1_7fe4c53366f84edf95409a26c3ce1221)に変更しようとすると、409 Conflictでエラーになります。
そこで、Snapshotを利用してvm02のOS Diskから未使用のManaged Disk(vm02-osdisk-from-snapshot)を作成します。次のPowerShellのように、変更後のOS Diskに未使用のManaged Diskを指定すると、処理が正常に終了します。
$vm = Get-AzureRmVM -ResourceGroupName 0504 -Name vm01
$disk = Get-AzureRmDisk -ResourceGroupName 0504 -Name vm02-osdisk-from-snapshot
Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name
Update-AzureRmVM -ResourceGroupName 0504 -VM $vm
Portal上でも、vm01のOS Diskを"vm02-osdisk-from-snapshot"に変更できたことを確認できます。
動作確認
vm01のOS Diskをvm02のOS Disk由来の"vm02-osdisk-from-snapshot"に変更できました。OS Diskが変更されたので、vm01の"C:\vmname.txt"に記入されているVM名はvm02になっています。大成功。