Tentative de restauration d'un device sur une copie plus petite
13 réponses
Francois Lafont
Bonjour à tous,
Soit un device /dev/drbd0 qui est en vrac (c'est un device
provenant de drbd mais ce n'est pas mon propos ici, enfin je crois).
En principe, ce device correspond à une partition en ext4 que l'on
monte de manière classique.
Le file système est en vrac et impossible de monter le device car
on se prend un message du genre :
« mount: wrong fs type, bad option, bad superblock... »
bien sûr on tente bien de monter du ext4 et le device est bien
du ext4 à la base.
Bref, il faudrait réparer le file system mais on ne veut pas le
faire en direct et donc on s'arrange pour faire une copie via le
réseau de tout le device sur une autre machine et ensuite faire
des tentatives de récup sur la copie. Mais le souci, c'est que
le device est assez gros (3 To environ) et la copie est super
longue.
Voici ma question : est-ce qu'il n'y a pas moyen de faire une
copie plus petite du device et de faire des essais sur cette copie
plus petite (par exemple ne copier que les N premiers octets
du device) ? Bref, pouvoir se créer une copie du device d'origine
afin de faire des tests qui restent probants mais sur une copie de
taille plus petite que le device d'origne. Est-ce possible ?
Merci d'avance pour votre aide.
PS : on a bien sûr des sauvegardes, mais ça nous arrangerais bien
de pouvoir récupérer le FS pour ne pas perdre un delta.
Le Thu, 27 Feb 2014 01:22:46 +0100, Francois Lafont a écrit:
Y a-t-il moyen de restaurer des trucs de lost+found ? Pourquoi est-ce que la commande "file" me dit que le fichier est du ext2 alors que je ne peux pas le monter en tant que fichier ext2 mais en tant que ext4 ?
La compatibilité ext4/ext2 n'est pas garantie... La structure du FS (noms des fichiers et dossiers) a été perdue ce qui arrive le plus souvent en cas de gros crash. Tu peux récupérer éventuellement les fichiers si tu sais à quoi ils correspondent, mais tout espoir de recoller les fichiers à leur nom est perdu, l'arborescence est toujours ce qu'on perd en premier.
-- Question: How does a large software project get to be one year late? Answer: One day at a time! Fred Brooks
Le Thu, 27 Feb 2014 01:22:46 +0100, Francois Lafont a écrit:
Y a-t-il moyen de restaurer des trucs de lost+found ? Pourquoi est-ce
que la commande "file" me dit que le fichier est du ext2 alors que je ne
peux pas le monter en tant que fichier ext2 mais en tant que ext4 ?
La compatibilité ext4/ext2 n'est pas garantie... La structure du FS (noms
des fichiers et dossiers) a été perdue ce qui arrive le plus souvent en
cas de gros crash. Tu peux récupérer éventuellement les fichiers si tu
sais à quoi ils correspondent, mais tout espoir de recoller les fichiers
à leur nom est perdu, l'arborescence est toujours ce qu'on perd en
premier.
--
Question: How does a large software project get to be one year late?
Answer: One day at a time!
Fred Brooks
Le Thu, 27 Feb 2014 01:22:46 +0100, Francois Lafont a écrit:
Y a-t-il moyen de restaurer des trucs de lost+found ? Pourquoi est-ce que la commande "file" me dit que le fichier est du ext2 alors que je ne peux pas le monter en tant que fichier ext2 mais en tant que ext4 ?
La compatibilité ext4/ext2 n'est pas garantie... La structure du FS (noms des fichiers et dossiers) a été perdue ce qui arrive le plus souvent en cas de gros crash. Tu peux récupérer éventuellement les fichiers si tu sais à quoi ils correspondent, mais tout espoir de recoller les fichiers à leur nom est perdu, l'arborescence est toujours ce qu'on perd en premier.
-- Question: How does a large software project get to be one year late? Answer: One day at a time! Fred Brooks
Lucas Levrel
Le 25 février 2014, Francois Lafont a écrit :
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux quand je formate un disque : table des partitions, voire copie du MBR, sortie de mkfs sur chaque partition...
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
Sinon, si le système a été formaté avec les réglages par défaut, tu peux lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création (dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Si je veux tester un recovery du superblock sur un device de test, comment faire pour péter le superblock avec dd par exemple ? Où se situe-t-il dans le device ?
Si tu connais la taille des blocs de ton disque, sachant le numéro... Mais pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº du superbloc à utiliser.
-- LL Eν οιδα οτι ουδεν οιδα (Σωκρατης)
Le 25 février 2014, Francois Lafont a écrit :
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de
secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux
quand je formate un disque : table des partitions, voire copie du MBR,
sortie de mkfs sur chaque partition...
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
Sinon, si le système a été formaté avec les réglages par défaut, tu peux
lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création
(dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Si je veux tester un recovery du superblock sur un device de test, comment
faire pour péter le superblock avec dd par exemple ? Où se situe-t-il dans
le device ?
Si tu connais la taille des blocs de ton disque, sachant le numéro... Mais
pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº du
superbloc à utiliser.
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux quand je formate un disque : table des partitions, voire copie du MBR, sortie de mkfs sur chaque partition...
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
Sinon, si le système a été formaté avec les réglages par défaut, tu peux lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création (dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Si je veux tester un recovery du superblock sur un device de test, comment faire pour péter le superblock avec dd par exemple ? Où se situe-t-il dans le device ?
Si tu connais la taille des blocs de ton disque, sachant le numéro... Mais pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº du superbloc à utiliser.
-- LL Eν οιδα οτι ουδεν οιδα (Σωκρατης)
Francois Lafont
Bonjour,
Le 27/02/2014 10:53, Lucas Levrel a écrit :
Le 25 février 2014, Francois Lafont a écrit :
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux quand je formate un disque : table des partitions, voire copie du MBR, sortie de mkfs sur chaque partition...
Je vois. Effectivement maintenant, en y réfléchissant a posteriori... ;-)
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
J'ai :
dumpe2fs save.dd | grep -i superblock dumpe2fs 1.42.5 (29-Jul-2012) dumpe2fs: Bad magic number in super-block while trying to open save.dd Couldn't find valid filesystem superblock.
Même chose sur le device d'orgine.
Sinon, si le système a été formaté avec les réglages par défaut, tu peux lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création (dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Oui, j'ai tenté le coup avec l'option -n et j'ai bien obtenu les numéros des superblocs potentiels.
Si tu connais la taille des blocs de ton disque
J'ai supposé que c'était 4096 (vu qu'un dumpe2fs ne donne rien).
, sachant le numéro... Mais pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº du superbloc à utiliser.
Oui, en effet. J'ai tenté un mount en ext[234] avec tous les numéros de superblocs (option « sp=XXXX » de mount) que j'ai obtenus avec le "mkfs.ext4" mais rien à faire, j'ai toujours « wrong fs type, bad option, bad superblock on /dev/loop0 ... ».
Je crois bien que les carottes sont cuites. Tant pis, ce n'es pas grave. Merci de ton aide Lucas.
-- François Lafont
Bonjour,
Le 27/02/2014 10:53, Lucas Levrel a écrit :
Le 25 février 2014, Francois Lafont a écrit :
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de
secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux
quand je formate un disque : table des partitions, voire copie du MBR,
sortie de mkfs sur chaque partition...
Je vois. Effectivement maintenant, en y réfléchissant a posteriori... ;-)
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
J'ai :
dumpe2fs save.dd | grep -i superblock
dumpe2fs 1.42.5 (29-Jul-2012)
dumpe2fs: Bad magic number in super-block while trying to open save.dd
Couldn't find valid filesystem superblock.
Même chose sur le device d'orgine.
Sinon, si le système a été formaté avec les réglages par défaut, tu peux
lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création
(dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Oui, j'ai tenté le coup avec l'option -n et j'ai bien obtenu
les numéros des superblocs potentiels.
Si tu connais la taille des blocs de ton disque
J'ai supposé que c'était 4096 (vu qu'un dumpe2fs ne donne rien).
, sachant le numéro...
Mais pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº
du superbloc à utiliser.
Oui, en effet. J'ai tenté un mount en ext[234] avec tous les numéros
de superblocs (option « sp=XXXX » de mount) que j'ai obtenus avec le
"mkfs.ext4" mais rien à faire, j'ai toujours « wrong fs type, bad
option, bad superblock on /dev/loop0 ... ».
Je crois bien que les carottes sont cuites. Tant pis, ce n'es pas
grave. Merci de ton aide Lucas.
(As-tu gardé la sortie de mke2fs pour savoir où sont les superblocs de secours ?)
Heu, non
C'est l'effet « première fois ». Maintenant je garde tout ce que je peux quand je formate un disque : table des partitions, voire copie du MBR, sortie de mkfs sur chaque partition...
Je vois. Effectivement maintenant, en y réfléchissant a posteriori... ;-)
mais je crois qu'on peut les obtenir avec :
dumpe2fs /dev/drbd0 | grep -i superblock
Est-ce que dumpe2fs ne lit pas ces infos dans le superbloc principal ?
J'ai :
dumpe2fs save.dd | grep -i superblock dumpe2fs 1.42.5 (29-Jul-2012) dumpe2fs: Bad magic number in super-block while trying to open save.dd Couldn't find valid filesystem superblock.
Même chose sur le device d'orgine.
Sinon, si le système a été formaté avec les réglages par défaut, tu peux lancer mkfs.ext4 avec l'option kivabien pour qu'il simule la création (dry-run) et te donne l'emplacement des superblocs qu'il créerait.
Oui, j'ai tenté le coup avec l'option -n et j'ai bien obtenu les numéros des superblocs potentiels.
Si tu connais la taille des blocs de ton disque
J'ai supposé que c'était 4096 (vu qu'un dumpe2fs ne donne rien).
, sachant le numéro... Mais pas besoin : e2fsck et/ou mount ont une option pour spécifier le nº du superbloc à utiliser.
Oui, en effet. J'ai tenté un mount en ext[234] avec tous les numéros de superblocs (option « sp=XXXX » de mount) que j'ai obtenus avec le "mkfs.ext4" mais rien à faire, j'ai toujours « wrong fs type, bad option, bad superblock on /dev/loop0 ... ».
Je crois bien que les carottes sont cuites. Tant pis, ce n'es pas grave. Merci de ton aide Lucas.