共用方式為


將 Windows 虛擬機器從非受控磁碟移轉至受控磁碟

適用於:✔️ Windows VM

如果現有的 Windows 虛擬機器 (VM) 使用非受控磁碟,您可以透過 Azure 受控磁碟服務,將這些 VM 移轉至受控磁碟。 此程序會轉換作業系統 (OS) 磁碟和任何連結的資料磁碟。

開始之前

  • 移轉會重新啟動 VM,因此請在預先存在的維護期間排定 VM 移轉。

  • 無法復原移轉。

  • 務必測試移轉。 在生產環境中執行移轉之前,請先移轉測試虛擬機器。

  • 在移轉期間,您會解除配置 VM。 在移轉後啟動 VM 時,VM 會接收新的 IP 位址。 如有必要,您可以對 VM 指派靜態 IP 位址

  • 檢閱支援移轉程序所需的 Azure VM 代理程式最小版本。 如需如何檢查和更新代理程式版本的詳細資訊,請參閱在 Azure 中 VM 代理程式的最小版本支援

  • VM 在移轉前使用的原始 VHD 和儲存體帳戶不會遭到刪除。 這些項目會繼續產生費用。 若要避免為這些成果支付費用,請在確認移轉完成之後,刪除原始的 VHD Blob。 如果您需要尋找這些未連結的磁碟以便將其刪除,請參閱尋找和刪除未連結的 Azure 受控和非受控磁碟一文。

移轉單一執行個體 VM

本節說明如何將單一執行個體 Azure VM 從非受控磁碟移轉至受控磁碟。 (如果您的 VM 位於可用性設定組中,請參閱下一節)。

  1. 使用 Stop-AzVM Cmdlet 將 VM 解除配置。 下列範例會解除配置 myResourceGroup 資源群組中名為 myVM 的 VM:

    $rgName = "myResourceGroup"
    $vmName = "myVM"
    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  2. 使用 ConvertTo-AzVMManagedDisk Cmdlet 將 VM 移轉至受控磁碟。 下列程序會轉換先前的 VM (包括 OS 磁碟和任何資料磁碟),然後啟動虛擬機器:

    ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
    

移轉可用性設定組中的 VM

如果您想要移轉至受控磁碟的 VM 位於可用性設定組中,您必須先將此可用性設定組移轉至受控可用性設定組。

  1. 使用 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
    
  2. 解除配置並移轉可用性設定組中的 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 入口網站將非受控磁碟移轉至受控磁碟。

  1. 登入 Azure 入口網站
  2. 從入口網站的 VM 清單中選取 VM。
  3. 在 VM 刀鋒視窗中,從功能表選取 [磁碟]
  4. 在 [磁碟] 刀鋒視窗頂端,選取 [遷移至受控磁碟]
  5. 如果您的 VM 位於可用性設定組中,[遷移至受控磁碟] 刀鋒視窗上會出現警告,您需要先移轉可用性設定組。 此警告應有一個連結,您可以按一下該連結來移轉可用性設定組。 轉換可用性設定組後,或者如果您的 VM 不在可用性設定組中,請按一下 [遷移] 開始將磁碟遷移至受控磁碟的程序。

VM 將會停止,並且在移轉完成後重新啟動。

下一步

變更 Azure 受控磁碟的磁碟類型

使用快照來取得 VM 的唯讀複本。