Page 1 of 1

Récupération de fichier effacés sur pool raidz

Posted: 09 Nov 2014, 00:34
by nicobou
Bonjour des Deux-Sèvres à tous !

Et tout d'abord un grand merci à Christophe et à ses contributeurs pour ces formidables outils que sont photorec et testdisk.

J'ai un cas un peut tordu à résoudre : j'ai un pool zfs sur du raidz1 (5 disques sains) monté sur mon freebsd, tout ça tourne comme une horloge, contrairement à son propriétaire : j'y ai copié des photos (quelques Moctets de jpg)
et avant que le le backup et les snapshots aient fait leur office, j'ai déplacé les dossiers les contenant en en écrasant d'autres (quelques dizaines de Go de raw cr2 et de mov), j'ai immédiatement bloqué toute écriture sur ce pool, et bien sûr je cherche à récupérer ce que je peux.
Mon zpool est sain et monté, mais photorec n'y vois qu'une partition de 512b... je sèche...

Si quelqu'un à une idée ou une expérience dans ce domaine, ça pourrait m'aider

Merci à tous
--
Nicolas

Re: Récupération de fichier effacés sur pool raidz

Posted: 20 Nov 2014, 17:48
by nicobou
Bonjour à tous,
Je continue mes investigations, qui j'espère aboutirons à la résolution de mon problème, mais en tout cas m'apportent de toute façon une grande quantité de connaissances. J'ai pût constater que mon message a été lu et donc peut-être par des personnes voulant utiliser testdisk et/ou photorec sur leur pool zfs.
Si ça peux en aider certains, je partage ici mon avancée...

Je n'ai pas réussi utiliser photorec directement sur mon pool zfs, mais comme photorec peux travailler avec une image dd, je me suis lancé dans la création de celle-ci : j'ai créé un nouveau pool avec de nouveaux disques capable de reçevoir une (grosse) image de mon pool zfs (je l'appelle wdrec), ainsi je pourrai travailler à l'abris sans risquer d'intervenir ou d'écrire sur le pool sur lequel je souhaiter récupérer mes photos et vidéos (je l'appelle nibbler).

J'ai tout d'abord démonté le pool zfs incriminé (nibbler/nibblerfs) avec :
# zfs unmount -f nibbler/nibblerfs

Ensuite pour obtenir une image de "nibbler" sur "wdrec" j'utilise 'zfs send' vers 'dd'
# zfs send nibbler/nibblerfs | dd of=/wdrec/image.dd

Voila c'est partis pour la nuit, ce weekend j'essaierai de voir si photorec trouve quelque chose sur mon image.

N'hésitez pas à me contacter !!

PS:un truc pas cher : si on utilise une commande qui prend plusieurs heures à être exécuté, il est probable que la fermeture de votre terminal fasse "chuter" votre processus (mise en veille, extinction...) le truc malin c'est la commande "screen" qui permet d'ouvrir un shell qui ne ne fermera pas lorsque vous fermerez votre terminal, et qui se ré-ouvrira à votre reconnection ssh.

--
Nico

Re: Récupération de fichier effacés sur pool raidz

Posted: 05 Feb 2015, 18:32
by mrjiffy6
J'ai réussi à récupérer des fichiers effacés sur un pool zfs (mirroir) en utilisant la méthode suivante:

La commande zpool import dispose d'un flag caché -T permettant de revenir à un id de transaction (TGX) précis (merci à Volodymyr Kostyrko pour cette info!) et permet littéralement de revenir en arrière dans l'historique des modifications faites au pool sous certaines conditions:

- Ne pas avoir réécris sur le pool après avoir effacé les fichiers afin d'éviter que les secteurs utilisés par les fichiers effacés ne soient réutilisés par d'autres données.
- Patcher le système ZFS pour permettre à zpool import -T d'accepter un TGX bien précis. (raisons/détails ici)

Il suffit d'identifier le TGX susceptible de contenir toujours les fichiers avant qu'ils ne soient effacés (à partir de la date/heure de la transaction) via la commande zdb -ul <vdev> et de l'utiliser avec la commande zpool import.

J'ignore toutefois si cette méthode fonctionne aussi sur des pools d'autres types.

À NE PAS UTILISER AVEUGLÉMENT! Faites des sauvegardes, des tests et renseignez-vous bien avant de procéder! Ceci est une solution de dernier recours!

Nicolas

Re: Récupération de fichier effacés sur pool raidz

Posted: 15 Sep 2017, 15:02
by aletib
Salut et merci pour avoir laissé trace de ton périple! ;)

Pareil par ici mais... comment as-tu fait pour pour trouver le txg qui te convenait?

merci,
Alex