Я использую extundelete для восстановления около 9000 файлов, которые были удалены с тома AWS EBS случайно из-за программной ошибки.
В конце отчета говорится
2864 recoverable inodes still lost.
Может ли кто-нибудь объяснить, что это означает, и как я могу восстановить неустранимое с помощью extundelete
Полный вывод оболочки
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 240 groups loaded.
Loading journal descriptors ... 30077 descriptors loaded.
Searching for recoverable inodes in directory /srv/www/mysite.com/photo-gallery ...
9000 recoverable inodes found.
Looking through the directory structure for deleted files ...
Unable to restore inode 330 (srv/www/mysite.com/photo-gallery/group56/myimage7.jpg): Space has been reallocated.
Unable to restore inode 1179649 (srv/www/mysite.com/photo-gallery/group189/myimage5.jpg): Space has been reallocated.
2864 recoverable inodes still lost.
От автора extundelete:
Я предполагаю, что он не находит способ связать inodes с именем файла, и в этом случае
--restore-all
метод - лучший способ вернуть файлы.
https://sourceforge.net/p/extundelete/mailman/message/30159985/
Основываясь на вашем вопросе, я предполагаю, что вы запускали extundelete с --restore directory /srv/www/mysite.com/photo-gallery
Если это так, то замените все это на --restore-all
, например
sudo extundelete /dev/sda1 --restore-all
Хотя по моему опыту вывод обманчив, потому что файлы (inodes), которые все еще «потеряны», предназначены для всего раздела, а не только для указанного вами каталога, что означает, что большая часть того, что он может восстановить, уже восстановлена. Но не помешает попробовать --restore-all
поскольку он может найти фрагменты файлов, путь к которым ему неизвестен.