Verwalten der Funktion „Speicherreplikat“ in VMM

Wichtig

Diese Version von Virtual Machine Manager (VMM) hat das Ende des Supports erreicht. Es wird empfohlen, ein Upgrade auf VMM 2022 durchzuführen.

Windows Server 2016 bietet erstmals die Funktion „Speicherreplikat“. Es ermöglicht eine speicherunabhängige, blockbasierte, synchrone Replikation zwischen Clustern oder Servern zur Notfallvorsorge und Wiederherstellung sowie das Strecken eines Failoverclusters über Standorte hinweg, um Hochverfügbarkeit zu erzielen. Die synchrone Replikation ermöglicht die Spiegelung von Daten an physischen Standorten mit ausfallsicheren Volumes, um auf Dateisystemebene sicherzustellen, dass kein Datenverlust auftritt. Die asynchrone Replikation ermöglicht die Standorterweiterung über regionale Bereiche hinaus mit der Möglichkeit von Datenverlusten.

Erfahren Sie mehr, und lesen Sie die häufig gestellten Fragen.

In diesem Artikel wird erläutert, wie das Speicherreplikat in System Center – Virtual Machine Manager (VMM) integriert wird, und es wird beschrieben, wie Sie das Speicherreplikat mithilfe von PowerShell einrichten, um Speicher im VMM-Fabric zu replizieren.

Funktion „Speicherreplikat“ in VMM

Sie können ein Speicherreplikat zum Replizieren von Hyper-V-Clusterdaten oder Dateidaten. Die Verwendung des Speicherreplikats in VMM bietet viele Geschäftliche Vorteile:

  • Eliminieren von Kosten und Komplexität im Zusammenhang mit synchronen Replikationslösungen wie z.B. SAN.
  • Synchrone Replikation minimiert Ausfallzeiten und Datenverluste. Es stellt einen RPO von 0 (null Datenverlust) bereit. RTO (Daten nicht verfügbar) tritt nur während des Zeitraums auf, in dem ein primärer Standort ausfällt und ein sekundärer Standort gestartet wird.
  • Quell- und Ziel-Speicherhardware müssen nicht identisch sein.

Vorbereitung

  • VMM muss auf Windows Server 2016 oder höher datacenter Edition ausgeführt werden.
  • Hyper-V muss auf Windows Server 2016 oder höher datacenter, Server Core oder Nano ausgeführt werden.
  • Nur die synchrone Replikation wird unterstützt. Asynchrone Replikation wird nicht unterstützt.
  • Sie benötigen zwei Speichersätze, entweder Volume- oder Dateispeicher. Quell- und Zielstandort müssen die gleiche Art von Speicher (Datei oder Volume) aufweisen, jedoch kann der tatsächliche Speicher gemischt sein. Beispielsweise könnten Sie Fibre Channel SAN an einem Ende und Spaces Direct (im hyperkonvergenten oder disaggregierten Modus) am anderen Ende verwenden.
  • Jeder Speichersatz sollte in jedem der Cluster verfügbar sein. Clusterspeicher sollte nicht freigegeben sein.
  • Quell- und Ziel-Volumes (einschließlich Protokollvolumes) müssen in Größe und Blockgröße identisch sein. Der Grund dafür ist, dass bei der Funktion „Speicherreplikat“ Blockreplikation verwendet wird.
  • Sie benötigen mindestens eine 1-GbE-Verbindung auf jedem Speicherserver, vorzugsweise 10 GbE, iWARP oder InfiniBand.
  • Jeder Dateiserver oder Clusterknoten benötigt Firewallregeln, die bidirektionalen ICMP-, SMB-Datenverkehr (Port 445, plus 5445 für SMB Direct) und WS-MAN (Port 5985) zulassen.
  • Sie müssen auf jedem Clusterknoten Mitglied der Administratorgruppe sein.
  • Die Funktion „Speicherreplikat“ kann nur mithilfe von Windows PowerShell eingerichtet werden.
  • Quell- und Zielspeicher müssen von dem gleichen VMM-Server verwaltet werden.
  • Die Integration von VMM in Azure Site Recovery wird nicht unterstützt.
  • Die Festlegung von Schreibreihenfolge und Konsistenzgruppen wird nicht unterstützt.

Bereitstellungsschritte

  1. Speicher identifizieren: Identifizieren Sie den Quell- und Zielspeicher, den Sie verwenden möchten.

  2. Ermitteln und klassifizieren: Wenn der Speicher derzeit nicht im VMM-Fabric enthalten ist, müssen Sie ihn mit VMM ermitteln. Sowohl der Quell- als auch der Zielspeicher müssen vom gleichen VMM-Server verwaltet werden. Erstellen Sie nach der Ermittlung einen Speicherpool und eine Speicherklassifizierung dafür. Weitere Informationen

  3. Paarbildung: Stellen Sie Quell- und Zielspeicherarray zu einem Paar zusammen.

  4. Bereitstellung: Nachdem Ihr Speicher gekoppelt wurde, müssen Sie identische Daten- und Protokollvolumes aus den Quell- und Zielspeicherpools bereitstellen, die auf den jeweiligen Speicherarrays erstellt wurden. Außer einem Volume für Daten, die repliziert werden, müssen Sie auch ein Volume für Replikationstransaktionsprotokolle bereitstellen. Wenn die Daten auf dem Quellspeicher aktualisiert werden, wird das Transaktionsprotokoll angefügt, und Deltaänderungen (mit synchroner Replikation) werden mit dem Zielspeicher synchronisiert.

  5. Erstellen von Replikationsgruppen: Nachdem die Volumes vorhanden sind, erstellen Sie Replikationsgruppen. Replikationsgruppen sind logische Gruppen, die mehrere Volumes enthalten. Die Replikationsgruppen müssen identisch sein und die Daten- und Protokollvolumes für den Quell- bzw. Den Zielstandort enthalten.

  6. Replikation aktivieren: Nun können Sie die Replikation zwischen den Quell- und Zielreplikationsgruppen aktivieren.

  7. Aktualisieren: Um die Erstellung von Replikationsgruppen abzuschließen und die erste Datenreplikation auszulösen, müssen Sie den primären und sekundären Speicheranbieter aktualisieren. Die Daten werden im Zielspeicher repliziert.

  8. Status überprüfen: Nun können Sie den Status der primären Replikationsgruppe überprüfen. Sie sollte den Status „Replikation“ aufweisen.

  9. Hinzufügen von VMs: Wenn die Deltareplikation aktiv ist und ausgeführt wird, können Sie VMs hinzufügen, die den in der Replikationsgruppe enthaltenen Speicher verwenden. Wenn Sie die virtuellen Computer hinzufügen, werden sie erkannt und beginnen automatisch mit der Replikation.

  10. Ausführen eines Failovers: Nachdem sich die Replikation im Synchronisierungszustand befindet, können Sie ein Failover ausführen, um zu überprüfen, ob sie wie erwartet funktioniert. Es gibt keinen Testfailovermechanismus, sodass Sie ein manuelles Failover als Reaktion auf geplante oder ungeplante Ausfälle ausführen. Nach dem Failover können Sie die VM am Quellstandort löschen (sofern noch vorhanden) und eine VM am Zielstandort mithilfe der replizierten Daten erstellen.

  11. Failback ausführen: Nachdem das Failover abgeschlossen ist und Replikat-VMs eingerichtet sind und ausgeführt werden, können Sie nach Bedarf ein Failback ausführen. Stellen Sie Folgendes sicher:

    • Wenn Sie ein ungeplantes Failover ausführen und Ihr Quellspeicherort nicht verfügbar ist, führen Sie ein Failover aus, um ein Failback vom sekundären zum primären Standort durchzuführen, und erstellen sie dann am primären Standort.
    • Wenn Sie ein geplantes Failover ausgeführt haben und die Quell-VM noch verfügbar ist, müssen Sie die Replikation stoppen, die Quell-VM entfernen, die VM am sekundären Standort erstellen und dann die Replikation neu starten. Anschließend können Sie am primären Standort den virtuellen Computer mit den gleichen Einstellungen wie die ursprüngliche VM erstellen.

Abrufen von PowerShell-Objekten

  1. Bevor Sie beginnen, rufen Sie den Namen der PowerShell-Objekte ab, die Sie verwenden möchten.

  2. Rufen Sie den Namen des primären Speicherarrays ab, und weisen Sie ihn einer Variablen zu.

        $PriArray = Get-SCStorageArray - Name $PriArrayName
    
  3. Rufen Sie den Namen des sekundären Speicherarrays ab, und weisen Sie ihn einer Variablen zu.

        RecArray = Get-SCStorageArray - Name $RecArrayName
    
  4. Rufen Sie den Namen des primären Speicherpools ab, und weisen Sie ihn einer Variablen zu.

        $ $ PriPoolName $RecPool = Get-SCStoragePool -Name $
    
  5. Rufen Sie den Namen des sekundären Speicherpools ab, und weisen Sie ihn einer Variablen zu.

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

Paarbildung der Speicherarrays

Bilden Sie aus dem primären und sekundären Speicherarray anhand der Variablen für die Speicherarraynamen ein Paar.

Hinweis

Der Arrayname sollte mit dem Clusternamen übereinstimmen.

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

Wenn Sie den Cluster außerhalb des VMM erstellt haben und den Arraynamen entsprechend dem Clusternamen umbenennen müssen, verwenden Sie Folgendes:

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

Bereitstellen von LUNs und Erstellen von Speichergruppen

Stellen Sie eine LUN aus dem Speicherpool für Daten und für das Protokoll bereit. Erstellen Sie dann Replikationsgruppen.

  1. Führen Sie die Bereitstellung und Erstellung an der Quelle durch.

        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. Führen Sie die Bereitstellung und Erstellung am Ziel durch.

        $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
    

Aktivieren der Replikation

Nun können Sie die synchrone Replikation zwischen den Quell- und Zielreplikationsgruppen aktivieren.

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

Aktualisieren der Speicheranbieter

  1. Öffnen Sie die VMM-Konsole.
  2. Wählen Sie Fabric-Ressourcenanbieter>aus. Klicken Sie mit der rechten Maustaste auf den Anbieter und dann auf >>.

Überprüfen des Replikationsstatus

Rufen Sie die Replikations-status für die Quellreplikationsgruppe ab, um sicherzustellen, dass die Replikation wie erwartet funktioniert.

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

Erstellen einer VM

Erstellen Sie eine VM mithilfe einer LUN in der Quellreplikationsgruppe. Alternativ können Sie einen virtuellen Computer in der VMM-Konsole erstellen.

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

Ausführen eines Failovers

Führen Sie ein Failover aus.

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation PrepareForFailover

    Set-SCReplicationGroup -ReplicationGroup SRecRG -Operation Failover

Ausführen eines Failbacks

Entfernen Sie vor dem Failback in der VMM-Konsole die Quell-VMs, sofern sie noch verfügbar sind. Sie können kein Failback auf die gleiche VM ausführen.

Führen Sie nun das Failback aus:

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

Nach dem Ausführen des Failbacks können Sie virtuelle Computer am Quellstandort mithilfe der failback-VHD/Konfigurationsdateien erstellen.

Beenden der Replikation

Wenn Sie die Replikation beenden möchten, müssen Sie dieses Cmdlet an der Quelle und am Ziel ausführen.

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

Erfahren Sie mehr