Update: Der Artikel ist nach wie vor relevant, die Option und das vddkkeyfile ist ab Version 12.1.2.172 aber nicht mehr nötig. Die Änderungen sind in diesem Build bereits enthalten.
Wie sicherlich viele wissen, wurde der Transport Modus NBD in den letzten Jahren nicht schneller, eher im Gegenteil. Doch was ist nochmal NBD? NBD steht für „Network Block Device Protocol“. Gemeint ist der Transport Modus, über welchen Veeam die Backup Daten von VMware abzieht. Die Gegenstelle bei NBD ist üblicherweise der Management Port des jeweiligen ESX Hosts, also der vmk0 Port. Damit der Transportmodus einigermaßen performant funktioniert, sollte hier mindestens ein 10GBit Interface zum Einsatz kommen. Details zum Transport Modus gibts hier.
Gerade im NetApp Umfeld wird üblicherweise versucht, ein anderen Transport Modus zu nutzen, DirectNFS oder noch besser „Backup from Storage Snapshots“. Dabei werden die Daten direkt vom Netapp Storage gelesen, was zu einer sehr guten Backup Performance führt. Es gibt allerdings Szenarien, welche einen Fallback auf NBD erfordern, z.B. wenn VMs bereits VMware Snapshots besitzen. Hier ist aus technischen Gründen kein direktes Backup möglich, an der Stelle wird also NBD genutzt.
Besonders interessant wird es nun wenn NBD überwiegend verwendet wird, was insbesondere bei HCI Lösungen oder Storage Systemen welche nicht nativ in Veeam integriert sind der Fall ist.
Im Rahmen des Veeam Vanguard Programms wurde mir eine Option zur Verfügung gestellt, welche die Performance bei NBD basierten Backups in etwa verdoppelt, vorausgesetzt natürlich Quelle und Ziel spielen mit.
Für all diejenigen welche die Option nun selbst testen wollen habe ich im folgenden die notwendigen Schritte dokumentiert.
Wichtig: Die Option ist voll supported und für produktive Umgebungen freigegeben. Aktuell ist es noch als versteckte Option aufgeführt. In den nächsten Veeam Releases wird es per Default aktiviert.
Voraussetzung:
– Version v12/12.1 von Veeam Backup & Replication
– Einsatz von NBD
– ~30% mehr CPU Load auf den Proxies
Windows Proxies
1. Erstelle eine Text Datei mit dem Namen vddkkeys.txt und folgendem Inhalt, z.B. unter c:\temp\
VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
vixDiskLib.nfcAio.Session.BufCount=4
2. Dann benötigen wir zwei RegKeys auf jedem Proxy Server. Hier wird das oben erstellte Text Dokument verlinkt. Der erste Wert ist ein „REG_SZ“, der zweite ein „DWORD“ Eintrag.
[HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication]
"VddkConfigPath"="c:\temp\vddkkeys.txt"
[HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication]
"VddkExtraFlags"=dword:00000001
Linux Proxies
1. Erstelle eine Text Datei mit dem Namen vddkkeys.txt und folgendem Inhalt
VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
vixDiskLib.nfcAio.Session.BufCount=4
2. Erstelle die Datei /etc/VeeamAgentConfig mit folgendem Inhalt und dem Link zu der oben erstellten Datei.
VddkConfigPath = /etc/vddkkeys.txt
VddkExtraFlags = 1
Anschließend die Veeam Dienste auf den Proxies neustarten, alternativ Proxies einmal komplett neustarten. Der Effekt bei incremental Backups ist natürlich etwas schwerer zu erkennen, da die Datenmenge jeden Tag anders ist. Bei Full Backups sollte der Unterschied sofort und deutlich zu sehen sein.
Hier ein Praxisbeispiel aus einer Kundenumgebung mit zwei Jobs vor und nach setzen der Option.
Full Backups (Vorher)
Full Backups (Nachher)
Insbesondere bei dem Fileserver Backup wurde die Zeit signifikant von 37 auf 18 Stunden verkürzt.
Natürlich habe ich auch einen Versuch in unserem AU Demo Lab gestartet, hier konnte ich das gleiche Verhalten nachstellen.
Vorher
Nachher
Ich freue mich über Feedback hier in den Kommentaren oder direkt per Mail, wenn jemand die Option nutzt. Für uns bietet das einen großen Mehrwert, denn produktive Umgebungen sind immer deutlich aussagekräftiger als synthetische Tests im Lab.
Hallo,
lässt sich dieses Szenario auch in einem reinen Hyper-V Umfeld umsetzen?
Gruss Ralf
Hallo Ralf,
leider nein – der Transportmodus NBD ist eine Lösung nur für VMware der eben auf den VMKernel Port für Management/Backup abzielt. Hyper-V arbeitet beim Datenfluss zum Veeam Backup Server gänzlich anders. Daher wird dir die Option dort nichts bringen.
Viele Grüße
Matze