Назад | Перейти на главную страницу

`fsck` выполняет некоторую работу, затем прерывается / останавливается. Как заставить его продолжать работать?

У меня есть файловая система на устройстве LVM, на котором произошел сбой диска. Некоторые данные были потеряны (так как один из 4 дисков, на которых были данные, пропал). Я пытаюсь смонтировать эту файловую систему, чтобы восстановить как можно больше данных (посмотреть другой вопрос). Я бегаю fsck на нем, и он сообщает много строки вроде этого:

Inode 40226639 block 3801089 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3801090 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833856 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833857 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833858 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3866624 conflicts with critical metadata, skipping block checks.

А затем выполняет некоторую работу по «исправлению» некоторых вещей в файловой системе. Но затем fsck останавливается. Если я запущу его снова, я увижу множество похожих ошибок, некоторые из которых связаны с высокими номерами inode / block, а затем он сделает немного больше. Итак, fsck меняется что-то. У меня он запускается в цикле, и он (медленно) проходит через диск. По индикатору выполнения fsck я вижу, что он проходит через диск.

Inode 53049266 has INLINE_DATA_FL flag but extended attribute not found.  Truncate? yes

Inode 53049266 is in use, but has dtime set.  Fix? yes

Inode 53049266 has imagic flag set.  Clear? yes

Inode 53049266 has a extra size (25474) which is invalid
Fix? yes

e2fsck: aborted

/dev/myvolgroup/mylv: ***** FILE SYSTEM WAS MODIFIED *****

Но при каждом запуске он должен обрабатывать один и тот же запуск, пока не дойдет до «нового» материала. Как мне заставить fsck не умирать, чтобы он продолжал работать, а не повторял работу? Или, если эти индексы / блоки не работают, могу ли я как-то «очистить» / «сбросить» / «удалить» их, чтобы он не печатал эти сообщения об ошибках (и, надеюсь, работал быстрее)?

Я выполняю следующую команду:

e2fsck -f -y -C0 /dev/myvolgroup/mylv

Файловая система была размером около 5 ТБ и имела ext4 файловая система. Ядро Linux 4.9 на Debian stretch 9.11. Я знаю, что потерял некоторые данные, но я хотел бы получить как можно больше с этого диска. Данные можно заменить, но это не так просто. У меня нет резервной копии. В аппарате также 3,8 ГБ ОЗУ и 650 ГБ подкачки. Во время работы очень мало свободной памяти, но своп почти не используется. Это проблема?


Обновить согласно предлагаемое решение, Я пробовал с -p и получил этот результат, поэтому я не думаю, что это решение

# e2fsck -p /dev/videos_volgroup/videos_lvm |& sed "s|/dev/videos_volgroup/videos_lvm|/dev/myvolgroup/mylv|g"
/dev/myvolgroup/mylv contains a file system with errors, check forced.
/dev/myvolgroup/mylv: Resize inode not valid.  

/dev/myvolgroup/mylv: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)

Обновление # 1 Я сдался и согласился с тем, что данные потеряны.

Использовать -p.
На странице руководства:

Automatically repair ("preen") the file system. This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention. If e2fsck discovers a problem which may require the system administrator to take additional corrective action, e2fsck will print a description of the problem and then exit with the value 4 logically or'ed into the exit code. (See the EXIT CODE section.)