Ich war in einem Kundenprojekt für die Migration von ca. 60 VMs von VMware vSphere zu Microsoft Hyper-V unter Windows Server 2016 verantwortlich. Eingesetzt wird ein DataCore-Cluster, bestehend aus zwei Servern. Das eingesetzte Storage-Protokoll ist Fibre Channel in diesem Fall, könnte aber auch iSCSI sein.
Die Anforderung
Vor der Nutzung von Hyper-V wurde durch Veeam als Backup-Software eine Off-Host Technik eingesetzt. So konnten während einem Backup-Vorgang die Daten per FC vom Storage angezogen werden, nicht über das Netzwerk. Diese Art der Sicherung sollte nach der Migration ebenfalls wieder zum Einsatz kommen, falls möglich.
Nach einer kurze Recherche bin ich auf den folgenden Beitrag gestoßen: V-Strange: Veeam Off-Host Proxy, DataCore VSS And MS Hyper-V – Lessons Learned
Hier beschreibt der Autor die Einrichtung und Installation von Veeam und DataCore. Mit diesem Artikel als Grundlage habe ich mich an die Konfiguration begeben.
Die Einrichtung von DataCore SANsymphony und Hyper-V
Zum Zeitpunkt der Einrichtung wurde die aktuellste DataCore SANsymphony 10.0 PSP 7 update2 genutzt. Auf den beiden Knoten befinden sich multiple vDisks, die teilweise noch an die „alte“ vSphere-Installation angebunden waren und teilweise für die neue Hyper-V Installation zur Verfügung stehen. Auf den Hyper-V Hosts wurde das Microsoft Standard-MPIO genutzt, es gab keine eigenen DataCore VSS- und MPIO-Treiber (DataCore WIK Kit).
Überprüfung der benötigten Schritte
- Die DataCore-Knoten sind nicht Mitglied einer Domäne, sondern befinden sich in einer Workgroup.
- Auf jedem der beiden Knoten existieren Mapstore Pools.
- Der Backupserver ist, wie beschrieben, nur per NETBIOS-Name eingetragen, nicht per FQDN
- Die CSV Datenträger sind nicht an den Backup-Server gezont, sondern ausschließlich an die Hyper-V Hosts. Diese Einstellung war für den Kunden anfangs ungewöhnlich, da dies so unter VMware nicht funktioniert hat. Ich gehe später darauf ein, warum es bei Hyper-V funktioniert.
- Der Backup-Server hatte anfangs nicht die gleiche OS-Version wie die Hyper-V Knoten, daher haben wir uns entschieden den Veeam Server neu zu installieren mit Windows Server 2016.
- Alle Server befinden sich auf dem aktuellen Windows Update-Level, wobei dies unabhängig vom Backup-Projekt sowieso gemacht wurde.
- Die Hyper-V Rolle muss auf dem Backup-Server verfügbar sein. Befindet sich Veeam auf einem Hardware-System, mache ich dies eigentlich immer, da so bessere und weitreichendere Möglichkeiten bei der Wiederherstellung existieren.
- Laut dem Beitrag muss das DataCore WIK auf den Hyper-V Hosts und dem Backup-Server installiert werden. Dieses WIK-Kit enthält MPIO- und VSS-Treiber für Microsoft Windows. Wir haben erst eine Einrichtung ohne die Installation von WIK probiert, dies hat aber nicht funktioniert. Die Installation ist somit Pflicht und kann nicht ignoriert werden. In meinem Fall kam nicht das angesprochene WIK in Version 3 zum Einsatz, sondern die aktuelle Version 4 mit Update 4.
- Der Backup-Server muss als Off-Host Proxy hinzugefügt werden, weiterhin muss eine Konfiguration der Volumes durchgeführt werden.
- Überprüfen Sie, ob in den „Manage Volume“-Einstellungen in der Veeam Backup Infrastructure der DataCore VSS-Treiber ausgewählt ist und das kein Fallback auf die Software-VSS-Variante passieren kann. Sollte es zu einem Failback kommen, funktioniert das Backup nicht (haben wir ebenfalls getestet).
- Die Anpassung der COM+ Applications – DataCore VSS Hardware Provider Einstellungen muss gemacht werden. Wir haben hier in meinem Fall einen Veeam-Administrator-Konto eingestellt, was sonst für die Sicherung von VMs im Application Aware-Modus genutzt wird.
Öffnen Sie für diese Option die Komponenten-Einstellung (unter ausführen dcomcnfg eingeben) und navigieren Sie zum folgenden Punkt:
In meinem Fall ist dies ein Screenshot von meinem Notebook, bei dem kein DataCore VSS Provider vorhanden ist. Da ich bei dem Kunden in einem geschlossenen System arbeite, kann ich keine Live-Screenshots machen und exportieren.
Die Erstellung des ersten Backups
Wir haben nun nach der Überprüfung der Einstellungen ein neues Backup erstellt. Ich habe eine VM auf dem Hyper-V Cluster ausgewählt, die Off-Host-Einstellung ausgewählt und das Backup gestartet. Im Log kann man sehen, dass die Erstellung des Backup startet und der gesamte Prozess hängt ziemlich lange bei dem Punkt Creating Snapshot DataCore VSS Hardware Provider on Hyper-V Host A (so knapp vier Minuten). Nach diesen vier Minuten wurde das Backup mit einer Fehlermeldung beendet, ein Backup war nicht möglich. Ich habe nun an mehreren Stellen Fehlermeldungen und Fehler-IDs bekommen, die ich hier teilweise mal wiedergebe.
Fehlermeldungen und Log-Einträge
- Error 0x80024306
- Event ID 0 – Veeam Backup
- Event ID 150 – Veeam MP
- Event ID 190 – Veeam MP
- The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
Volume Shadow Copy Service error: Error creating the Shadow Copy Provider COM class with CLSID {dc5d6dbc-f1ff-4218-bea2-1623a2bc58e8} [0x8000401a, The server process could not be started because the configured identity is incorrect. Check the username and password.] Operation: Creating instance of hardware provider Obtain a callable interface for this provider Add a Volume to a Shadow Copy Set Context: Provider ID: {b09d1a41-4dd9-4356-b4d1-74bfc6d95242} Provider ID: {b09d1a41-4dd9-4356-b4d1-74bfc6d95242} Class ID: {dc5d6dbc-f1ff-4218-bea2-1623a2bc58e8} Snapshot Context: 12552432 Execution Context: Coordinator
Die Lösung
Ich habe nach der Suche und Recherche unter anderen den Hinweis gefunden, dass es auf den Hyper-V Hosts unter C:\Programme\DataCore\Host Integration Kit\ eine Datei mit dem Namen VSSLog.txt gibt.
In dieser Datei befand sich pro Backup-Vorgang ein Eintrag, der mich auf die Lösung gebracht hat:
Das Problem war, dass der Hyper-V Host nicht per Netzwerk mit den DataCore-Knoten sprechen durfte. Obwohl wir ein Backup per FC abziehen, müssen die Systeme untereinander kommunizieren können. Dies war durch eine Firewall geblockt, somit konnte kein Backup-Snapshot auf dem DataCore-System angelegt werden und das Backup funktioniert nicht. Nachdem die entsprechenden Regeln konfiguriert wurden, hat das Backup problemlos funktioniert. Auf der DataCore-Konsole kann man sehr gut beobachten, wie der Snapshot angelegt und auch wieder entfernt wird, nachdem das Backup abgeschlossen ist.