t_z_web
Anmeldungsdatum: 6. Februar 2009
Beiträge: 74
|
Hallo zusammen, bisher sichere ich meine Daten manuell auf eine externe Festplatte. Dies ist nicht ideal, da 1. das ganze nicht regelmäßig geschieht (ich muss daran denken) und 2. das Backup-Medium am sich selben Standort befindet. Daher möchte ich das Backup-Medium in die Wohnung meiner Eltern auslagern. Ebenso sieht es bei meinen Eltern aus - nur dass deren Backup-Medium sich bei mir befinden soll. Das Backup soll automatisch erfolgen. Idealerweise sollte nicht nur die letzte Version einer Datei vorliegen, sondern auch die Historie. Zudem sollte das System verschobene Dateien erkennen und im Backup ebenfalls verschieben - andernfalls könnte das Backup schnell mit Duplikaten überfüllt werden, da ich zum Beispiel die Fotos nach dem Bearbeiten noch einmal verschiebe. Gelöschte Dateien sollten im Backup jedoch nicht gelöscht werden, sondern allenfalls als gelöscht markiert werden. Das ganze führt natürlich zu ganz neuen Anforderungen:
verschlüsselte Übertragung (z.B. über sftp) automatische Ausführung (z.B. per CronJob) automatisch an- und ausschalten der Festplatten (ansonsten wäre deren Datensicherheit durch Verschleiß (Dauerbetrieb) eher noch schlechter, als von den original-Laufwerken). Dies kann entweder durch ein Erkennen der Nichtbenutzung oder per online-Befehl geschehen. automatischer Dateiabgleich (idealerweise per Checksumme - wobei die Checksumme auf dem jeweiligen System, an dem das Laufwerk angeschlossen ist, erzeugt werden sollte) die Rechte müssen trotz allem erhalten bleiben. Idealerweise sollte auch der Zeitstempel erhalten bleiben. die Wiederherstellung einzelner Dateien sollte möglich sein das Backup sollte nicht durch einen kleinen Fehler komplett unbrauchbar werden - vermutlich kann dies nur dann erreicht werden, wenn alle Dateien einzeln auf der Platte liegen
Leider habe ich noch keine Lösung gefunden, die alle Anforderungen erfüllt - wobei ich durchaus gewillt bin mehrere Tools über Skript zu verbinden. Könnt Ihr mir hier eine Empfehlung geben? Vielen Dank im Voraus.
|
unbuntuS12
Anmeldungsdatum: 2. Juni 2010
Beiträge: 1816
|
Ein kritischer Faktor bei deinen Überlegungen ist die Datenmenge. Ich habe ähnliches vor und prinzipiell wäre rsync über SSH das Mittel der Wahl. Allerdings ist mein Plan, regelmäßige Backups lokal zu machen und dann die Backupplatte - ca. 4TB - zu spiegeln. Nun überträgt rsync zwar nur den Diff, muss aber trotzdem lokal alles einlesen. Und das dauert bei einer 4TB-Platte etwa 16 Stunden, was irrwitzig lange ist. Insofern werde ich in Zukunft mal nach btrfs und ZFS on Linux schauen, weil man da mit den Snapshot-Funktionen im Endeffekt dafür sorgen kann, dass man den Diff schon gecached hat. Wie genau ich das umsetzen werde, weiß ich aber noch nicht. Das als kurze, erste Gedanken.
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8493
|
Schau Dir mal Borgbackup an. Bzgl Deduplikation wirklich top. Wenn Du Dateien (Fotos) kopierst oder verschiebst, werden die Daten nicht neu abgelegt. Snapshots können auch einfach verwaltet werden. Allerdings müsstest Du das per Skript bedienen. t_z_web schrieb:
Das ganze führt natürlich zu ganz neuen Anforderungen:
Übertragung per ssh und sogar verschlüsselte Speicheung einfach möglich geht Solltest Du über das Betriebssystem per hdparm oder Cron lösen geht Weiß ich jetzt nicht geht das ist immer ein Problem, selbst bei einzelnen Dateien kann die Platte komplett aufgeben, Deshalb brauchst Du auf jeden Fall eine zweite Sicherung.
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 7651
|
unbuntuS12 schrieb: Nun überträgt rsync zwar nur den Diff, muss aber trotzdem lokal alles einlesen. Und das dauert bei einer 4TB-Platte etwa 16 Stunden, was irrwitzig lange ist.
Dann hast du aber irgendwo eine Paranoia-Option aktiviert. Oder du sicherst auf ein ungeeignetes Dateisystem wie FAT32. Normalerweise wird bei identischer Dateigröße und -Timestamp darauf vertraut, daß die Datei identisch ist. Eingelesen wird da nichts mehr. Ohne diese Optimierung können ansonsten auch fast alle anderen Backuplösungen einpacken. Man muss einfach darauf vertrauen können, daß die Timestamps stimmen und an den Dateiinhalten nicht heimlich herumgemurkst wird.
|
rleofield
Anmeldungsdatum: 14. September 2008
Beiträge: 779
Wohnort: Görlitz
|
Das ganze führt natürlich zu ganz neuen Anforderungen:
ssh
trivial externe Platten machen das automatisch, nicht wegen dem Verschleiß, sondern um etwas Strom zu sparen. rsync -P rsync prüft das ab, wenn Änderungen vorliegen, bzw. bei der ersten Kopie eines Files. Liegen keine Änderungen vor, prüft rsync nur size und date.
Einen Checksummenvergleich alle Wochen kann man extra bauen, wenn man Angst um die Qualität der Platten hat.
rsync -avSAXHP (als root) rsnapshot (rsync mit Historie) Das mit dem Verschieben von Files geht nicht, sonst wird die Historie unlogisch. Wenn z.B ein File vom Montag am Dienstag verschoben wird, muss er in der Historie vom Montag ja noch drin sein.
trivial trivial, bei Filesystemfehlern ist eh viel im Eimer, das betrifft aber alle Platten, die Du hast
Leider habe ich noch keine Lösung gefunden, die alle Anforderungen erfüllt - wobei ich durchaus gewillt bin mehrere Tools über Skript zu verbinden. Könnt Ihr mir hier eine Empfehlung geben?
Ein gutes, trojanersicheres Backup ist nicht trivial. Ich rate von Tools, die eigene Backupformate mitbringen, ab. Tools kommen und gehen, ist das Tool weg, ist das Backup weg. Wenn man damit leben kann, ist ein Tool ok. Schau mal hier: https://www.lug-ottobrunn.de/wiki/Kieler_Open_Source_und_Linux_Tage_2017 Gruß rleofield
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8493
|
rleofield schrieb: Ich rate von Tools, die eigene Backupformate mitbringen, ab. Tools kommen und gehen, ist das Tool weg, ist das Backup weg. Wenn man damit leben kann, ist ein Tool ok.
Das muss nicht sein. Borgbackup bietet z.B. die Möglichkeit "Standalone-Binaries" der jeweils benutzten Version mit auf dem Backupmedium abzulegen. Solange die Plattform noch unterstützt wird (z.B. x86 oder x64) sollte das Programm ohne Abhängigkeiten lauffähig sein. Das ist dann nicht wie bei Déjà Dup 😉. @ t_z_web : ist das Problem gelöst oder hast Du noch Fragen?
|
t_z_web
(Themenstarter)
Anmeldungsdatum: 6. Februar 2009
Beiträge: 74
|
Hallo zusammen, ich habe leider nicht so sehr viel Zeit mich damit zu beschäftigen, da ich noch ein paar andere "Baustellen" offen habe. Gerade der Link von rleofield hat mich bereits gut weiter gebracht - vielen Dank (an alle). Ich werde aber noch etwas Zeit benötigen. Zunächst werde ich jetzt erst mal ein wenig auf einem alten Rechner testen - da kann ich nix kaputt machen 😉. Zwei Software-Optionen sind bei mir aktuell in der engeren Wahl: 1. rsnapshot mit Skripten und 2. BackupPC. In beiden Fällen wird es über einen reverse-ssh-Tunnel laufen. Borgbackup wird es nicht werden, da dieses Programm keine kompletten Dateien abspeichert. Geht der Index kaputt ist auch das Backup kaputt. Ich habe mir aber auch noch nicht die Beschreibung aller Programme mal näher angeschaut. Vielleicht habt Ihr ja eine Empfehlung für mich. Wenn dann alle Software-Fragen geklärt sind muss ich noch die Frage klären auf welcher Hardware ich das ganze laufen lassen werde - wenn ein geplantes Runter- und wieder Hochfahren möglich ist könnte ein einfacher, stromsparender x86-Rechner besser sein, ansonsten wird es ein Einplatinenrechner (z.B. Raspberry Pi 1 B+ - dieser ist wohl der mit dem geringsten Energieverbrauch unter den Raspberry Pi Versionen mit Netzwerkanschluss, Banana Pi / Banana Pro - diese haben nen Sata-Anschluss, …). Des Weiteren muss ich mindestens eine neue Backup-Platte beschaffen. Ich melde mich auf jedem Fall noch einmal wenn ich fertig bin oder Fragen habe.
|
unbuntuS12
Anmeldungsdatum: 2. Juni 2010
Beiträge: 1816
|
frostschutz schrieb: unbuntuS12 schrieb: Nun überträgt rsync zwar nur den Diff, muss aber trotzdem lokal alles einlesen. Und das dauert bei einer 4TB-Platte etwa 16 Stunden, was irrwitzig lange ist.
Dann hast du aber irgendwo eine Paranoia-Option aktiviert. Oder du sicherst auf ein ungeeignetes Dateisystem wie FAT32.
Vielleicht noch, um das aufzulösen. In der Tat ein Paranoia-Setup: Ich möchte der Gegenstelle nicht vertrauen müssen, sprich, die Daten sollen nicht einmal zur Laufzeit entschlüsselt vorliegen. Anders ausgedrückt: Ich will einen LUKS-Container rsyncen. Und das ist eben nur eine "Datei", die sequentiell gelesen werden würde. Zwar würde da nur die Änderungen übertragen werden, aber eingelesen werden müsste alles. Dazu vielleicht noch der Hinweis, dass das dann nicht mit rsync, sondern mit bdsync erfolgen würde, was aber dem gleichen Prinzip folgt. Deshalb hatte ich schonmal einen Blick auf lvmsync geworfen, das allerdings den letzten Commit vor 3,5 Jahren bekommen hat. Außerdem würde ich gerne auf eine etabliertere Lösung setzen, wenn möglich. Aber prinzipiell scheint das in meinem Fall the way to go zu sein: Snapshots des verschlüsselten Blockdevices machen, Änderungen tracken (damit die sofort verfügbar sind) und die dann übertragen und auf die dortige Basis anwenden. Zitat aus dem Readme (meine Hervorhebung):
By the magic of LVM snapshots. lvmsync is able to read the metadata that device-mapper uses to keep track of what parts of the block device have changed, and use that information to only send those modified blocks over the network.
Dort würde man sich also das Einlesen sparen.
|
roteiro
Anmeldungsdatum: 22. Februar 2012
Beiträge: 43
|
Ich hänge mich mal dran, weil ich eine Lösung aufsetzen möchte, die sehr ähnliche Anforderungen hat. Ich kann damit leben, dass die Backups nicht ohne Tool wiederhergestellt werden können, von daher wäre borgBackup für mich sehr gut geeignet. Was für mich noch offen ist, ist die Wahl der Hardware für die Backup-Server:
Ich möchte mehrere private PCs auf diesen sichern. Ein typischer PC hat aktuell Daten in der Größenordnung von 200GB/400000Dateien, die gesichert werden sollen. Reichen als Backup-Server RaspberryPis mit einer entsprechend dimensionierten externen Festplatte aus? Oder gibt es eine Lösung die für den gleichen/einen günstigeren Preis besser geeignet ist? Oder gibt es einen guten Grund mehr zu investieren?
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8493
|
roteiro schrieb: Oder gibt es einen guten Grund mehr zu investieren?
Borgbackup muss die Dateien "zerstückeln", "hashen" und ggf. auch veschlüsseln. Das kostet Rechenpower. Wenn das (je nach Setup) nur auf dem Client läuft, wäre ein RPI 3 möglich. Ansonsten eher etwas mehr RAM und Rechenleistung. Eine ausführlichere 🇬🇧 Antwort gibt es hier. Ich mache ein tägliches Backup meiner privaten Daten (~800 GB) mit einem UP Squared mit 2 GB RAM und Intel(R) Celeron(R) Dualcore N3350 @ 1.10GHz als Client. Es ist übrigens besser für eine eigentlich neue Frage auch einen neuen Thread aufzumachen.
|
t_z_web
(Themenstarter)
Anmeldungsdatum: 6. Februar 2009
Beiträge: 74
|
Hallo zusammen, ich habe inzwischen die größten Probleme gelöst. Das erste Ziel-System ist nun größtenteils aufgesetzt. Einige kleinere Details muss ich aber noch konfigurieren. Das erste Backup läuft nun aber seit ca. einer Stunde. Zur Hardware:
Ich habe zwei Banana Pi M1 beschafft. Diese haben gegenüber den Raspberry Pi den Vorteil, dass sie einen Sata-Anschluss aufweisen. Ich habe die alte Variante M1 gewählt, da sie einen echten Sata-Anschluss aufweist, der nicht über USB angebunden ist und weniger Strom verbraucht. Die Performance des Systems ist zweitrangig, da die Backups eh online übertragen werden. Hier ist die Leitung auf ca. 5 (VDSL 25) bzw. 2,5 (Annex J) Mbit/s beschränkt. Lokal erreiche ich gerade eine mittlere Geschwindigkeit von 5 bis 6 MB/s - meine These, dass die DSL-Leitung der Flaschenhals sein dürfte stimmt also. Als Betriebssystem habe ich Armbian gewählt, wobei ich die Ubuntu-Paketquellen nutze. Ich habe das Betriebssystem auf die Festplatte übertragen - auf der Speicherkarte ist also nur noch /boot. Dadurch sollte die SD-Karte nicht so schnell kaputt gehen. Auf der Festplatte ist auch eine Swap-Partition. Bisher habe ich diese aber noch nicht wirklich benötigt. Die RAM-Disks (komprimierter RAM und ramlog) habe ich deaktiviert. Als Software habe ich BackupPC gewählt. Problematisch waren vor allem zwei Punkte:
War es nicht ohne Weiteres möglich das System auf einen Reverse-SSH-Tunnel umzustellen und außerhalb des Lokalen Netzwerkes zu backupen. Dies habe ich durch eine entsprechende Konfiguration von SSH gelöst. Wurden zunächst bei einem inkrementellen Backup zunächst die kompletten Daten übertragen. Um dies zu lösen musste ich die Komprimierung deaktivieren (CompressLevel = 0). Des Weiteren ist unter RsyncArgs (und am Besten auch unter RsyncRestoreArgs) ein Startwert für die Prüfsummenbildung zu definieren (z.B. --checksum-seed=32761). RsyncCsumCacheVerifyProb muss auf einem Wert kleiner als 1 stehen.
Ich werde diesen Thread nun als gelöst markieren, da mein Konzept lauffähig erscheint. Gerne kann ich weitere Details meiner Lösung erläutern.
|