Wie montiere ich ein dd-Bild des digitalen Ozeans?

8

Ich habe ein ddBild von / dev/vdamit dem folgenden Befehl erstellt:

ssh [email protected] "dd if = / dev / vda" | dd von = / home / backup / vda.img

und ich kann es nicht auf meinem lokalen Ubuntu-Server mounten, auf den ich es übertragen habe.

Ich verstehe das in dmesg | tail:

[763158.222159] EXT4-fs error (device loop0): ext4_map_blocks:504: inode #8:block 10541546: comm mount: lblock 23018 mapped to illegal pblock (length 1)
[763158.222299] jbd2_journal_bmap: journal block not found at offset 23018 on loop0-8
[763158.222367] JBD2: bad block at offset 23018
[763158.222581] JBD2: recovery failed
[763158.222588] EXT4-fs (loop0): error loading journal

Wenn ich versuche, es mit zu überprüfen, filebekomme ich:

vda.img: Daten

Irgendeine Idee, was es sein könnte?

Wenn ich kpartx verwende, wie Sven vorgeschlagen hat, bekomme ich:

kpartx -l /home/backup/vda.img
Schleife gelöscht: / dev / loop0

Ich habe das System neu gestartet und den Befehl erneut versucht:

kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: Gerät oder Ressource belegt
kann Schleife nicht löschen : / dev / loop0

Und in dmesg | Schwanz bekomme ich

[73.445903] Geräte-Mapper: Ereignis: Version 1.0.3
[73.446574] Geräte-Mapper: ioctl: 4.22.0-ioctl (19.10.2011) initialisiert: [email protected]

Debrian
quelle
Es ist eine lustige Sache, wenn wir lernen, Hexedit zu verwenden ... das Überprüfen der tatsächlichen Bytes einer Festplatte ist in ähnlichen Situationen sehr nützlich.
Peter - Wiedereinsetzung Monica
Wie genau haben Sie dieses Bild erstellt?
Michael Hampton
@ MichaelHampton fügen Sie den Befehl in der Frage
Debrian
@Debrian: Es ddist sehr unwahrscheinlich, dass eine Live-Festplatte zu etwas Nützlichem führt. Dies funktioniert nur auf nicht gemounteten (oder zumindest ro-gemounteten) Festplatten zuverlässig.
Sven
@Sven Wie würden Sie dann vorschlagen, ein solches Bild auf einem Digital Ocean-Tröpfchen zu machen?
Debrian

Antworten:

6

Sie müssen wahrscheinlich Partitionen in die Image-Datei einbinden. Dies kann mit gemacht werden kpartx.

kpartx -l /path/to/image

listet Partitionen in der Datei auf und

kpartx -a /path/to/image

fügt sie hinzu /dev/mapper/loopXpY(wo Xund Yvariiert), von wo aus Sie sie mounten können mount.

Siehe man kpartxfür weitere Informationen.

Sven
quelle
Ich erhalte die folgende Ausgabe, wenn ich versuche, sie aufzulisten: kpartx -l /home/backup/vda.img Schleife gelöscht: / dev / loop0
Debrian
@Debrian: Bearbeiten Sie eine Ausgabe in Ihrer Frage, posten Sie sie nicht als Kommentar.
Sven
1

Ich habe es geschafft, das Problem folgendermaßen zu beheben:

Ich habe die Größe der Partition überprüft, die ich kopieren wollte, und dann eine lokale Datei mit dieser Größe auf dem Sicherungsserver erstellt und die darin enthaltene Partition mit den folgenden Befehlen erstellt:

fallocate -l 85899345920 vda.img
fdisk -H 16 vda.img
kpartx -a vda.img
mount / dev / mapper / loop1p1 / mnt / test / -t ext4

Dann habe ich dd verwendet, um die Daten vom Server auf die Sicherungspartition zu kopieren.

Ich habe alles überprüft und alles scheint in Ordnung zu sein.

Debrian
quelle