Bagaimana cara me-mount gambar dd laut digital?

8

Saya telah membuat ddgambar / dev/vdamenggunakan perintah berikut:

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

dan saya tidak bisa memasangnya di server Ubuntu lokal tempat saya mentransfernya.

Saya mengerti 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

Jika saya mencoba untuk memeriksanya dengan filesaya mendapatkan:

vda.img: data

Tahu apa itu?

Menggunakan kpartx seperti yang disarankan Sven saya dapatkan:

kpartx -l /home/backup/vda.img
loop dihapus: / dev / loop0

Saya telah mem-boot ulang sistem dan mencoba perintah itu lagi:

kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: Perangkat atau sumber daya sibuk
tidak dapat menghapus loop: / dev / loop0

Dan di dmesg | ekor saya dapatkan

[73.445903] device-mapper: uevent: versi 1.0.3
[73.446574] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) diinisialisasi: [email protected]

Debrian
sumber
Adalah hal yang lucu jika kita belajar menggunakan hexedit ... memeriksa byte sebenarnya dari sebuah disk sangat berguna adalah situasi yang sama.
peterh
Bagaimana tepatnya Anda membuat gambar ini?
Michael Hampton
@MichaelHampton menambahkan perintah dalam pertanyaan
Debrian
@ Debrian: dding live disk sangat tidak mungkin menghasilkan sesuatu yang berguna, ini hanya bisa diandalkan pada unmount (atau setidaknya ro-mount) disk.
Sven
@Ven Bagaimana Anda menyarankan untuk melakukan gambar seperti itu pada tetesan Samudra Digital?
Debrian

Jawaban:

6

Anda mungkin perlu me-mount partisi di dalam file gambar. Ini bisa dilakukan dengan kpartx.

kpartx -l /path/to/image

akan mencantumkan partisi di dalam file dan

kpartx -a /path/to/image

akan menambahkannya ke /dev/mapper/loopXpY(di mana Xdan Ybervariasi), dari mana Anda dapat memasangnya mount.

Lihat man kpartxuntuk info lebih lanjut.

Sven
sumber
Saya mendapatkan output sebagai berikut ketika saya mencoba untuk daftar mereka: kpartx l /home/backup/vda.img lingkaran dihapus: / dev / loop0
Debrian
@Debrian: Edit output apa pun ke dalam pertanyaan Anda, jangan mempostingnya sebagai komentar.
Sven
1

Saya telah berhasil memperbaiki masalah dengan cara berikut:

Saya memeriksa ukuran partisi yang ingin saya salin dan kemudian saya membuat file lokal dengan ukuran itu di server cadangan dan membuat partisi di dalamnya menggunakan perintah berikut:

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

Kemudian saya menggunakan dd untuk menyalin data dari server ke partisi cadangan.

Memeriksa segala sesuatu di sekitar dan semuanya tampak baik-baik saja.

Debrian
sumber