DD-Image kleiner als kopiertes Laufwerk

495
Scu11y

Ich habe eine Sicherungskopie der OS-Festplatte meines Servers über einen Live-USB-Stick erstellt. Verwenden Sie den Befehl:

dd if=/dev/sda bs=512 count=(30 gb worth of sectors) conv=noerror,sync status=progress | gzip -c > /path/to/removable/media 

Der Befehl wurde ohne Fehler ausgeführt und das Bild wurde erstellt. Das img.gz beträgt 16 GB

(Das Betriebssystem des Servers nimmt ca. 15 GB Speicherplatz in Anspruch.) Wenn ich jedoch die .gz-Datei in winrar öffne, wird mir mitgeteilt, dass der Inhalt nur 2,21 GB groß ist und das Archiv noch 16 GB groß ist.

Bedeutet dies, dass beim Sicherungsvorgang ein Fehler aufgetreten ist, oder ist es normal, dass das Archiv größer ist als das darin enthaltene Image?

Vielen Dank

1
Dies ist ein Fehler in Winrar. Ipor Sircer vor 5 Jahren 0
Könnte ich also davon ausgehen, dass ich diese Sicherung im Falle eines Festplattenausfalls verwenden kann? Scu11y vor 5 Jahren 0
Extrahieren Sie es und überprüfen Sie es mit rsync. Ipor Sircer vor 5 Jahren 0
Das einzige Backup, das sicher verwendet werden kann, verwendet ein Backup, von dem Sie erfolgreich eine Wiederherstellung durchgeführt haben. Also probieren Sie das aus. Stellen Sie irgendwo (eine VM?) Wieder her und prüfen Sie, ob es funktioniert. Nebenbemerkung, ich würde keine "Anzahl" angeben, wenn ich eine volle Festplatte wollte. Wie groß ist das Laufwerk Ihres Servers? Kein Platz, sondern volle Größe. Bob vor 5 Jahren 0
@Bob Das Laufwerk hat eine Kapazität von 500 GB und ich gab meine letzte freie Festplatte an einen Freund, sodass ich keine Datei zum Speichern der Datei für ein 500-GB-Image hatte. Da das Betriebssystem nur ~ 15 GB Speicherplatz hat, habe ich eine Anzahl angegeben, die 30 GB Sektoren entspricht, um sicherzugehen Scu11y vor 5 Jahren 0
@IporSircer okay, ich extrahiere das Bild mit winrar. Ich bin mit rsync nicht vertraut, habe aber einige Samba-Freigaben auf dem Server eingerichtet. Was muss ich tun, um es mit rsync zu überprüfen? Scu11y vor 5 Jahren 0
Ja, so funktionieren Dateisysteme nicht: Es gibt keine Garantie dafür, dass Ihre Daten in den ersten 30 GB des Laufwerks vorhanden sind. Ich werde eine Antwort mit Alternativen aufschreiben, wenn ich in Kürze zu einem PC zurückkomme. Bob vor 5 Jahren 0
@ Bob Danke für deine Hilfe bis jetzt. Ich konvertiere derzeit die RAW-Bilddatei in eine .vdi-Datei. Wenn es nicht funktioniert, kaufe ich ein Laufwerk, das den vollwertigen DD-Speicherplatz aufnehmen kann. Ich poste meine Ergebnisse mit VirtualBox. Ich habe die Möglichkeit der Festplattenfragmentierung völlig vergessen. Ich denke, ich sollte diese Dinge nicht tun, wenn ich müde bin. Scu11y vor 5 Jahren 0

1 Antwort auf die Frage

3
Bob

Backups

Zunächst einige Ratschläge zu Sicherungen im Allgemeinen: Sie können sich erst dann auf eine Sicherung verlassen, wenn Sie getestet und überprüft haben, dass der Wiederherstellungsprozess funktioniert. Es gibt einige Methoden zum Testen von Sicherungen:

  • Eine vollständige Wiederherstellung auf physischer Hardware, wenn Sie die Hardware zur Hand haben und es sich um eine wichtige Sicherung handelt.
  • Eine vollständige Wiederherstellung einer virtuellen Maschine, wenn Sie keine Hardware benötigen.
  • Extrahieren von Daten und Überprüfen der Richtigkeit und Vollständigkeit, wenn Sie kein startfähiges Betriebssystem wiederherstellen möchten.

Generell würde ich die Überprüfung der unkomprimierten Größe mit WinZip nicht für besonders nützlich halten. Die Ergebnisse, die Sie erhalten jedoch konnten zeigen, dass Sie eine falsche geliefert haben count, die uns bringt ...


Probleme mit Ihrem ddBefehl

count=(30 gb worth of sectors) 

Mein erster Gedanke dabei ist, dass Sie niemals countein Laufwerk angeben sollten, wenn Sie ein Laufwerk sichern. Wenn Sie eine bestimmte Partition sichern möchten, sollten Sie ein Partitionsblockgerät verwenden ( /dev/sdXNwobei Neine Zahl ist). Ansonsten sollten Sie einfach dddie gesamte Festplatte mitnehmen lassen ; Durch die Angabe eines countRisikos (fast eine Garantie), dass Sie Daten verwerfen und möglicherweise das Dateisystem beschädigen.

In einem Kommentar haben Sie die Begründung angegeben:

Das Laufwerk hat eine Kapazität von 500 GB und ich gab meine letzte freie Festplatte an einen Freund, sodass ich keine Datei zum Speichern der Datei für ein 500-GB-Image hatte. Da das Betriebssystem nur ~ 15 GB Speicherplatz hat, habe ich eine Anzahl angegeben, die 30 GB Sektoren entspricht, um sicherzugehen

Leider funktionieren Dateisysteme nicht so. Die meisten Dateisysteme garantieren nicht, dass alle Daten am Anfang des Laufwerks gespeichert werden.


Alternativen

Es gibt einige andere Möglichkeiten, um das zu tun, was Sie möchten.

Nur Dateien / Daten archivieren

Wenn Sie nur eine Datensicherung wünschen und nicht zu sehr daran interessiert sind, ein startfähiges Betriebssystem wiederherstellen zu können, können Sie Dateien nur mit dem tarBefehl sichern . Dies bedeutet, dass Sie immer noch Ihre Daten haben, aber Sie müssen ein Betriebssystem von Grund auf neu installieren und die Daten (und alle installierten Anwendungen) manuell wiederherstellen.

  1. Kopieren Sie Dateien in ein Archiv mit tarverrohrt zu gzip.

Komprimierte Backups mit null freiem Speicherplatz

Das ist mehr oder weniger das, was Sie bereits versucht haben. Sie haben die richtige Idee mit gzip: hoffentlich komprimiert sie ungenutzten Speicherplatz ( sehr komprimierbar) zu nichts. Sie müssen nur das countvon Ihrem Befehl löschen.

Leider wird dies nicht unbedingt funktionieren, da gelöschte Dateien möglicherweise noch auf der Festplatte vorhanden sind und nicht als leer angezeigt werden gzip. Daher sollten Sie zunächst nicht verwendeten Speicherplatz löschen . Ihr Sicherungsprozess wird zu:

  1. Löschen Sie nicht genutzten Speicherplatz mit zerofreeoder ähnlichem
  2. Kopieren Sie das Laufwerk in ein komprimiertes Image mit dd(ohne count!)gzip

Verwenden Sie ein Werkzeug, das nur die verwendeten Blöcke sichert, z partclone

Es gibt einige Tools partclone, die intelligent genug sind, um verwendete Blöcke zu erkennen und nur zu sichern. Das Arch-Wiki enthält einige Beispiele zur Verwendung mit gzipund das Handbuch enthält einige Beispiele unten. Dies ersetzt effektiv ddin Ihrer Pipeline.

Sie müssen dasselbe Werkzeug erneut verwenden, um Daten wiederherzustellen.

Vielen Dank. Ich habe diesen Aspekt von Dateisystemen völlig übersehen. Ich habe bestätigt, dass das Image fehlerhaft ist, da beim Laden in Virtualbox eine Aufforderung zur Rettung von Grub angezeigt wird. Wenn Sie versuchen, das / boot-Verzeichnis zu laden, wird der Fehler "Lesen / Schreiben außerhalb von HD0" angezeigt. Ich freue mich über Ihre gut geschriebene Antwort auf meine Frage und ich mache das Backup morgen nach einer guten Nacht wieder. Scu11y vor 5 Jahren 0