Рейтинг:3

Смонтировать файловую систему с «структурой нуждается в очистке» на ext4

флаг in

Существует созданная много лет назад (и много раз измененная с тех пор) файловая система с ext4. После сбоя питания он перестает монтироваться. Когда я пытаюсь смонтировать его вручную, я получаю сообщение об ошибке:

# смонтировать /dev/space/vservershosting-vs /mnt/
mount: /mnt: системный вызов mount(2) не удался: структура нуждается в очистке.

В dmesg больше информации:

[32618.800854] Ошибка EXT4-fs (устройство dm-44): __ext4_iget:5080: inode #2: блок 1953722220: монтирование связи: неверный блок
[32619.264574] EXT4-fs (dm-44): не удалось получить корневой индекс
[32619.264633] EXT4-fs (dm-44): ошибка монтирования

fsck проходит без ремонта:

# fsck.ext4 -c -f -v /dev/space/vservershosting-vs
e2fsck 1.44.5 (15 декабря 2018 г.)
Проверка на плохие блоки (тест только для чтения): выполнено                                                 
/dev/space/vservershosting-vs: Обновление индексного дескриптора поврежденного блока.
Проход 1: проверка индексных дескрипторов, блоков и размеров
Проход 2: проверка структуры каталогов                                           
Шаг 3: проверка подключения к каталогу                                        
Шаг 4: проверка счетчиков ссылок                                              
Шаг 5: Проверка сводной информации о группе                                     
                                                                               
/dev/space/vservershosting-vs: ***** ФАЙЛОВАЯ СИСТЕМА БЫЛА ИЗМЕНЕНА *****

     Использовано 1551308 инодов (7,89% из 19660800)
      115052 несмежных файла (7,4%)
         861 несмежных каталогов (0,1%)
             # инодов с блоками ind/dind/tind: 48107/1394/6
             Гистограмма глубины экстента: 988992/12798/13
    Использовано 67929516 блоков (86,38%, из 78643200)
           0 плохих блоков
          16 больших файлов

     1377888 обычных файлов
      143712 каталогов
          74-символьные файлы устройств
          25 файлов блочных устройств
          10 фифо
         810 ссылок
       29496 символических ссылок (29045 быстрых символических ссылок)
          94 розетки
------------
     1552109 файлов

(тот же вывод с текущей версией fsck)

Пытаюсь смонтировать - не получается. После этого - fsck "исправляет" fs (второй запуск fsck ничего не делает). Но fs все еще не исправлена ​​- когда я пытаюсь его смонтировать, он терпит неудачу.

root@undefine-ThinkPad-T470p:~# fsck.ext4 -v /dev/sdb1
e2fsck 1.45.5 (07 января 2020 г.)
/dev/sdb1 zawiera system plików z bÅÄdami, wymuszono sprawdzenie.
Przebieg 1: Sprawdzanie i-wÅów, bloków i rozmiarów
Przebieg 2: Sprawdzanie structury katalogów
Przebieg 3: Sprawdzanie ÅÄ cznoÅci katalogów
Przebieg 4: Sprawdzanie liczników odwoÅaÅ
Przebieg 5: Sprawdzanie sumarycznych informacji o grupach
 
     1551308 użytych i-wÄzÅów (7,89% z 19660800)
      115052 pliki nieciÄ gÅe (7,4%)
         861 katalogów nieciÄ gÅych (0,1%)
             liczba i-wÄzÅów z blokami ind/dind/tind: 48107/1394/6
             Гистограмма gÅÄbokoÅci ekstentów: 988992/12798/13
    67929516 użytych blocków (86,38% z 78643200)
           0 wadliwych bloków
          16 дуэтов
 
     1377888 zwykÅych plików
      143712 каталог
          74 pliki urzÄ dzeÅ znakowych
          25 plików urzÄ dzeÅ blokowych
          10 потоков
         810 dowiÄ zaÅ
       29496 dowiÄ zaÅ symbolicznych (29045 szybkich dowiÄ zaÅ symbolicznych)
          94 гнизда
------------
     1552109 plików
root@undefine-ThinkPad-T470p:~# fsck.ext4 -v /dev/sdb1
e2fsck 1.45.5 (07 января 2020 г.)
/dev/sdb1: czysty, 1551308/19660800 plików, 67929516/78643200 blocków
root@undefine-ThinkPad-T470p:~# смонтировать /dev/sdb1 /mnt/test/
mount: /mnt/test: wywoÅanie systemowe mount(2) nie powiodÅo siÄ: Struktura wymaga wyczyszczenia.

Пробовал монтировать с помощью альтернативных суперблоков - та же ошибка/результат.

но когда я подключаюсь к тому с помощью debugfs, я вижу весь важный контент (3 каталога) в потерянном + найденном.

Я могу восстановить весь контент с помощью команды debugfs и rdump, но как смонтировать/исправить этот том?

user10489 avatar
флаг nc
Вы должны повторно запустить fsck (возможно, без `-c` при последующих запусках), пока он НЕ скажет, что "файловая система была изменена". Однако я не уверен, почему он не смонтировался - это заставляет меня подозревать повреждение кеша или что-то в этом роде. Попробуйте перезагрузить?
флаг in
Перезагрузка не помогла. Я запускал e2fsck много раз с тем же результатом. Я подозреваю ошибку в реализации ext4 и поврежденный 2 (корневой) inode. но как с этим справиться?
shodanshok avatar
флаг ca
Можете ли вы выполнить `fsck.ext4` *без* опции `-c` и сообщить о результатах?
флаг in
да. первый запуск - "исправить" что-то, второй запуск показывает, что fs чист. Но монтирование показывает ошибку (и помечает fs как грязный, что означает, что первый запуск fsck исправит это...). Я обновил вопрос с этими тремя командами. Проблема для меня больше не важна - я все восстановил с помощью rdump из debugfs. Но мне любопытно, что здесь произошло и как это исправить.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.