將 Windows 虛擬機器從非受控磁碟移轉至受控磁碟
適用於:✔️ Windows VM
如果現有的 Windows 虛擬機器 (VM) 使用非受控磁碟,您可以透過 Azure 受控磁碟服務,將這些 VM 移轉至受控磁碟。 此程序會轉換作業系統 (OS) 磁碟和任何連結的資料磁碟。
開始之前
檢閱規劃移轉至受控磁碟。
在進行轉換之前,請確定 VM 狀況良好。
移轉會重新啟動 VM,因此請在預先存在的維護期間排定 VM 移轉。
無法復原移轉。
務必測試移轉。 在生產環境中執行移轉之前,請先移轉測試虛擬機器。
在移轉期間,您會解除配置 VM。 在移轉後啟動 VM 時,VM 會接收新的 IP 位址。 如有必要,您可以對 VM 指派靜態 IP 位址。
檢閱支援移轉程序所需的 Azure VM 代理程式最小版本。 如需如何檢查和更新代理程式版本的詳細資訊,請參閱在 Azure 中 VM 代理程式的最小版本支援
- VM 在移轉前使用的原始 VHD 和儲存體帳戶不會遭到刪除。 這些項目會繼續產生費用。 若要避免為這些成果支付費用,請在確認移轉完成之後,刪除原始的 VHD Blob。 如果您需要尋找這些未連結的磁碟以便將其刪除,請參閱尋找和刪除未連結的 Azure 受控和非受控磁碟一文。
移轉單一執行個體 VM
本節說明如何將單一執行個體 Azure VM 從非受控磁碟移轉至受控磁碟。 (如果您的 VM 位於可用性設定組中,請參閱下一節)。
使用 Stop-AzVM Cmdlet 將 VM 解除配置。 下列範例會解除配置
myResourceGroup
資源群組中名為myVM
的 VM:$rgName = "myResourceGroup" $vmName = "myVM" Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
使用 ConvertTo-AzVMManagedDisk Cmdlet 將 VM 移轉至受控磁碟。 下列程序會轉換先前的 VM (包括 OS 磁碟和任何資料磁碟),然後啟動虛擬機器:
ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
移轉可用性設定組中的 VM
如果您想要移轉至受控磁碟的 VM 位於可用性設定組中,您必須先將此可用性設定組移轉至受控可用性設定組。
使用 Update-AzAvailabilitySet Cmdlet 來移轉可用性設定組。 下列範例會更新
myResourceGroup
資源群組中名為myAvailabilitySet
的可用性設定組:$rgName = 'myResourceGroup' $avSetName = 'myAvailabilitySet' $avSet = Get-AzAvailabilitySet -ResourceGroupName $rgName -Name $avSetName Update-AzAvailabilitySet -AvailabilitySet $avSet -Sku Aligned
如果您的可用性設定組所在區域只有 2 個受控容錯網域,但非受控容錯網域的數目為 3,此命令就會顯示類似以下的錯誤:「指定的錯誤網域計數 3 必須介於 1 到 2 之間。」若要解決此錯誤,請將容錯網域更新為 2,並將
Sku
更新為Aligned
,如下所示:$avSet.PlatformFaultDomainCount = 2 Update-AzAvailabilitySet -AvailabilitySet $avSet -Sku Aligned
解除配置並移轉可用性設定組中的 VM。 下列指令碼會使用 Stop-AzVM Cmdlet 將每個 VM 解除配置,使用 ConvertTo-AzVMManagedDisk 轉換它,然後在移轉過程中將它自動重新啟動:
$avSet = Get-AzAvailabilitySet -ResourceGroupName $rgName -Name $avSetName foreach($vmInfo in $avSet.VirtualMachinesReferences) { $vm = Get-AzVM -ResourceGroupName $rgName | Where-Object {$_.Id -eq $vmInfo.id} Stop-AzVM -ResourceGroupName $rgName -Name $vm.Name -Force ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vm.Name }
疑難排解
- 轉換之前,請確定所有 VM 延伸模組都處於「佈建成功」狀態,否則移轉將會失敗,錯誤碼 409。
- 如果在移轉期間發生錯誤,或如果 VM 因為先前移轉問題而處於失敗狀態,請再次執行
ConvertTo-AzVMManagedDisk
Cmdlet。 簡單重試通常會讓這種情況解除封鎖。 - 如果您要將 Linux VM 轉換為受控磁碟,請使用最新版的 Azure Linux 代理程式。 使用 Azure Linux 代理程式版本 '2.2.0' 和更早版本的作業可能會失敗。 也不支援在一般化 VM 或屬於傳統可用性設定組的 VM 上執行移轉。
- 如果移轉失敗並出現「SnapshotCountExceeded」錯誤,請刪除一些快照集,然後再次嘗試作業。
使用 Azure 入口網站移轉
您也可以使用 Azure 入口網站將非受控磁碟移轉至受控磁碟。
- 登入 Azure 入口網站。
- 從入口網站的 VM 清單中選取 VM。
- 在 VM 刀鋒視窗中,從功能表選取 [磁碟]。
- 在 [磁碟] 刀鋒視窗頂端,選取 [遷移至受控磁碟]。
- 如果您的 VM 位於可用性設定組中,[遷移至受控磁碟] 刀鋒視窗上會出現警告,您需要先移轉可用性設定組。 此警告應有一個連結,您可以按一下該連結來移轉可用性設定組。 轉換可用性設定組後,或者如果您的 VM 不在可用性設定組中,請按一下 [遷移] 開始將磁碟遷移至受控磁碟的程序。
VM 將會停止,並且在移轉完成後重新啟動。
下一步
使用快照來取得 VM 的唯讀複本。