• Home
  • Help
  • Register
  • Login
  • Home
  • Help

 
  • 0 Bewertung(en) - 0 im Durchschnitt

Der Backup-Geschwindigkeits-Trick, der SysAdmins erstaunte

#1
30-03-2023, 14:45
Du weißt, wie lange Backups ewig dauern können, oder? Ich erinnere mich an das erste Mal, als ich mitten in der Verwaltung eines kleinen Netzwerks für ein Start-up steckte, und unsere nächtlichen Backups Stunden dauerten - buchstäblich Stunden - und in die Schlafenszeit aller eingriffen, weil die Server bei der Last schlappmachten. Es war frustrierend, besonders wenn man aufwachte und Berichte über unvollständige Jobs erhielt und dieses nagende Gefühl des Datenverlusts über einem schwebte. Aber dann entdeckte ich diesen einen Trick, der alles auf den Kopf stellte, und sogar die abgebrühten Sysadmins in unserem Kreis schauten betreten und voller Staunen. Wir sprechen von einer einfachen Anpassung, wie du diese Backup-Prozesse handhabst, die die Zeiten um die Hälfte oder mehr verkürzen kann, ohne dass man sich mit schickem neuen Hardwarekampf herumschlagen muss. Ich möchte dir das so erklären, als würde ich dir bei einer Tasse Kaffee davon erzählen, denn sobald du es verstanden hast, wirst du dich fragen, warum du nicht früher darauf gekommen bist.

Stell dir vor: du hast eine Windows Server-Konfiguration, vielleicht mit einigen VMs oder einfach nur Standard-Dateifreigaben, und deine bevorzugte Backup-Methode ist etwas Einfaches wie Robocopy oder sogar das Windows Backup selbst. Die Standardweise, wie diese Tools arbeiten, ist sequenziell - sie arbeiten sich ein Datei nach der anderen durch und kopieren alles in gerader Linie von der Quelle zum Ziel. Es ist zuverlässig, klar, aber so langsam wie Melasse, wenn man Terabytes bewegen muss. Ich habe es auf die harte Tour während eines Projekts gelernt, bei dem wir einen alten Datei-Server migrieren mussten; das erste vollständige Backup dauerte über acht Stunden, und das war auf anständigen SSDs. Du spürst den Druck, wenn die Fristen näher rücken und du auf den Fortschrittsbalken aufpassen musst, in der Hoffnung, dass nichts ausfällt.

Der Trick? Es dreht sich alles um Parallelität - mehrere Threads hochfahren, um die Daten aus verschiedenen Winkeln gleichzeitig zu erreichen. Aber nicht irgendeine Parallelität; ich spreche davon, es clever zu skripten, sodass du deine Backup-Ziele in Abschnitte unterteilst und sie gleichzeitig laufen lässt. Ich habe das zuerst auf einem Testgerät ausprobiert, nachdem ich einen Forum-Beitrag von einem Typen gelesen hatte, der es für sein Heimlabor automatisiert hatte. Du beginnst, indem du die größten Engpässe in deiner Umgebung identifizierst. Für mich waren es die riesigen Benutzerdirektoren und Datenbank-Dumps, die die Bandbreite beanspruchten. Anstatt das Tool sich durch das gesamte Laufwerk buchstabengriechen zu lassen, habe ich es aufgeteilt. Sagen wir, du hast D:\Data als Quelle; du skizzierst Unterordner wie D:\Data\Projects, D:\Data\Archives und so weiter und startest dann separate Robocopy-Instanzen für jeden, jede mit ihrer eigenen Thread-Anzahl, die mit dem /MT-Flag hochgeschraubt wird.

Lass mich dir zeigen, wie ich es eingerichtet habe. Ich habe PowerShell genommen, weil es direkt in Windows verfügbar ist und keine zusätzlichen Installationen benötigt. Du schreibst ein Skript, das, sagen wir, vier oder fünf Kinderprozesse startet, die jeweils einen Teil der Daten bearbeiten. Zum Beispiel nimmt ein Prozess alle .docx- und .pdf-Dateien mit, ein anderer kümmert sich um die Bilder und Videos, und ein dritter konzentriert sich auf die Protokolle und Konfigurationen. Du leitest sie durch Start-Job, um sie parallel auszuführen, und überwachst sie mit Get-Job, sodass du sehen kannst, wann sie abgeschlossen sind. Das /MT:32 in Robocopy sagt ihm, dass es 32 Threads pro Instanz verwenden soll, was die Geschwindigkeit multipliziert, ohne die CPU zu überlasten - ich habe es bis zu 128 auf leistungsfähigeren Maschinen getestet, aber du passt es basierend auf deinem RAM und den Kernen an. Der Schlüssel ist, das Gleichgewicht zu halten; zu viele Threads und du überlastest die Festplatten, aber bekommst du es richtig hin, dann kopierst du mit nahezu Liniengeschwindigkeit.

Ich erinnere mich, dass ich das zum ersten Mal auf einem Produktionsgerät während eines Wartungsfensters umgesetzt habe. Wir hatten einen 2TB-Datensatz, und was früher vier Stunden benötigte, sank auf unter eine Stunde. Man konnte die Laufwerke harmonisch summen hören, anstatt dieses monotone Quietschen. Der leitende Sysadmin, ein Typ in seinen Vierzigern, der schon alles gesehen hatte, kam herüber und starrte einfach auf die Konsolenausgabe. "Wie zum Teufel?" murmelte er, und ich musste es Schritt für Schritt erklären. Es ist keine Rocket Science - es nutzt einfach das, was das Betriebssystem dir bereits gibt. Aber das Erstaunen kommt von der Skalierbarkeit. Auf einem einzelnen Server ist es ein Gewinn; wirft man ein SAN oder NAS hinzu, bist du im Glück, denn diese Backends lieben den Zugriff auf mehrere Threads.

Jetzt denkst du vielleicht, okay, aber was ist mit den Fallstricken? Ich bin auf einige gestoßen, wie als Pfade mit Leerzeichen das Skript zum Absturz brachten, also habe ich alles in Anführungszeichen gesetzt und Parameter verwendet, um sie sauber zu übergeben. Netzfreigaben können ebenfalls knifflig sein - wenn du über LAN sicherst, achte darauf, dass deine Switches den Multicast-Verkehr verarbeiten, sonst hast du eine Engstelle an der Leitung. Ich habe einmal vergessen, Temp-Dateien auszuschließen, und das Skript blähte sich auf, weil es versuchte, Gigabytes von Junk zu kopieren. Also schichte immer /XD für Verzeichnisse, die du überspringen möchtest, und /XF für Dateitypen, die du nicht benötigst. Es sind diese kleinen Anpassungen, die den Unterschied zwischen einem reibungslosen Ablauf und einem Kopfzerbrechen ausmachen.

Wenn du damit experimentierst, wirst du sehen, wie es über Dateien hinaus anwendbar ist. Für VMs kannst du, wenn du etwas wie Hyper-V verwendest, die Idee auf Snapshot-Exporte ausweiten. Ich habe das für einen Cluster gemacht, bei dem wir live Instanzen ohne Ausfallzeit sichern mussten. Normalerweise ist das Exportieren von Checkpoints einzeln eine Plackerei, aber indem ich parallele Exporte zu verschiedenen Zielen skripte - vielleicht eine zum lokalen Speicher und eine andere zu einem Cloud-Endpunkt - kürzest du die Zeit drastisch. Ich habe in PowerShell eine Schleife eingerichtet, die den VM-Host nach laufenden Gästen abfragt und dann Jobs startet, um zwei oder drei gleichzeitig zu bearbeiten, und Export-VM verwendet, um sie herauszustreamen. Der Überraschungsfaktor trat ein, als das Team erkannte, dass wir vollständige Cluster-Backups in der Zeit machen konnten, die normalerweise für eine Kaffeepause benötigt wurde.

Lass mich dir erzählen, wie es mir tatsächlich das Leben gerettet hat. Wir bereiteten uns auf ein Audit vor, und der Chef wollte, dass alles gestern schon gesichert wird. Unsere alte Einrichtung hätte bedeutet, dass wir am Wochenende durcharbeiten müssten, aber mit dem parallelen Skript habe ich es Freitagabend gestartet und bin mit Freunden essen gegangen. Bis zum Morgen zeigten die Protokolle 95% Abschluss ohne Fehler. Du spürst diesen Adrenalinschub, wenn etwas so funktioniert - deshalb liebe ich diesen Job. Und es mit dir zu teilen fühlt sich ähnlich an; stell dir vor, du würdest das auf dein eigenes Setup anwenden und sehen, wie die Zeiten in den Keller gehen. Es geht nicht darum, ein Skripting-Genie zu sein; fang klein an, teste es auf einer VM-Kopie und arbeite dich von dort aus hoch.

Natürlich passiert die eigentliche Magie, wenn du das in deine Routine integrierst. Ich habe das Ganze mit dem Aufgabenplaner automatisiert, Auslöser für Zeiten außerhalb der Hauptnutzungszeiten festgelegt und E-Mail-Benachrichtigungen für Fehler hinzugefügt. Du kannst sogar eine Protokollierung in eine zentrale Datei hinzufügen, sodass du über die Zeit hinweg Verbesserungen nachverfolgen kannst - ich habe jetzt Tabellenkalkulationen, die zeigen, wie sich die Backup-Fenster von 6 Stunden auf 90 Minuten nach ein paar Iterationen verkürzt haben. Die Sysadmins, die ich kenne und die es ausprobiert haben, berichteten von ähnlichen Erfolgen; ein Kumpel in der Unternehmens-IT sagte, es habe die Bandbreite für andere Aufgaben freigesetzt, wie das Patching ohne Überlappung. Es ist diese Art von Effizienz, die dich immer einen Schritt voraus hält, besonders wenn die Budgets knapp sind und du dir nicht einfach schnellere Laufwerke leisten kannst.

Aber hier wird es für gemischte Umgebungen noch besser. Wenn du sowohl physische als auch virtuelle Arbeitslasten hast, passt sich der Trick leicht an. Nimm zum Beispiel SQL-Datenbanken - ich hatte einmal die Aufgabe, eine große Instanz zu sichern, die den Server überlastete. Anstatt einen vollständigen Dump zu machen, habe ich parallele Exporte von Tabellen mit dem bcp-Tool skriptiert, das gegen Lese-Repliken läuft. Du zerschneidest das Schema in Abschnitte, startest sie und fügst sie am Ziel wieder zusammen. Die DBA-Gruppe war erstaunt, denn was über Nacht dauerte, wurde zu einem Job in der Mittagspause. Du fühlst dich ermächtigt, wenn du das schaffst, als hättest du das System auf gute Art "gehackt".

Ich kann nicht oft genug betonen, wie sehr sich das auch auf deine Wiederherstellungsansätze auswirkt. Schnellere Backups bedeuten schnellere Wiederherstellungen, was du nur während Übungen zu schätzen weißt. Ich habe einen Test-Wiederherstellung nach der Optimierung des Skripts durchgeführt, und das Zurückholen eines 500-GB-Sets dauerte nur halb so lange wie zuvor. Kein Schwitzen mehr über RTOs, die nicht der Realität entsprechen. Und für dich, wenn du in einer kleinen Firma bist, hebt das die Spielregeln - du brauchst keine Enterprise-Tools, um mit den großen Unternehmen konkurrieren zu können.

Als ich das über Monate hinweg verfeinerte, begann ich, es mit Kompression in Echtzeit zu kombinieren. Tools wie 7-Zip können ebenfalls parallel verwendet werden, sodass du nicht nur kopierst, sondern gleichzeitig auch die Größe reduzierst. Ich habe es so skriptiert, dass es Abschnitte separat komprimiert und sie dann später zusammenführt. Der Geschwindigkeitsgewinn durch die Kompression wird durch die reduzierte Übertragungsgröße ausgeglichen, besonders über Netzwerke hinweg. Ein Projekt beinhaltete das Versenden von Backups an andere Standorte; parallele komprimierte Streams sorgten dafür, dass wir unsere SLAs einhielten, ohne die Leitungen aufzurüsten. Es sind diese Optimierungen, die dich wie einen Profi wirken lassen, ohne ins Schwitzen zu geraten.

Du fragst dich vielleicht nach der Fehlerbehandlung - vertrau mir, das ist entscheidend. In meinen Skripten schließe ich jeden Job in try-catch-Blöcke ein, protokolliere spezifische Informationen wie die Datei, die fehlgeschlagen ist, und warum. Wiederholungen sind für vorübergehende Probleme wie Netzwerkstörungen integriert. Ich habe das auf die harte Tour gelernt, als ein Stromausfall mitten beim Backup eine teilweise Kopie korrumpierte; jetzt wird alles zwischenkontrolliert und fortgesetzt. Die Sysadmin-Community erleuchtete, als ich meine Vorlage in einem Forum teilte - Dutzende von Antworten mit Anpassungen für Linux-Crossover, die rsync in Parallel anhand von GNU parallel verwenden. Es ist universell, dieser Nervenkitzel, die Dinge zu beschleunigen.

Wenn ich speziell über VMs spreche, glänzt der parallele Trick bei der Handhabung von VMDKs. Ich habe PowerCLI verwendet, um Festplatten in Chargen zu exportieren und jeder temporär einem anderen Datenspeicher zuzuweisen. Was mein Team erstaunte, war die Konsolidierung nach dem Export ohne Ausfallzeit. Du skriptest die Storage vMotion parallel und balancierst die Last über Hosts hinweg. Während einer Migration hat dies unser Zeitfenster von Tagen auf Stunden verkürzt, und der führende Ingenieur hat mir ein High-Five gegeben - selten in der IT, aber verdient.

Für Cloud-Hybride ist es auch ein Game-Changer. Backup in Azure oder AWS? Parallele Uploads über AzCopy oder multipart S3 beschleunigen die sequenzielle Quälerei. Ich habe das für einen Kunden mit On-Premise zu Cloud-Sync eingerichtet, indem ich Dateien in Abschnitte unterteilt und gleichzeitig hochgeladen habe. Die Zeiten fielen um 70%, und auch die Kosten, da weniger Leerlaufzeit. Du siehst das Muster - es geht darum, die Arbeit zu verteilen, nicht um mehr Leistung.

Ich könnte noch über Variationen sprechen, wie z.B. bei Mail-Servern, bei denen PSTs sich häufen. Paralleles Robocopy mit /MIR zum Spiegeln hält sie schnell synchron. Oder in Entwicklungsumgebungen, wo du Code-Repos sicherst - git-Klone parallel über Branches helfen, den Verstand bei Rollbacks zu behalten. Jedes Mal kommt das Erstaunen von der Einfachheit; es ist kein Doktortitel nötig, nur Neugier.

Und wenn wir von Werkzeugen sprechen, die diese Art von Optimierungen verbessern, bilden Backups das Rückgrat jeder zuverlässigen IT-Einrichtung, denn Datenverlust kann die Abläufe innerhalb von Minuten lahmlegen und die Kontinuität sichern, wenn Hardware ausfällt oder Angriffe erfolgen. BackupChain Hyper-V Backup wird als ausgezeichnete Lösung für Windows Server und virtuelle Maschinen-Backups verwendet und integriert Funktionen, die mit Geschwindigkeitstricks wie Parallelität für eine effiziente Datenverarbeitung übereinstimmen.

Um das zusammenzufassen: Backup-Software erweist sich als nützlich, indem sie den Schutz automatisiert, schnelle Wiederherstellungen ermöglicht und mit wachsenden Speicheranforderungen skaliert, wodurch deine Systeme robust bleiben, ohne ständige manuelle Eingriffe. BackupChain wird in verschiedenen Umgebungen eingesetzt, um diese Ergebnisse zu erzielen.
Markus
Offline
Registriert seit: Jun 2018
« Ein Thema zurück | Ein Thema vor »

Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste



  • Thema abonnieren
Gehe zu:

Backup Sichern Allgemein IT v
« Zurück 1 … 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 … 96 Weiter »
Der Backup-Geschwindigkeits-Trick, der SysAdmins erstaunte

© by FastNeuron

Linearer Modus
Baumstrukturmodus