Я создал dd
образ / dev/vda
используя следующую команду:
ssh root@1.2.3.4 "dd if = / dev / vda" | dd of = / home / backup / vda.img
и я не могу смонтировать его на свой локальный сервер Ubuntu, куда я его перенес.
Я получаю это в 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
Если я попытаюсь проверить это с помощью file
:
vda.img: данные
Есть идеи, что это может быть?
Используя kpartx, как предложил Свен, я получаю:
kpartx -l /home/backup/vda.img
петля удалена: / dev / loop0
Я перезагрузил систему и повторил команду:
kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: занятое устройство или ресурс
не может выполнить цикл: / dev / loop0
И в dmesg | хвост я получаю
[73.445903] device-mapper: uevent: версия 1.0.3
[73.446574] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) инициализировано: dm-devel@redhat.com
dd
маловероятно, что использование живого диска приведет к чему-либо полезному, это работает надежно только на несмонтированных (или, по крайней мере, на смонтированных ro) дисках.Ответы:
Скорее всего, вам нужно смонтировать разделы внутри файла образа. Это можно сделать с помощью
kpartx
.выведет список разделов внутри файла и
добавит их в
/dev/mapper/loopXpY
(гдеX
иY
меняется), откуда вы можете установить ихmount
.Смотрите
man kpartx
для получения дополнительной информации.источник
Мне удалось решить эту проблему следующим образом:
Я проверил размер раздела, который хотел скопировать, а затем создал локальный файл с таким размером на сервере резервного копирования и создал раздел внутри него, используя следующие команды:
Затем я использовал dd для копирования данных с сервера в резервный раздел.
Проверено все вокруг и все вроде нормально.
источник