今回は下記のような環境で行います。
移行元Storage : japanwestdisks928
パフォーマンス : Standard
移行vhd : westtest201691818370.vhd
移行先Storage : easttestpremium
パフォーマンス : Premium
予め、Storage Accountのアクセスキーを取得する必要があります。
アクセスキーは管理画面から確認できます。
なお、AzCopyに使うvhdファイルでVMを起動させている場合、ファイルシステムを一貫した状態に保持するために、VM を停止する必要があります。
3.AsCopyを実行する
今回はPowerShellからAzCopyコマンドを使います。
まずはAzCopyをダウンロードしたディレクトリに移動します。
cd ‘C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy’
AzCopyでディスクコピーをする構文は下記の通りです。
AzCopy /Source:/SourceKey:/Dest: /DestKey: /Pattern:
パラメータは下記になります。
/Source:
/SourceKey:
/Dest:
/DestKey:
/Pattern:
実行すると、PowerShell上で経過が確認できます。
下の画像のように表示されたらコピー完了です。
実際にStorageの管理画面を開くとコピーされていることが確認できます。
4.vhdからVMを立ち上げる
Premium StorageにコピーしたvhdをVMとして起動させるにはPowerShellのコマンドが便利です。
PowerShellを起動したらログインします。
Login-AzureRmAccount
下記情報を変数に登録します。
$rgName = “”
$vnetName = “”
$location = “”
$subnetName = “”
$vmName = “”
$vmSize = “”
$ipName = “”
$nicName = “”
$vhdName = “”
$vhdUri = “”
仮想ネットワークの設定を読み込みます。
$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
パブリックIPを取得します。
固定IPにしたい場合は「AllocationMethod」を「Static」にしてください。
$pip = New-AzureRmPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location -AllocationMethod Dynamic
ネットワークインターフェースを作成し、読み込みます。
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
$nic = Get-AzureRmNetworkInterface -ResourceGroupName $rgName -Name $nicName
立ち上げるVMの設定をしていきます。
まずは名前とサイズを指定します。
$VmConfig = New-AzureRmVMConfig -Name $vmName -VMSize $vmSize
先ほどコピーしてきたVHDファイルを指定します。
$VmConfig = Set-AzureRmVMOSDisk -VM $VmConfig -VhdUri $vhdUri -Name $vhdName -CreateOption attach -Windows -Caching ReadWrite
ネットワークインターフェースの紐づけをします。
$VmConfig = Add-AzureRmVMNetworkInterface -VM $VmConfig -NetworkInterface $nic
$VmConfig.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true
設定を元にVMを立ち上げます。
New-AzureRmVM -ResourceGroupName $rgName -Location $location -VM $VmConfig -Verbose
実行後、下の画像のようにOKの表示がされていれば作成完了です。