Como montar imagem dd do oceano digital?

8

Eu criei uma ddimagem de / dev/vdausando o seguinte comando:

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

e não consigo montá-lo no meu servidor Ubuntu local para onde o transferi.

Eu entendo isso em 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

Se eu tentar dar uma olhada com fileeu recebo:

vda.img: data

Alguma idéia do que poderia ser?

Usando o kpartx como Sven sugeriu que eu obtivesse:

kpartx -l /home/backup/vda.img
loop excluído: / dev / loop0

Reiniciei o sistema e tentei o comando novamente:

kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: Dispositivo ou recurso ocupado
não pode deletar: / dev / loop0

E em dmesg | cauda eu recebo

[73.445903] mapeador de dispositivo: uevent: versão 1.0.3
[73.446574] mapeador de dispositivo: ioctl: 4.22.0-ioctl (19/10/2011) inicializado: [email protected]

Debrian
fonte
É engraçado se aprendermos a usar o hexedit ... verificar os bytes reais de um disco é muito útil em situações semelhantes.
peterh - Restabelece Monica
Exatamente como você criou esta imagem?
Michael Hampton
@MichaelHampton adiciona o comando na pergunta #
Debrian 20/03
@Debrian: ddé muito improvável que um disco ativo resulte em algo útil, isso só funciona de maneira confiável em discos desmontados (ou no mínimo montados em ro).
Sven
@ Sven Como você sugeriria fazer uma imagem dessas em uma gota do Digital Ocean, então?
Debrian

Respostas:

6

Você provavelmente precisará montar partições dentro do arquivo de imagem. Isso pode ser feito com kpartx.

kpartx -l /path/to/image

listará partições dentro do arquivo e

kpartx -a /path/to/image

irá adicioná-los a /dev/mapper/loopXpY(onde Xe Yvaria), de onde você pode montá-los mount.

Veja man kpartxpara mais informações.

Sven
fonte
Eu recebo a seguinte saída quando eu tento enumerá-los: kpartx -l /home/backup/vda.img circuito apagado: / dev / loop0
Debrian
@Debrian: Edite qualquer saída em sua pergunta, não a publique como comentário.
Sven
1

Consegui corrigir o problema da seguinte maneira:

Verifiquei o tamanho da partição que desejava copiar e, em seguida, criei um arquivo local com esse tamanho no servidor de backup e criei a partição dentro dela usando os seguintes comandos:

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

Então eu usei o dd para copiar os dados do servidor para a partição de backup.

Verificado tudo ao redor e tudo parece bem.

Debrian
fonte