¿Cómo montar la imagen dd del océano digital?

8

He creado una ddimagen de / dev/vdausando el siguiente comando:

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

y no puedo montarlo en mi servidor Ubuntu local donde lo transfirí.

Entiendo esto en 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

Si trato de verificarlo fileobtengo:

vda.img: datos

¿Alguna idea de que podría ser?

Usando kpartx como Sven sugirió que obtengo:

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

Reinicié el sistema e intenté el comando nuevamente:

kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: el dispositivo o recurso ocupado
no puede eliminarse del bucle: / dev / loop0

Y en dmesg | cola consigo

[73.445903] dispositivo-mapper: uevent: versión 1.0.3
[73.446574] dispositivo-mapper: ioctl: 4.22.0-ioctl (2011-10-19) inicializado: [email protected]

Debrian
fuente
Es algo divertido si aprendemos a usar hexedit ... verificar los bytes reales de un disco es muy útil en situaciones similares.
peterh - Restablecer Monica
Exactamente, ¿cómo creaste esta imagen?
Michael Hampton
@MichaelHampton agrega el comando en la pregunta
Debrian
@Debrian: ddes muy poco probable que un disco en vivo resulte en algo útil, esto solo funciona de manera confiable en discos desmontados (o al menos montados en ro).
Sven
@Sven ¿Cómo sugerirías hacer una imagen así en una gota de Océano Digital entonces?
Debrian

Respuestas:

6

Es probable que necesite montar particiones dentro del archivo de imagen. Esto se puede hacer con kpartx.

kpartx -l /path/to/image

enumerará particiones dentro del archivo y

kpartx -a /path/to/image

los agregará a /dev/mapper/loopXpY(donde Xy Yvaría), desde donde puede montarlos mount.

Ver man kpartxpara más información.

Sven
fuente
Obtengo el siguiente resultado cuando intento enumerarlos: kpartx -l /home/backup/vda.img loop eliminado: / dev /
loop0
@Debrian: Edite cualquier resultado en su pregunta, no lo publique como comentario.
Sven
1

He logrado solucionar el problema de la siguiente manera:

Verifiqué el tamaño de la partición que deseaba copiar y luego creé un archivo local con ese tamaño en el servidor de respaldo y creé la partición dentro de él usando los siguientes comandos:

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

Luego usé dd para copiar los datos del servidor a la partición de respaldo.

Revisé todo y todo parece estar bien.

Debrian
fuente