dani
Goto Top

Erfahrungen mit Deduplizierung unter Hyper-V

Moin,
wir nutzen in verschiedene Inselnetzwerke Microsoft Hyper-V für Server Virtualisierung. Nun wird auf ein paar Servern in absehbarer Zeit der Speicherplatz für virtuelle Maschinen ausgehen. Diverse Anforderungen wurden bereits pausiert bzw. verschoben. Aber das geht nicht mehr lange gut. Die zusätzlichen Festplatten sind bestellt. Aber die Lieferung wird vermutlich erst in 5-6 Monate erfolgen. face-sad

Nun steht die Idee im Raum auf den betroffenen Hosts temporär das Feature Deduplizierung zu installieren und konfigurieren. Gibt es hier jemand, der das Feature Deduplizierung auf Hyper-V produktiv einsetzt und damit die eine oder andere Erfahrung dazu schreiben kann?


Grüße,
Dani

P.S. In der aktuellen Fassung der Dokumentation gibt es für das Vorhaben erst einmal keine Unterstützung durch Microsoft. Ist mir bekannt und bewusst.

Content-ID: 2669537976

Url: https://administrator.de/contentid/2669537976

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

MysticFoxDE
MysticFoxDE 03.05.2022 um 01:49:45 Uhr
Goto Top
Moin Dani,

wenn es um normale Dateiablage geht, dann spricht in vielen Fällen nichts gegen Deduplizierung,
vor allem wenn die Zugriffsperformance nicht im Vordergrund steht.
Im Bereich des Backups, ist das Feature auch hin und wieder nützlich.

Bei Datenbanken und oder latenzkritischen Anwendungen, würde ich definitiv die Finger
von der Deduplizierung lassen.

Beste Grüsse aus BaWü
Alex
Spirit-of-Eli
Spirit-of-Eli 03.05.2022 um 05:41:45 Uhr
Goto Top
Moin,

bei einem Hyper-V Host ist die dedub Ausbeute sehr gering. Es sei denn ihr kopiert die Maschinen trocken und legt diese nebeneinander ab (vermutlich).

Die Performance Einbußen sehe ich gar nicht als großes Manko da dies als Job läuft nach Zeitplan quasi nach doppelten Dateien sucht. Bei Ausführung ist die Laufwerkslast dann natürlich größer.

Ich habe sowas auch mal zum testen gemacht, es hatte keine wirklich Vorteile. Der Rückbau hat dafür Tage gedauert da dies nur über einen PS Befehl möglich ist, außer man leg das Laufwerk natürlich neu an.

Laut dem Beitrag hier:
https://virtualizationreview.com/articles/2014/05/13/deduplication-hyper ...
Soll es etwas bringen, kann ich aber höchstens unter einer VDI Umgebung nachvollziehen.

Laut diesem hier:
https://serverfault.com/questions/565745/server-2012-deduplication-run-o ...
Ist die Dedublizierung von vhd und vhdx gar nicht möglich.

Gruß
Spirit
MysticFoxDE
MysticFoxDE 03.05.2022 um 07:24:35 Uhr
Goto Top
Moin Spirit,

Die Performance Einbußen sehe ich gar nicht als großes Manko da dies als Job läuft nach Zeitplan quasi nach doppelten Dateien sucht. Bei Ausführung ist die Laufwerkslast dann natürlich größer.

als ich die oberen Zeilen gelesen habe, konnte ich das mit dem Job, sprich, keine Echtzeitdeduplizierung zuerst gar nicht glauben. Nachdem ich nun online etwas nachgeforscht habe, muss ich es glauben, muss aber über den Dedup-Kindergarten von MS jedoch kräftig schmunzeln.

https://docs.microsoft.com/en-us/windows-server/storage/data-deduplicati ...

Und Robocopy darf man auf einem MS deduplitierten Volume, so wie es aussieht auch nicht verwenden und dass,
obwohl der Dedup als Job läuft.
robocopy
🙊🙈

Ich habe sowas auch mal zum testen gemacht, es hatte keine wirklich Vorteile. Der Rückbau hat dafür Tage gedauert da dies nur über einen PS Befehl möglich ist, außer man leg das Laufwerk natürlich neu an.

Ich habe diverse Analysen hinter mir, wo einschleichende und zum Teil sehr massive Performanceprobleme, sich auf Dedup der entsprechenden SAN's zurückführen liessen. Daher nutzen wir dieses Feature nicht aktiv bei Kundensystemen, obwohl die meisten der verwendeten SAN's, Dedup sogar in Echtzeit beherrschen.

Beste Grüsse aus BaWü
Alex
dertowa
dertowa 03.05.2022 um 07:29:07 Uhr
Goto Top
Moin,

kein NAS vorhanden was per iSCSI via Netzwerk angebunden werden kann und "unwichtige" VHDx Dateien zu Servern temporär aufnehmen könnte?

Grüße
ToWa
dertowa
dertowa 03.05.2022 um 07:32:03 Uhr
Goto Top
Hallo Alex,

Zitat von @MysticFoxDE:
als ich die oberen Zeilen gelesen habe, konnte ich das mit dem Job, sprich, keine Echtzeitdeduplizierung zuerst gar nicht glauben. Nachdem ich nun online etwas nachgeforscht habe, muss ich es glauben, muss aber über den Dedup-Kindergarten von MS jedoch kräftig schmunzeln.

wenn du noch etwas mehr schmunzeln möchtest kannst ja mal hier hineinschauen:
Fileserver Indizierung geht nicht mit DFS?

Für einen Standalone Archivserver kann man das also anwerfen.
Sobald es ein wenig Komfort haben soll, wird von Dedup in Nebensätzen immer abgeraten. face-wink
Th0mKa
Lösung Th0mKa 03.05.2022 um 09:10:06 Uhr
Goto Top
Zitat von @Dani:
Nun steht die Idee im Raum auf den betroffenen Hosts temporär das Feature Deduplizierung zu installieren und konfigurieren. Gibt es hier jemand, der das Feature Deduplizierung auf Hyper-V produktiv einsetzt und damit die eine oder andere Erfahrung dazu schreiben kann?

Moin,

empfohlen wird Dedup ja nur für Fileserver Shares, VDI und DPM. Man kann es zwar auch für andere Hyper-V Workloads nutzen, sollte aber vorher mit DDPEval prüfen ob es überhaupt ein sinnvolles Resultat liefern würde.

/Thomas
Spirit-of-Eli
Spirit-of-Eli 03.05.2022 um 09:12:09 Uhr
Goto Top
Ah nice das es so ein Tool gibt, das wusste ich noch nicht.
C.R.S.
C.R.S. 03.05.2022 um 11:54:21 Uhr
Goto Top
Hi,

habe ich lange Zeit eingesetzt unter Server 2016 mit NTFS auf SSDs.

Heute würde ich das eher mit ReFS machen, wäre mir aber auch neu. Auf Festplatten, gerade wenn es temporär ist, würde ich es nicht ausschließen, mir aber zweimal überlegen.

Das Deduplizierungspotenzial ist je nach Art der VMs erheblich, denn die Merkmale von VDI-Umgebungen liegen ja auch in anderen Konstellationen vor: Viele gleiche OS- und Software-Daten und freier Speicherplatz in den VHDs.
Für sich genommen läuft das stabil und performant. Backup und Restore müsst ihr natürlich klären und vor allem testen, das kann Probleme machen.

Grüße
Richard
psannz
psannz 03.05.2022 um 14:00:57 Uhr
Goto Top
Sers,

wie sehen die HV Cluster bei dir von der Storage Seite aus, @Dani?
S2D?
iSCSI/FC SAN?
Clustered Storage Spaces (SAS JBODs & HBAs)? CSV direkt oder SOFS?

Grüße,
Philip
dertowa
dertowa 03.05.2022 um 14:05:35 Uhr
Goto Top
Zitat von @c.r.s.:
Das Deduplizierungspotenzial ist je nach Art der VMs erheblich, denn die Merkmale von VDI-Umgebungen liegen ja auch in anderen Konstellationen vor: Viele gleiche OS- und Software-Daten und freier Speicherplatz in den VHDs.

Da stimme ich zu, ich würde das aber nicht auf Betriebssystemebene machen lassen, vor allem nicht mit "Containerdateien" wie VHDx Festplatten.
Sowas gehört meiner Meinung nach auf Basis des Storage erledigt bspw. über ein SAN wie eine NetApp.
C.R.S.
C.R.S. 03.05.2022 um 14:51:16 Uhr
Goto Top
Zitat von @dertowa:

Da stimme ich zu, ich würde das aber nicht auf Betriebssystemebene machen lassen, vor allem nicht mit "Containerdateien" wie VHDx Festplatten.
Sowas gehört meiner Meinung nach auf Basis des Storage erledigt bspw. über ein SAN wie eine NetApp.

Das sind Äpfel und Birnen. Wenn ein deduplizierungsfähiges SAN vorhanden ist, würde man es nicht auf dem Host machen, klar. In einem HCI-Stack macht es der Host und es ist auch dafür gedacht.

Weil Du oben einen "Archivserver" ansprichst: Ich sehe das genau umgekehrt. Abseits der Virtualisierung, auf File-Servern würde ich Deduplizierung allenfalls für "heiße" Daten einsetzen, wenn es unbedingt erforderlich ist. Spätestens auf Archivservern braucht man ein Instrument der Integritätsprüfung und hat dazu unter Windows nur ReFS-Integrity-Streams zur Verfügung. Deduplizierung geht damit eigentlich nur in Verbindung mit Storage-Spaces, denn wenn ReFS Fehler nicht über Paritätsdaten korrigieren kann und fehlerhafte Daten ggf. dedupliziert sind, können kleinste Fehler einen großen Wiederherstellungsbedarf auslösen.
rzlbrnft
rzlbrnft 05.05.2022 um 10:22:26 Uhr
Goto Top
Irgendwie hab ich an der Anforderung was nicht verstanden. Dedup ist ein Feature für den Windows Fileserver, nicht für Hyper-V. Heißt, wenn ihr das auf euren Fileservern die innerhalb Hyper-V laufen, installiert, wird höchstwarscheinlich ein guter Batzen Dateien dedupliziert werden können, dann müsst ihr aber auch die virtuellen Festplatten verkleinern, was oft dank Fragmentierung im Nachhinein nicht mehr möglich ist. Heißt ihr müsstet die VHDs neu erstellen, dafür muss natürlich auch genug Speicherplatz vorhanden sein.

Auf Hyper-V Ebene würd das Dedup Feature so gut wie gar nichts bewirken, da kaum gleiche Daten vorhanden sind, aber ob das gefragt war weiß ich jetzt nicht.

Ansonsten wie schon dertowa erwähnt hat, iScsi ist immer eine Möglichkeit kurzfristig eine NAS oder was in der Art anzubinden, darauf basiert sogar unsere komplette Speicherlandschaft.
Th0mKa
Th0mKa 05.05.2022 aktualisiert um 10:40:27 Uhr
Goto Top
Zitat von @rzlbrnft:

Irgendwie hab ich an der Anforderung was nicht verstanden. Dedup ist ein Feature für den Windows Fileserver, nicht für Hyper-V.

Moin,

das ist falsch, das Dedup Feature funktioniert auch für Hyper-V (und andere) Workloads.

/Thomas
C.R.S.
Lösung C.R.S. 05.05.2022 aktualisiert um 11:25:17 Uhr
Goto Top
Zitat von @rzlbrnft:

Auf Hyper-V Ebene würd das Dedup Feature so gut wie gar nichts bewirken, da kaum gleiche Daten vorhanden sind, aber ob das gefragt war weiß ich jetzt nicht.

Die Deduplizierung erfolgt auf Blockebene, da sind sehr viele gleiche Daten vorhanden, solange die VHDs nicht verschlüsselt sind.

Angenommen, du brauchst 20 gleiche IIS-Webserver, die 40 GB (identisches System und Web-Root, etwas Logs) auf 100 GB VHDs belegen, also 800 GB dynamische VHDs oder 2 TB fixed. Die Deduplizierung wird das schätzungsweise auf rund 100 GB drücken, und zwar unabhängig davon ob fixed oder dynamisch. Natürlich muss bedacht werden, dass z.B. das Einspielen von Updates auf allen VMs zwischen zwei Dedup-Zyklen den belegten Speicherplatz vorübergehend um das Volumen aller 20 Disk-Modifikationen anwachsen lassen wird.
psannz
Lösung psannz 05.05.2022 um 11:33:39 Uhr
Goto Top
Unter der Annahme, dass die VMs am Ende als VHDX auf einem oder mehreren CSV liegen (wie auch immer das angebunden ist):
Understanding the state of your Cluster Shared Volumes

Der entscheidende Punkt an der Nummer:
Während ein Dedup-Prozess läuft - egal ob Optimization, Scrubbing, GarbageCollection oder Unoptimization - ist die Datei exklusiv auf einem Host geöffnet. Die weiteren Hosts greifen dann via "File System Redirected Mode" zu.
Data deduplication occurs on a per file basis. Therefore, when a file on a CSV volume is deduped, all I/O for that file will occur in File System Redirected mode. I/O for the file will not be cached in the CSV Block Cache – it will instead be cached in the Deduplication Cache. For the remaining non-deduped files, CSV will be in direct mode. The state of the CSV will be reflected as being in Direct mode.
Hatte ich zuletzt auch so auf einem 2012R2 HV Cluster mit Clustered Storage Spaces so erlebt. Damals auf NTFS Basis. Ob es mit ReFS identisch funktioniert kann ich dir nicht sagen.
Sprich: Lass die Dedup Prozesse vom Host der höchsten IO Last durchführen. Dann schmerzt die höhere IO Latenz weniger ;)

Ansonsten:
Hyper-V VDI Optimierung als Dedup Modus verwenden, und nachträglich das Mindestalter der Dateien auf 0 Tage reduzieren.

Grüße,
Philip
MysticFoxDE
MysticFoxDE 05.05.2022 aktualisiert um 13:25:15 Uhr
Goto Top
Moin Philip,

Ob es mit ReFS identisch funktioniert kann ich dir nicht sagen.

😨 ... CSV und ReFS ... 😱

https://community.spiceworks.com/topic/2286588-please-do-not-use-refs-fo ...

Kann ich jetzt nicht wirklich empfehlen.

Beste Grüsse aus BaWü
Alex

Nachtrag:
Habe mich doch richtig erinnert, dass ich das auch schon hier in deutsch gepostet habe.
Warum ihr keine ReFS Formatierung für CSVs verwenden solltet, die von einem SAN bereitgestellt werden
psannz
psannz 06.05.2022 um 11:40:37 Uhr
Goto Top
Zitat von @rzlbrnft:

Zitat von @c.r.s.:

Die Deduplizierung erfolgt auf Blockebene, da sind sehr viele gleiche Daten vorhanden, solange die VHDs nicht verschlüsselt sind.

Zitat von @psannz:
Der entscheidende Punkt an der Nummer:
Während ein Dedup-Prozess läuft - egal ob Optimization, Scrubbing, GarbageCollection oder Unoptimization - ist die Datei exklusiv auf einem Host geöffnet. Die weiteren Hosts greifen dann via "File System Redirected Mode" zu.
Data deduplication occurs on a per file basis.

Meines Erachtens sind das doch zwei gegenläufige Aussagen. Was stimmt denn nun? Blockbasiert oder Filebasiert?

Nö. Passt komplett zusammen.
Die Deduplizierung erfolt in Blöcken. Standardmäßig in 32kB Blöcken. Das lässt sich je Volume einstellen.
Bei der Optimierung werden Dateien immer am Stück verarbeitet, sprich in 32kB Scheibchen aufgeteilt und verarbeitet.
Warum am Stück je Datei? Was würde passieren, wenn während der Optimierung einer Datei (auf dem CSV) von einem anderen Host in die eben jene Datei geschrieben wird? Datenverlust passiert. Drum schnappt sich der für den Dedup Prozess zuständige Host während der Verarbeitung die exklusiven Rechte an der Datei. Entsprechende Anfragen von Dritt-Hosts werden auf ihn umgeleitet, Schreibanfragen werden entsprechend so verarbeitet, dass die Zurodnungstabelle der Blöcke der Datei weiterhin konsistent ist.

Wenn das ganze nicht je Datei, sondern wild je Block auf dem Volume passieren würde, dann hättest du eine chaotische Umleitung von IO-Zugriffen, da für jeden Block der exklusive Zugriff bzw. der Umleitende Zugriff aktiviert und im Cluster kommuniziert werden müsste.
Dani
Dani 07.05.2022 aktualisiert um 09:48:22 Uhr
Goto Top
Hallo zusammen,
herzlichen Dank für Eure Einschätzungen und Fragestellungen.
Kann ich festhalten, dass keiner von euch bisher praktische Erfarhrung (Deduplizierung von vhdx Dateien) hat?

@dertowa
kein NAS vorhanden was per iSCSI via Netzwerk angebunden werden kann und "unwichtige" VHDx Dateien zu Servern temporär aufnehmen könnte?
Leider nein.


@Th0mKa
Man kann es zwar auch für andere Hyper-V Workloads nutzen, sollte aber vorher mit DDPEval prüfen ob es überhaupt ein sinnvolles Resultat liefern würde.
Danke für das Tool bzw. Link. Kannte ich noch nicht.


@c.r.s.
Das Deduplizierungspotenzial ist je nach Art der VMs erheblich, denn die Merkmale von VDI-Umgebungen liegen ja auch in anderen Konstellationen vor: Viele gleiche OS- und Software-Daten und freier Speicherplatz in den VHDs.
So habe ich das bisher auch gesehen. Deduplication sieht ja nicht, ob das eine VDI ist oder nicht.

Angenommen, du brauchst 20 gleiche IIS-Webserver, die 40 GB (identisches System und Web-Root, etwas Logs) auf 100 GB VHDs belegen, also 800 GB dynamische VHDs oder 2 TB fixed. Die Deduplizierung wird das schätzungsweise auf rund 100 GB drücken, und zwar unabhängig davon ob fixed oder dynamisch. Natürlich muss bedacht werden, dass z.B. das Einspielen von Updates auf allen VMs zwischen zwei Dedup-Zyklen den belegten Speicherplatz vorübergehend um das Volumen aller 20 Disk-Modifikationen anwachsen lassen wird.
So auch meine Argumentation in diesen Fall. Bei unserer VDI liegt die Deduplikationsrate bei 80%. Das es in diesen Fall keine 80% werden, ist mir natürlich klar. Weil die VMs auf den Hyper-V-Servern größere Abweichungen haben als VMs in der VDI.

Wenn ein deduplizierungsfähiges SAN vorhanden ist, würde man es nicht auf dem Host machen, klar.
So ist es.

Backup und Restore müsst ihr natürlich klären und vor allem testen, das kann Probleme machen.
Logisch.

Die Deduplizierung erfolgt auf Blockebene, da sind sehr viele gleiche Daten vorhanden, solange die VHDs nicht verschlüsselt sind.
Verschlüsselung innerhalb der VMs ist aktuell nicht gegegben.


@psannz
wie sehen die HV Cluster bei dir von der Storage Seite aus, @Dani?
Kein HV Cluster, kein Storge. Es handelt sich jeweils um einen Hyper-V Server mit LocalStorage.

Während ein Dedup-Prozess läuft - egal ob Optimization, Scrubbing, GarbageCollection oder Unoptimization - ist die Datei exklusiv auf einem Host geöffnet.
Korrekt. Die Idee ist, in einem Wartungsfenster die VMs herunterzufahren. Anschließend Deduplizierung laufen lassen und die VMs wieder hochfahren. Je nachdem wie groß der Gewinn von Speicherplatz ist und wie viel Daten sich ändern, wird der Vorgang eben alle x Wochen wiederholt.


@rzlbrnft
Irgendwie hab ich an der Anforderung was nicht verstanden.
Meine Frage zielt auf Deduplizierung von VHDX Dateien von Hyper-V ab.

Auf Hyper-V Ebene würd das Dedup Feature so gut wie gar nichts bewirken, da kaum gleiche Daten vorhanden sind, aber ob das gefragt war weiß ich jetzt nicht.
Das ist die Frage aller Fragen. Wir haben das vorab im Team besprochen und es gibt eben die zwei Meinungen - bringt viel, bringt kaum was. Daher bin ich auf der Suche nach praktische Erfahrungen.


Gruß,
Dani
psannz
psannz 07.05.2022 um 16:56:34 Uhr
Goto Top
Sers Dani,
Zitat von @Dani:
@psannz
wie sehen die HV Cluster bei dir von der Storage Seite aus, @Dani?
Kein HV Cluster, kein Storge. Es handelt sich jeweils um einen Hyper-V Server mit LocalStorage.
klasse, dann einfach den Dedup aktivieren. Bitte auf den Hyper-V VDI Modus achten, und mit set-dedupvolume sicherstellen, dass MinimumFileAgeDays = 0 ist, und VHDX, AVHD, VHD und all die anderen VM Dateitypen nicht von der Optimierung ausgeschlossen sind.
Die Schedules für die aktiven Prozesse kannst du auch über die Aufgabenverwaltung steuern. Tasks sollten dort automatisch hinterlegt sein.

Hast du mal ddpeval.exe durchlaufen lassen, um zu sehen wieviel du damit einsparen wirst? Kannst einfach die Binaries von einem System mit aktivierter Dedup Funktion auf den Hyper-V kopieren und per CLI aufrufen (ddpeval.exe zface-smile, geht sogar von einem Drittsystem aus, sofern die Bandbreite ausreicht.

Während ein Dedup-Prozess läuft - egal ob Optimization, Scrubbing, GarbageCollection oder Unoptimization - ist die Datei exklusiv auf einem Host geöffnet.
Korrekt. Die Idee ist, in einem Wartungsfenster die VMs herunterzufahren. Anschließend Deduplizierung laufen lassen und die VMs wieder hochfahren. Je nachdem wie groß der Gewinn von Speicherplatz ist und wie viel Daten sich ändern, wird der Vorgang eben alle x Wochen wiederholt.
Brauchst du nicht wirklich. Lass es einfach im Hintergrund laufen. Wenn es mit IOPS eng wird deaktivierst du die Hintergrundoptimierung.
Die Regulären Optimierungs, Scrubbing und GarbageCollection Tasks sollten täglich laufen, speziell Scrubbung, reicht absolut es Nachts laufen zu lassen.
rzlbrnft
rzlbrnft 09.05.2022 um 10:18:30 Uhr
Goto Top
Ich hab das Eval Tool mal testweise laufen lassen. Bekommt da noch jemand den Fehler?
Die Platte ist weder System noch Boot und Dedup war vorher auch nicht aktiviert, ist eine reine SSD mit VMs drauf.
unbenannt
Dani
Dani 09.05.2022 um 10:45:50 Uhr
Goto Top
@rzlbrnft
Bekommt da noch jemand den Fehler?
Nein. Bei mir läuft es. Um welchen Windows Server handelt es sich?

@psannz
Hast du mal ddpeval.exe durchlaufen lassen, um zu sehen wieviel du damit einsparen wirst?
Ja, habe ich. Wobei es bei aktiven VMs eine ganz anderen Wert aus gibt, als wenn alle VMs angehalten sind. Liegt vermutlich daran, dass die vhdx Dateien im Zugriff sind. Es sind laut dem Tool ca. 60% an Einsparung möglich. Ist mehr als ich gedacht (Größe des Storages, Anzahl der VMs und der Vielzahl an Anwendungen) habe.

Die Kollegen aus dem Bereich Backup werden sich diese Woche noch damit beschäftigen. Bin sehr gespannt, was die herausfinden und die Lösung auch freigeben.

Wenn es mit IOPS eng wird deaktivierst du die Hintergrundoptimierung.
Ist es bereits ohne Deduplizierung. face-wink Daher nur in der Nacht.

Die Regulären Optimierungs, Scrubbing und GarbageCollection Tasks sollten täglich laufen, speziell Scrubbung, reicht absolut es Nachts laufen zu lassen.
Es werden einfach die bestehenden geplanten Aufgaben von wöchentlich auf täglich angepasst. Das machen wir bei Dateiserver bereits so.


Gruß,
Dani
Dani
Dani 15.05.2022 um 11:21:58 Uhr
Goto Top
Moin,
gestern Nacht wurde die Deduplizierung auf den Servern aktiviert und auch gleich durchgeführt. Dazu wurden alle VMs herunterfahren, um die größtmögliche Performance für die Deduplizierung bereit zu halten.

Von den 60% sind wir weit weg... es sind im Regelbetrieb sogar 73% Einsparung! Hätte ich nicht für möglich gehalten. Wir sind vorab mit maximal 50% ausgegangen.

Somit können wir nun entspannt auf die Festplatten warten. face-smile Herzlichen Dank an Alle für eine Meinungen, Anregungen und Ideen.


Gruß,
Dani