🍙
Azure VMのインプレースアップグレードを試してみた
はじめに
データを保持しつつVMのOSアップグレードをしたいときってあると思います。
Microsoft公式ドキュメントで「インプレース アップグレード」と呼ばれる方法が紹介されていたので、実際にWindows Server 2019から2022へのアップグレードを試してみました。
やってみた
環境
Azure VM(Windows Server 2019 Datacenter)
Standard B1ms(1 vcpu、2 GiBメモリ)
アップグレード用ディスクの作成
アップグレード用ディスクを作成します。
公式からPowerShellスクリプトが提供されているので、それを一部編集して使用します。
# 顧客固有のパラメータ(それぞれ変更する)
# VMのリソースグループ
$resourceGroup = "upgrade"
# VMのリージョン
$location = "Japaneast"
# (もしあれば)VMのゾーン
$zone = ""
# ディスクの名前
$diskName = "WindowsServer2022UpgradeDisk"
# アップグレードメディアのバージョン
#「server2022Upgrade」「server2019Upgrade」「server2016Upgrade」「server2012Upgrade」のいずれかである必要がある
$sku = "server2022Upgrade"
# 共通パラメータの設定(ここから下は変更しなくてOK)
$publisher = "MicrosoftWindowsServer"
$offer = "WindowsServerUpgrade"
$managedDiskSKU = "Standard_LRS"
# 最新のVMイメージバージョンの取得
$versions = Get-AzVMImage -PublisherName $publisher -Location $location -Offer $offer -Skus $sku | sort-object -Descending {[version] $_.Version }
$latestString = $versions[0].Version
# VMイメージの取得
$image = Get-AzVMImage -Location $location -PublisherName $publisher -Offer $offer -Skus $sku -Version $latestString
# リソースグループの作成(指定したリソースグループが存在しない場合)
if (-not (Get-AzResourceGroup -Name $resourceGroup -ErrorAction SilentlyContinue)) {
New-AzResourceGroup -Name $resourceGroup -Location $location
}
# マネージドディスクの作成
if ($zone){
$diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU -CreateOption FromImage -Zone $zone -Location $location
} else {
$diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU -CreateOption FromImage -Location $location
}
Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0
New-AzDisk -ResourceGroupName $resourceGroup -DiskName $diskName -Disk $diskConfig
アップグレード用ディスクが作成されていることが確認できました。
アップグレード用ディスクのアタッチ
Azure Portalからアップグレード用ディスクをアタッチします。
アップグレード
アタッチが完了したらVMにリモートデスクトップ接続します。
PowerShellを起動し、アップグレード用ディスク上の「Windows Server 〇〇〇〇」というディレクトリまで移動します。
以下のコマンドを実行します。
.\setup.exe /auto upgrade /dynamicupdate disable
インストーラーが起動します。
アップグレード先のイメージを選択します。
インストールが始まります。私の環境では40分ほどかかりました。
インストールが完了したら自動的に再起動します。
再起動にも少々時間がかかるため、必要に応じて「ブート診断」から状況を確認してください。
確認
Azure PortalよりWidows Server 2022にアップグレードできていることが確認できました。
VM上でも確認できました。
まとめ
「インプレース アップグレード」によって、簡単にOSのアップグレードを行えることが分かりました。EOL対応もこれで大丈夫そうです。
Discussion