在 VMM 中管理儲存體複本

重要

此版本的 Virtual Machine Manager (VMM) 已終止支援。 建議您 升級至 VMM 2022

Windows Server 2016 中引進了「儲存體複本」。 它可啟用叢集或伺服器之間的記憶體無關、區塊層級、同步復寫,以進行災害準備和復原,以及跨月臺延展故障轉移叢集以達到高可用性。 同步複寫可在具備當機時保持一致磁碟區的實體站台中啟用資料的鏡像,確保檔案系統層級零資料遺失。 非同步複寫允許都會範圍外的站台擴充功能,但有資料遺失的可能性。

深入瞭解 並檢閱 常見問題

本文說明記憶體復本如何與 System Center - Virtual Machine Manager (VMM) 整合,並說明如何使用 PowerShell 設定記憶體複本,以在 VMM 網狀架構中複寫記憶體。

VMM 中的儲存體複本

您可以使用儲存體複本,來複寫 Hyper-V 叢集資料或檔案資料。 在 VMM 中使用記憶體複本提供許多商務優勢:

  • 消除與同步複寫解決方案 (例如 SAN) 相關聯的成本與複雜度。
  • 同步複寫可將停機時間和資料遺失降至最低。 它提供 0 (零數據遺失) 的 RPO。 RTO (資料無法使用) 只有在主要網站失敗且次要網站啟動期間才會發生。
  • 來源和目的地存放裝置硬體不需完全相同。

開始之前

  • VMM 必須在 Windows Server 2016 或更新版本的 Datacenter Edition 上執行。
  • Hyper-V 必須在 Windows Server 2016 或更新版本的 Datacenter、Server Core 或 Nano 上執行。
  • 只支援同步複寫。 不支援非同步。
  • 您需要兩組存放裝置 (磁碟區或檔案存放裝置)。 來源和目的地位置必須具有相同類型的存放裝置 (檔案或磁碟區),但可以混合使用實際的存放裝置。 例如,您可以在一端有光纖通道 SAN,而空間直接存取 (位於超交集模式或分類式模式) 另一端。
  • 每組存放裝置都應該能在每個叢集中使用。 不應共用叢集存放裝置。
  • 來源和目的地磁碟區 (包括記錄磁碟區) 的大小與區塊大小必須相同。 這是因為儲存體複本會使用區塊複寫。
  • 每個記憶體伺服器上至少需要一個 1 GbE 連線,最好是 10 GbE、iWARP 或 InfiniBand。
  • 每個文件伺服器或叢集節點都需要防火牆規則,以允許ICMP、SMB (埠445,加上SMB直接) 的5445,以及WS-MAN (埠5985) 所有節點之間的雙向流量。
  • 您必須是每個叢集節點上系統管理員群組的成員。
  • 儲存體複本目前只能使用 Windows PowerShell 來設定。
  • 來源和目的地存放裝置都必須由相同 VMM 伺服器所管理。
  • 不支援整合 VMM 與 Azure Site Recovery。
  • 不支援設定寫入順序與一致性群組。

部署步驟

  1. 識別存放裝置︰識別您想要使用的來源和目的地存放裝置。

  2. 探索和分類︰如果您的存放裝置目前不在 VMM 光纖中,就需要使用 VMM 加以探索。 來源和目的地記憶體都必須由相同的 VMM 伺服器管理。 探索之後,請為其建立存放集區和記憶體分類。 深入瞭解

  3. 配對︰將來源和目的地存放裝置陣列進行配對。

  4. 建:配對記憶體之後,您必須從在個別記憶體數位上建立的來源和目的地存放集區布建相同的數據和記錄磁碟區。 除了針對要複寫的資料佈建磁碟區,您也需要佈建適用於複寫交易記錄的磁碟區。 更新來源存放裝置上的資料時,即會附加交易記錄,而且會 (使用同步複寫) 將差異變更與目的地存放裝置進行同步。

  5. 建立複寫群組:磁碟區就緒之後,您會建立復寫群組。 複寫群組是包含多個磁碟區的邏輯群組。 復寫群組必須相同,分別包含來源和目的地月臺的數據和記錄磁碟區。

  6. 啟用複寫︰現在您可以在來源和目的地複寫群組之間啟用複寫。

  7. 重新整理:若要完成復寫群組的建立,並觸發初始數據復寫,您需要重新整理主要和次要記憶體提供者。 資料會複寫到目的地存放裝置。

  8. 確認狀態︰現在您可以檢查主要複寫群組的狀態。 它應該是「正在複寫」狀態。

  9. 新增 VM:當差異複寫啟動並執行時,您可以新增使用復寫群組中所含記憶體的 VM。 當您新增 VM 時,系統將會偵測到它們,並開始自動復寫。

  10. 執行故障轉移:復寫處於同步處理狀態之後,您可以執行故障轉移來檢查其是否如預期般運作。 沒有測試故障轉移機制,因此您將執行手動故障轉移,以響應計劃性或非計劃性中斷。 故障轉移之後,如果來源月臺仍存在,您可以刪除來源站臺上的 VM () ,然後使用復寫的數據在目的地網站上建立 VM。

  11. 執行容錯回復︰當容錯移轉已完成且複本 VM 已啟動且正在執行之後,您就能視需要進行容錯回復。 請確定:

    • 如果您執行非計劃性故障轉移,且來源位置無法使用,您將執行故障轉移,以從次要位置容錯回復到主要位置,然後在主要位置中建立 VM。
    • 如果您執行了計劃性容錯移轉且來源 VM 仍可使用,則您需要停止複寫以移除來源 VM、在次要位置中建立 VM,然後重新啟動複寫。 然後在主要站臺上,您可以使用與原始 VM 相同的設定來建立 VM。

擷取 PowerShell 物件

  1. 開始之前,請先擷取您想要使用的PowerShell物件名稱。

  2. 取得主要記憶體陣列的名稱,並將它指派給變數。

        $PriArray = Get-SCStorageArray - Name $PriArrayName
    
  3. 取得次要記憶體陣列的名稱,並將它指派給變數。

        RecArray = Get-SCStorageArray - Name $RecArrayName
    
  4. 取得主要存放集區的名稱,並將它指派給變數。

        $ $ PriPoolName $RecPool = Get-SCStoragePool -Name $
    
  5. 取得次要存放集區的名稱,並將其指派給變數。

        $ $PriPoolName $RecPool = Get-SCStoragePool -Name $
    

將存放裝置陣列配對

使用存放裝置陣列名稱的變數,來將主要和次要存放裝置陣列配對。

注意

陣語名稱應該與叢集名稱相同。

      Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name

如果您在 VMM 外部建立叢集,而且必須重新命名數位名稱以符合叢集名稱,請使用:

      Get-SCStorageArray -Name "existing-name" | Set-SCStorageArray -Name "new-name"

佈建 LUN 並建立存放裝置群組

從存放集區佈建適用於資料和記錄的 LUN。 接著建立複寫群組。

  1. 在來源上佈建並建立。

        Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name
    
        $PrimaryVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $PrimaryLogVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $PriRG = New-SCReplicationGroup -Name PriRG -StorageVolume $PrimaryVol -LogStorageVolume $PrimaryLogVol
    
  2. 在目的地上佈建並建立。

        $RecoveryVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $RecoveryLogVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $RecRG = New-SCReplicationGroup -Name RecRG -CreateOnArray -ProtectionMode Synchronous -StorageVolume $RecoveryVol -LogStorageVolume $RecoveryLogVol
    

啟用複寫

現在,在來源和目的地複寫群組之間啟用同步複寫。

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation EnableProtection -TargetReplicationGroup $RecRG -EnableProtectionMode Synchronous

重新整理存放裝置提供者

  1. 開啟 VMM 主控台。
  2. 選取 [網狀架構資源>提供者]。 以滑鼠右鍵按兩下提供者 >[重新整理]。

確認複寫狀態

擷取來源複寫群組的複寫狀態,以確保複寫如預期般運作。

    Get replication status Get-SCReplicationGroup | where {($_.Name.EndsWith("PriRG")) -or ($_.Name.EndsWith("RecRG"))}  | fl Name, IsPrimary, ReplicationState, ReplicationHealth

建立 VM

使用來源複寫群組中的 LUN 建立 VM。 或者,您可以在 VMM 控制台中建立 VM。

    New-SCVirtualMachine -Name "DemoVM" -VMHost <HostName> -Path $PrimaryVol -VMTemplate <VMTemplate>

執行容錯移轉

執行容錯移轉。

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation PrepareForFailover

    Set-SCReplicationGroup -ReplicationGroup SRecRG -Operation Failover

執行容錯回復

在容錯回復之前,請在 VMM 控制台中,如果仍可使用來源 VM,請移除它們。 您無法容錯回復至相同的 VM。

現在執行容錯回復:

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation ReverseRoles -EnableProtectionMode Synchronous -TargetReplicationGroup $RecRG

執行容錯回復之後,您可以使用容錯回復的 VHD/組態檔,在來源月臺建立 VM。

停止複寫

如果您想要停止複寫,您必須在來源和目的地執行此 Cmdlet。

    Set-SCReplicationGroup -ReplicationGroup $RecRG -Operation TearDown  Tear down need to be done on both RGs

深入了解