Klonen der HDD - Wie am besten ein Backup machen

iceview

Lieutenant
Registriert
Jan. 2008
Beiträge
714
Hallo zusammen,

was würdet ihr als beste Methode ansehen ein Backup ganzer Festplatten bzw. Partitionen zu machen?

Ich hatte vor via Cron und dd etwas zu bauen, z.B. sowas in der Art:

Code:
 dd if=/dev/xvdc | gzip -9 > /mnt/nas1/xvdc.img.gz

Ich habe mit partimage ein wenig rumprobiert, es ist aber nur sinnvoll, wenn ich hierzu einen partimage Server aufsetze.

Wie handhabt ihr das? Was für Möglichkeiten gibt es noch oder würdet ihr dd empfehlen?
Ist das im Recovery Fall einigermassen einfach zu handhaben?

Danke!
 
TrueImage Home kann aber nur Windows Maschinen.

Die Linux fähige Variante kostet >600,-€ und benötigt eine eigene VM auf einem ESXi.
 
Ich verwende für meine Zwecke gerne Clonezilla als Live CD.
Alternativ kannst du dir ja auch die von Clonezilla verwendeten Komponenten im einzelnen anschauen. Vielleicht ist ja da etwas für dich dabei.

Ob das Programm oder deren Teil-Komponenten für deinen speziellen Einsatzzweck tauglich ist, kann ich dir nicht sagen. Jeder hat da seine eigenen Vorstellungen. Im Zweifelsfalle halt einfach ausprobieren.



Gruß
 
Naja ich kenne sowohl Partimage, wie auch Clonezilla.

Was ich ja gerne machen möchte ist, eigenständige Images im Produktivbetrieb auf einer NAS ablegen.
Ich bin mir nicht sicher, ob das die beiden Tools leisten können.

Bei Partimage muss in jedem Fall die HDD in der Bereitstellung aufgebhoben werden. Ist für nen Produktivsystem eben nicht besonders geeignet denke ich.

Daher war mein Gedanke via dd ein Image ablegen zu lassen. Das klappt auch per Cron ganz gut. Man kann dort ja per find auch Dateien > 90 Tage löschen lassen. Wie dann das Recovery aussieht ist mir eben noch nicht klar.
 
Ich würde davon absehen, die gesamte Partition im laufenden Betrieb zu klonen und das aus einem einfachen Grund: Du kannst nicht festlegen, ob eine eingehängte Partition im Zugriff ist, während du dein Backup machst und wenn sie das ist, was wahrscheinlich ist, wirst du zwar im Endeffekt ein Image haben, aber das Image wird mit hoher Wahrscheinlichkeit beschädigt sein.

Ich würde folgendes tun:
1. Cron-Job von deinem Produktivsystem zum NAS mit
Code:
rsync -a --delete /was/du/sichern/willst /pfad/zum/NAS/aktuell
2. Auf dem NAS ein regelmäßiges Komplettsichern der aktuellen Version deines Backups einrichten

Damit minimierst du den Netzwerktraffic, vermeidest unnötige Systemlast und stellst sicher, dass dein Backup funktionsfähig bleibt.

Je nachdem, was du sicherst, muss das Dateisystem deines NAS dabei allerdings die UNIX-Rechteverwaltung unterstützen.
 
Momentan sichere ich jede Woche das System mit:

Code:
tar cvpzf /mnt/snapshot/nas1/$DATUM.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /

Die variablen Daten z.B. Datenbanken dumpe ich jede Stunde auf jeweils 2 NAS. Damit ist der wirklich produktive Part gesichert. Ich möchte es mir nur erleichtern, falls wirklich einmal ein System neu hochzuziehen ist...

Ist Dein Vorschlag mit dem rsync vorteilhafter gegenüber dem tar?

Was genau meinst Du im Punkt 2?
 
Mein Vorschlag soll bewirken, dass du mit rsync dein System mit einem Verzeichnis auf dem NAS synchronisierst und das NAS dann die regelmäßigen Snapshots erstellt, ohne dein Produktivsystem damit zu beeinträchtigen.

Letztendlich würde das dann so aussehen:

Cronjob auf Produktivsystem:
Code:
rsync -a --delete --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys / /mnt/snapshot/nas1/aktuell

Cronjob auf dem NAS:
Code:
tar cvpzf /pfad/zu/snapshots/$DATUM.tgz /pfad/zu/aktuell

Beim ersten Aufruf überträgt rsync das komplette root-Verzeichnis auf das NAS und bei jedem weiteren Aufruf überträgt es die Änderungen seit dem letzten Aufruf.
Das NAS erstellt dann regelmäßig Snapshots von dem synchronisierten Verzeichnis, die du auch brauchst, denn rsync interessiert sich nicht für fehlerhafte Dateien oder andere unerwünschte Änderungen. Dabei kann beides aber auch völlig unabhängig voneinander laufen (bspw. rsync immer um Mitternacht und Snapshots jeden Sonntagmittag oder so - die Zeiten sollten sich nur nicht überschneiden).

Letztendlich führt beides zu 'nem ähnlichen Ergebnis, mit dem Unterschied, dass du den Netzwerktraffic deutlich senkst und dein Produktivsystem entlastest und auch die Zeit, die für das Backup benötigt wird, verringerst. Mit rsync überträgst du ja nur die Änderungen. Das gibt dir auch die Möglichkeit, die Sicherung häufiger durchzuführen, weil es weniger Last mit sich bringt.
Andererseits muss dein NAS natürlich dafür in der Lage sein, den Komprimiervorgang selbst durchzuführen.


Angenommen, deine Systemplatte gibt den Geist auf, dann sähe der Recovery-Fall so aus:
- Platte ersetzen
- Live-Umgebung starten
- Partitionslayout erstellen
- letzten Stand mit rsync, scp oder so vom NAS zurückspielen
- Bootloader installieren
- Reboot -> fertig

Bei deiner jetzigen tar-Methode würdest du eben das letzte .tgz wieder auf die Platte entpacken.

Ein komplettes Festplattenimage würde ich nicht im laufenden Betrieb durchführen (und bin mir auch unsicher, ob es überhaupt vernünftig geht). Im Endeffekt erleichtert es nur den Recovery-Fall um die Partitionierung und die Bootloader-Installation und bringt zu viele Nachteile mit sich (dauert ewig, eventuelle Inkonsistenzen, sehr große Backup-Files).

Du könntest allerdings auf eine kombinierte Lösung setzen, indem du ein Festplattenimage offline erstellst und das zur Recovery verwendest und dann eben mit rsync noch die letzten Änderungen überträgst.
Ist natürlich auch davon abhängig, von was für einem System wir hier sprechen.
 
Hm... die Idee mit dem rsync ist echt gut. Auch das Komprimieren von der Produktivmaschine wegzunehmen.
Allerdings ist es mit den beiden NAS Systemen nicht möglich selber zu komprimieren.

Ich kann hierzu allerdings eine andere Linux Maschine nutzen, welche dann keine "Last" hat.
Ich denke aber diese Aktionen halten sich in Grenzen. Die Systeme haben alle schnelle Platten (8x 300GB SAS 15k im Raid 5) jede Maschine genug RAM und CPU um sowas zu verkraften. Limitierend ist sicherlich das Netzwerk (1Gbit) zur NAS. Mehr als 120MB/s sind dann eben nicht möglich.

Gesichert werden sollen eben möglichst meine Webserver. Diese kann ich nur online sichern, da diese 24/7 online sind. Diese laufen momentan alle mit einem Ubuntu 12.04.3 LTS.

Ich kann generell einen Hardwaredefekt bzw. Ausfälle der Hardware durch die HA Umgebung kompensieren. Es geht mir primär um eine Sicherung der Maschinen intern, da diese ja (HA hin oder her) nicht protected sind, wenn der Admin Mist tippt. Hier hilft die beste Hardware oder die beste Hochverfügbarkeit nix ;-)

Auf jeden Fall schonmal ein guter Ansatz.

Danke!
 
Zuletzt bearbeitet:
Ich war jetzt irgendwie bei einer kleineren Umgebung :D

Dir geht es also eigentlich nur darum, dich vor unerwünschten Änderungen zu schützen und im Falle des Falls 'nen Rollback machen zu können.
Für sowas würde ich - gerade in der Umgebung, die du beschreibst - auf ein volles Backup und darauf aufbauende inkrementelle Backups setzen. Die inkrementellen Sicherungen kann man dann regelmäßig in das Vollbackup integrieren.
Eine genaue Realisierung kann ich dafür jetzt aber leider aus Zeitgründen nicht aus dem Ärmel schütteln, im Arch-Wiki ist so eine Vorgehensweise beispielhaft umrissen (die letzten beiden Absätze) und da solche Strategien ziemlich üblich sind, gibt's da garantiert auch noch einiges an "Literatur" zu.
 
Ja wie beschrieben. Alles war Hardware angeht oder sowas, das würde ich zum größten Teil ausschliessen können. Allerdings eben eine Sicherung, bei der man nicht einen aufgetretenen Fehler mitsichert. Daher war eben der Grundgedanke immer ein Image jede Woche zu ziehen.
 
Zurück
Oben