L'administrateur précédent d'un serveur qui est maintenant sous ma supervision a fait une erreur. Il a accidentellement créé un volume LVM (pas plus que pvcreate, je pense, mais je ne suis pas sûr) sur un disque qui contenait en fait une partition Ext4 avec des données. Comment puis-je récupérer des données à partir d'une erreur comme celle-ci ? Je suis prêt à lire la documentation ext4 et à déployer la mienne, mais peut-être n'ai-je pas besoin de le faire ? Quelques outils que j'ai essayés étaient incapables de trouver un système de fichiers Ext4 sur celui-ci, alors je suppose que j'ai besoin de quelque chose de plus sérieux.
Réponses
Trop de publicités?Si vous exécutez mkfs.ext4 -n /the/partition
il imprimera ce à quoi ressemblerait un disque formaté EXT4 sur ce système.
# mkfs.ext4 -n /dev/dm-3
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Il est intéressant de noter qu'il vous indiquera où se trouvent les emplacements des superblocs.
En utilisant ces informations, essayez de monter le lecteur en utilisant un superbloc alternatif
mkdir /tmp/mntpnt
mount -o ro,sb=163840 /dev/dm-3 /tmp/mntpnt
A condition que seuls les en-têtes de la partition aient été détruits, ceci mai travail.
Si cela ne fonctionne pas cependant, vous pouvez essayer de réparer le système de fichiers en utilisant fsck.ext4
en spécifiant l'adresse du superbloc. Sauvegardez les données avec dd ou autre avant de faire cela. .
fsck.ext4 -b 163840 /dev/dm-3
Este mai vous finirez par écraser le superbloc défectueux avec l'un des bons blocs connus, ce qui pourrait suffire pour que le disque entier soit remonté. Mais là encore, vous mai perdre des inodes clés (comme l'inode de votre système de fichiers racine). Le kilométrage peut varier.
Je donnerais le Démonstration de l'explorateur UFS un essai pour voir ce qu'il peut détecter... C'est mon utilitaire de prédilection pour la récupération de systèmes de fichiers. Une fois, j'ai eu une partition XFS avec 4 millions de fichiers accidentellement supprimés et j'ai utilisé cet utilitaire pour récupérer les données.
Mais en dehors de cela, c'est une expérience d'apprentissage et une chance de tester votre routine de sauvegarde. Désolé pour la perte.
La première étape de toute opération de récupération consiste à faire une copie des données et à effectuer la récupération sur cette copie. Une fois cette étape franchie, vous pouvez tenter de récupérer les données.
Selon ce que l'administrateur a fait exactement, le dommage le plus probable est que la table de partition a été corrompue, le superbloc primaire du volume a été corrompu, ou les deux. Vous pouvez reconstruire la table de partition en utilisant fdisk
: créez simplement une nouvelle table de partition avec la même configuration que l'originale. Assurez-vous de bien choisir le type (MBR ou GPT). e2fsck -b
vous permettra d'effectuer une réparation du système de fichiers en utilisant l'une des copies secondaires du superbloc, ou dans le cas peu probable où elles ont toutes été corrompues, mke2fs -S
recréera la structure des métadonnées sans toucher aux données.