Wie verkleinere ich ein von ddrescue erstelltes Image oder kopiere es auf ein neues Image?

0

Ich habe Daten von einer 2-TB-Festplatte gerettet (und es stellte sich heraus, dass sie nicht fehlerhaft war - aber das ist eine andere Geschichte) und ich habe ein 2-TB-Image erhalten. dfWenn ich dieses Image unter Linux einbinde , kann ich sehen, dass in diesem Image 512 GB frei sind. Jetzt möchte ich diesen Platz zurückbekommen, dh entweder das Bild verkleinern, was etwas kompliziert zu sein scheint (wie mehrere Fragen und Antworten auf Superuser- und anderen Websites gezeigt haben) oder die Dateien in ein neues Bild einfügen.

Meine Frage ist: Was ist der einfachste Weg, um ein bereitstellbares Image zu erhalten, das die Daten enthält, aber nicht den freien Speicherplatz? Ich bevorzuge es, alle Daten in einer Bilddatei zu speichern.

Rainer
quelle

Antworten:

1

Sie müssen Löcher hinein stanzen, um ein dünnes Bild zu erstellen. Die einzige Möglichkeit besteht darin, die Datei zu kopieren.

cp --sparse=always fromfile tofile

Das braucht ein bisschen Speicherplatz.

Aber bevor Sie dies tun, MÜSSEN Sie den 'freien' Speicherplatz im Image auf Null setzen: Hängen Sie das Image ein und cat /dev/zero > /media/loopmount/hugefiledann syncund rm /media/loopmount/hugefilebevor Sie die Bereitstellung aufheben.

Eine andere Möglichkeit ist, es in eine qcow2Datei zu konvertieren , dies hat den Vorteil, dass die verwendeten Daten komprimiert werden können. Zum Mounten verwenden Sie den qemu-nbdBefehl, um ein 'Netzwerkblockiergerät' zu erstellen, das wie jedes andere Gerät gemountet werden kann. Wenn Sie Glück haben, benötigen Sie nur ein Terabyte freien Speicherplatz.

user3710044
quelle
Danke - das klingt vielversprechend. Ich denke, ich werde mit einem sparsamen qcow2 gehen, da das Bild viele Textdateien enthält, die recht gut komprimiert werden sollten. Ich fand rwmj.wordpress.com/2010/10/19/tip-making-a-disk-image-sparse und dies führte mich auch zu libguestfsund dem Tool, virt-sparsifydas sehr schön aussieht, da es auch die Konvertierung in qcows erledigen kann.
Rainer