Comment monter l'image DD de l'océan numérique?


8

J'ai créé une ddimage de / en dev/vdautilisant la commande suivante:

ssh root@1.2.3.4 "dd if = / dev / vda" | jj de = / home / backup / vda.img

et je ne peux pas le monter sur mon serveur Ubuntu local où je l'ai transféré.

Je reçois ceci dans 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 j'essaye de le vérifier avec filej'obtiens:

vda.img: données

Avez-vous des idées de ce que ça pourrait être?

En utilisant kpartx comme Sven l'a suggéré, j'obtiens:

kpartx -l /home/backup/vda.img
boucle supprimée: / dev / loop0

J'ai redémarré le système et essayé à nouveau la commande:

kpartx -lv /home/backup/vda.img
ioctl: LOOP_CLR_FD: le périphérique ou la ressource occupée
ne peut pas supprimer la boucle: / dev / loop0

Et à dmesg | queue je reçois

[73.445903] mappeur de périphériques: uevent: version 1.0.3
[73.446574] mappeur de périphériques: ioctl: 4.22.0-ioctl (2011-10-19) initialisé: dm-devel@redhat.com


C'est une chose amusante si nous apprenons à utiliser hexedit ... la vérification des octets réels d'un disque est très utile dans des situations similaires.
peterh

Comment avez-vous créé cette image exactement?
Michael Hampton

@MichaelHampton ajouter la commande dans la question
Debrian

@Debrian: il ddest très peu probable qu'un disque en direct aboutisse à quelque chose d'utile, cela ne fonctionne que de manière fiable sur des disques non montés (ou à tout le moins montés sur ro).
Sven

@Sven Comment proposeriez-vous alors de faire une telle image sur une gouttelette d'océan numérique?
Debrian

Réponses:


6

Vous devrez probablement monter des partitions à l'intérieur du fichier image. Cela peut être fait avec kpartx.

kpartx -l /path/to/image

listera les partitions à l'intérieur du fichier et

kpartx -a /path/to/image

les ajoutera à /dev/mapper/loopXpY(où Xet Yvarie), d'où vous pouvez les monter mount.

Voir man kpartxpour plus d'informations.


J'obtiens la sortie suivante lorsque j'essaie de les répertorier: kpartx -l /home/backup/vda.img loop supprimé: / dev / loop0
Debrian

@Debrian: Modifiez n'importe quelle sortie dans votre question, ne la postez pas comme commentaire.
Sven

1

J'ai réussi à résoudre le problème de la manière suivante:

J'ai vérifié la taille de la partition que je souhaitais copier, puis j'ai créé un fichier local avec cette taille sur le serveur de sauvegarde et créé la partition à l'intérieur en utilisant les commandes suivantes:

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

Ensuite, j'ai utilisé dd pour copier les données du serveur vers la partition de sauvegarde.

Vérifié tout autour et tout semble bien.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.