共用方式為


移轉至相同硬體上的 Azure 本機

適用於:Azure 本機版本 22H2 和更新版本;Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2008 R2

重要

Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解

本主題描述如何使用現有的計算機硬體,將 Windows Server 故障轉移叢集移轉至 Azure 本機。 此程式會安裝適用於 Azure 本機的新作業系統,並保留現有的系統設定和記憶體,並匯入您的 VM。

下圖描述使用相同計算機硬體就地移轉 Windows Server 叢集。 關閉系統之後,會安裝 Azure 本機、重新附加記憶體,並將 VM 匯入並設為高可用性 (HA)。

將系統移轉至相同硬體上的 Azure 本機

若要將 VM 遷移至新的 Azure 本機硬體,請參閱 在新硬體上移轉至 Azure 本機。

注意

本文未涵蓋移轉延展式叢集。

開始之前

開始移轉之前,有幾個需求和考慮事項:

  • 所有 Windows PowerShell 命令都必須以系統管理員身分執行。

  • 您必須具有 Azure 本機系統管理員許可權的網域認證。

  • 備份來源系統上的所有 VM。 完成所有應用程式和數據的當機一致備份,以及所有資料庫的應用程式一致備份。 若要備份至 Azure,請參閱使用 Azure 備份

  • 收集所有機器和系統命名、網路設定、叢集共用磁碟區 (CSV) 復原和容量的清查和設定,以及仲裁見證。

  • 關閉您的系統 VM、離線 CSV、離線存放集區和系統服務。

  • 停用叢集名稱物件 (CNO) (稍後重複使用) 和:

    • 檢查 CNO 是否具有其本身組織單位的建立物件許可權(OU)
    • 檢查 OU 上是否已設定區塊繼承的原則
    • 設定此 OU 上 Azure 本機的必要原則

VM 版本支援和更新

下表列出支援在相同硬體上進行就地移轉的 Windows Server OS 版本及其 VM 版本。

不論 VM 可能執行的作業系統版本為何,移轉至 Azure 本機的最低 VM 版本都是 5.0 版。 因此,在移轉之前,Windows Server 2016 或更新版本系統上執行 2.0、3.0 或 4.0 版的任何 VM 都必須更新為 5.0 版。

作業系統版本 VM 版本
Windows Server 2008 SP1 2.0
Windows Server 2008 R2 3.0
Windows Server 2012 4.0
Windows Server 2012 R2 5.0
Windows Server 2016 8.0
Windows Server 2019 9.0
Windows Server 2022
Azure 本機 9.0

針對 Windows Server 2008 SP1、Windows Server 2008 R2-SP1 和 Windows 2012 系統的 VM,不支援直接移轉至 Azure 本機。 在這些情況下,您有兩個選項:

  • 將這些 VM 遷移至 Windows Server 2012 R2 或更新版本,請先更新 VM 版本,然後開始移轉程式。

  • 使用 Robocopy 將所有 VM VHD 複製到 Azure 本機。 然後建立新的 VM,並將複製的 VHD 附加至其 Azure 本機中的個別 VM。 這會略過這些較舊 VM 的 VM 版本限制。

更新 VM 版本

使用下列命令,在單一節點上顯示所有 VM 版本:

Get-VM * | Format-Table Name,Version

若要在 Windows Server 叢集上顯示所有節點上的所有 VM 版本:

Get-VM –ComputerName (Get-ClusterNode)

若要將所有 VM 更新為所有 Windows Server 節點上的最新版本:

Get-VM –ComputerName (Get-ClusterNode) | Update-VMVersion -Force

更新機器和系統

移轉包含在您的 Windows Server 部署上執行 Azure 本機設定,以使用您的 VM 和記憶體完整安裝全新 OS。 這會以 Azure 本機取代目前的作業系統。 如需詳細資訊,請參閱 部署適用於 Azure 本機的 OS。 之後,您會建立新的 Azure 本機實例、重新連結記憶體並匯入 VM。

  1. 關閉現有的系統 VM、離線 CSV、離線存放集區和系統服務。

  2. 移至您下載 Azure 本機位的位置,然後在每個 Windows Server 節點上執行 Azure 本機設定。

  3. 在安裝期間,選取 [自定義:僅安裝較新版本的 Azure 本機] [進階]。 針對每部伺服器重複。

  4. 建立新的 Azure 本機實例。 您可以針對這項工作使用 Windows Admin Center 或 Windows PowerShell,如下列各節所示。

重要

Hyper-V 虛擬交換器 (VMSwitch) 名稱必須與系統組態清查中擷取的名稱相同。 在匯入 VM 之前,請確定 Azure 本機實例上使用的虛擬交換器名稱符合原始來源虛擬交換器名稱。

注意

您必須先向 Azure 註冊 Azure 本機實例,才能在它上建立新的 VM。 如需詳細資訊,請參閱 向 Azure 註冊。

使用 Windows Admin Center

如果使用 Windows Admin Center 建立 Azure 本機實例,[建立叢集精靈] 會自動在每個電腦上安裝所有必要的角色和功能。

如需如何建立系統的詳細資訊,請參閱 使用 Windows Admin Center 建立 Azure 本機實例。

重要

在建立系統精靈中略過步驟 4.1 清除磁碟驅動器 。 否則,您將刪除現有的 VM 和記憶體。

  1. 啟動 [建立叢集精靈]。 當您進入 步驟 4:記憶體時:

  2. 略過步驟 4.1 清除磁碟驅動器。 別這麼做。

  3. 離開精靈。

  4. 開啟 PowerShell,然後執行下列 Cmdlet 來建立新的 Storagesubsystem Object 識別碼、重新探索所有儲存設備機箱,以及指派 SES 磁碟驅動器號碼:

    Enable-ClusterS2D -Verbose
    

    如果從 Windows Server 2016 移轉,這也會建立新的 ClusterperformanceHistory ReFS 磁碟區,並將它指派給 SDDC 叢集資源群組。

    如果從 Windows Server 2019 移轉,這也會新增現有的 ClusterperformanceHistory ReFS 磁碟區,並將它指派給 SDDC 叢集資源群組。

  5. 返回精靈。 在步驟 4.2 驗證磁碟驅動器中,確認所有磁碟驅動器都列在未出現警告或錯誤的情況下。

  6. 完成精靈。

使用 Windows PowerShell

如果使用 PowerShell 建立 Azure 本機實例,則必須使用此 Cmdlet 在每個 Azure 本機電腦上安裝下列角色和功能:

Install-WindowsFeature -Name Hyper-V, Failover-Clustering, FS-Data-Deduplication, Bitlocker, Data-Center-Bridging, RSAT-AD-PowerShell -IncludeAllSubFeature -IncludeManagementTools -Verbose

如需如何使用 PowerShell 建立系統的詳細資訊,請參閱 使用 Windows PowerShell 建立 Azure 本機實例。

注意

針對先前停用的叢集名稱對象,重複使用相同的名稱。

  1. 執行 Cmdlet 以建立系統:

    New-cluster –name "systemname" –server Server01,Server02 –staticaddress xx.xx.xx.xx –nostorage
    
  2. 執行 Cmdlet 以建立新的 Storagesubsystem Object 識別碼、重新探索所有儲存裝置機箱,並指派 SES 磁碟驅動器號碼:

    Enable-ClusterS2D -Verbose
    
  3. 如果從 Windows Server 2016 移轉,這也會建立新的 ClusterperformanceHistory ReFS 磁碟區,並將它指派給 SDDC 叢集資源群組。

    注意

    如果存放集區顯示少數磁碟錯誤(可在叢集管理員中檢視),請重新執行 Enable-ClusterS2D -verbose Cmdlet。

  4. 使用叢集管理員,啟用磁碟區以外的 ClusterperformanceHistory 每個 CSV,也就是 ReFS 磁碟區(請確定這不是 ReFS CSV)。

  5. 如果從 Windows Server 2019 移轉,請重新執行 Enable-ClusterS2D -verbose Cmdlet。 這會將 ClusterperformanceHistory ReFS 磁碟區與 SDDC 叢集資源群組產生關聯。

  6. 執行 Cmdlet 來判斷您目前的存放集區名稱和版本:

    Get-StoragePool | ? IsPrimordial -eq $false | ft FriendlyName,Version
    
  7. 現在決定新的存放集區名稱和版本:

    Get-StoragePool | ? IsPrimordial -eq $false | ft FriendlyName,Version
    
  8. 建立仲裁見證。 如需如何進行的資訊,請參閱 設定系統見證

  9. 使用 Cmdlet 確認記憶體修復作業已完成:

    Get-StorageJob
    

    注意

    視升級期間執行的 VM 數目而定,這可能需要相當長的時間。

  10. 確認所有磁碟都狀況良好:

    Get-VirtualDisk
    
  11. 判斷顯示 ClusterFunctionalLevelClusterUpgradeVersion的計算機版本。 執行 Cmdlet 以取得此專案:

    Get-ClusterNodeSupportedVersion
    

    注意

    ClusterFunctionalLevel 會自動設定為 10 ,而且因為新的操作系統和叢集建立而不需要更新。

  12. 更新存放集區,如下所示:

    Get-StoragePool | Update-StoragePool
    

ReFS 磁碟區

如果從 Windows Server 2016 移轉,則支持復原文件系統 (ReFS) 磁碟區,但這類磁碟區不會因使用鏡像加速同位磁碟區而受益於 Azure 本機的效能增強功能。 這項增強功能需要使用 PowerShell New-Volume Cmdlet 建立新的 ReFS 磁碟區。

針對 Windows Server 2016 MAP 磁碟區,無法使用 ReFS 壓縮,因此重新連結這些磁碟區是可以的,但相較於在 Azure 本機實例中建立新的 MAP 磁碟區,效能會較低。

匯入 VM

最佳做法是為每個機器建立至少一個叢集共用磁碟區 (CSV),讓每個 CSV 擁有者的 VM 達到平均平衡,以提高 VM 工作負載的復原能力、效能和規模。 根據預設,此餘額會自動每五分鐘進行一次,而且必須在來源和目的地機器之間使用 Robocopy 來考慮,以確保來源和目的地 CSV 擁有者相符,以提供最佳的傳輸路徑和速度。

在 Azure 本機實例上執行下列步驟以匯入 VM、使其具有高可用性,然後啟動 VM:

  1. 執行 Cmdlet 以顯示所有 CSV 擁有者節點:

    Get-ClusterSharedVolume
    
  2. 針對每部電腦,移至 C:\Clusterstorage\Volume 並設定所有 VM 的路徑,例如 C:\Clusterstorage\volume01

  3. 在每個 CSV 擁有者電腦上執行 Cmdlet,以在 VM 匯入之前顯示每個磁碟區所有 VMCX 檔案的路徑。 變更路徑以符合您的環境:

    Get-ChildItem -Path "C:\Clusterstorage\Volume01\*.vmcx" -Recurse
    
  4. 執行每個電腦的 Cmdlet 來匯入和註冊所有 VM,並在每個 CSV 擁有者節點上提供高可用性。 這可確保 VM 平均分佈,以獲得最佳處理器和記憶體配置:

    Get-ChildItem -Path "C:\Clusterstorage\Volume01\*.vmcx" -Recurse | Import-VM -Register | Get-VM | Add-ClusterVirtualMachineRole
    
  5. 在每個機器上啟動每個目的地 VM:

    Start-VM -Name
    
  6. 登入並確認所有 VM 都正在執行,而且您的所有應用程式和資料都存在:

    Get-VM -ComputerName Server01 | Where-Object {$_.State -eq 'Running'}
    
  7. 最後,將您的 VM 更新為最新的 Azure 本機版本,以充分利用所有進步:

    Get-VM | Update-VMVersion -Force
    

下一步

  • 在移轉之後驗證系統。 請參閱 驗證 Azure 本機實例
  • 若要將 Windows Server VM 移轉至新的 Azure 本機硬體,請參閱 在新硬體上移轉至 Azure 本機。