Рейтинг:3

e2fsck очищает файловую систему, а через несколько минут (после большого количества чтений) появляются ошибки

флаг us

Файловая система находится на LVM RAID5. Кажется, он работает правильно:

$ судо пвс
[sudo] пароль для jrwren: 
  PV VG Fmt Attr PSize PFree 
  /dev/sda2 datavg lvm2 a-- <7.28t 2.80t
  /dev/sdb2 datavg lvm2 a-- <3.64t 0 
  /dev/sdc2 datavg lvm2 a-- <7,28t <7,28t
  /dev/sdd2 datavg lvm2 a-- <7.28t 0 
  /dev/sde2 datavg lvm2 a-- <7,28t 73,82g
  /dev/sdf1 datavg lvm2 a-- <3.64t 0 
  /dev/sdg2 datavg lvm2 a-- <7.28t 3.99t
  /dev/sdh2 datavg lvm2 a-- <447.11g 8.00m
  /dev/sdi2 datavg lvm2 a-- <9.10t 2.21t
 $ судо лвс
  LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  lxd2 datavg -wi-ao---- 147.10g                                                    
  зеркальный datavg -wi-ao---- 300.00g                                                    
  м datavg Rwi-aor--- 3.52t 100.00          
  м3 dataavg Rwi-aor--- 4.00t 100.00          
  mu datavg Rwi-aor--- 1.00t 100.00          
  nomirror datavg-wi-ao---- 2.20t                                                    
  фото datavg Rwi-aor--- 200.00g 100.00          
  stor datavg Rwi-aor--- 300.00g 100.00          
  storj datavg -wi-ao---- 1.00t                                                    
  t dataavg Rwi-aor--- 6.00t 100.00          
  t2 dataavg Rwi-aor--- 3.90t 100.00     

У меня есть процесс, выполняющий много операций чтения на логическом томе с именем m. Это прибор ДМ-12. В конце концов, он просто умирает со следующими сообщениями ядра.

30 июня 16:02:33 задерживает ядро: [393661.035286] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: com[68/1946]t main: pblk 765519712 неверный заголовок/экстент: недопустимая магия - magic 0, записей 0, максимум 0(0), глубина 0(0)                               
30 июня 16:02:33 задерживает ядро: [393661.039726] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0)                               
30 июня 16:02:33 задерживает ядро: [393661.044175] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0)                               
30 июня 16:02:33 задерживает ядро: [393661.048584] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent: 885: inode # 191365192: comm rtorrent main: pblk 765519712 неверный заголовок / экстент: недействительный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.054717] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.060977] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.063736] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.066283] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode # 191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.068773] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent: 885: inode # 191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:02:33 задерживает ядро: [393661.071232] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent: 885: inode # 191365192: comm rtorrent main: pblk 765519712 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 

Я размонтирую файловую систему и запускаю e2fsck:

$ sudo e2fsck -p /dev/datavg/m
фильмы содержат файловую систему с ошибками, проверка принудительная.
фильмы: Inode 118751237 имеет недопустимый узел экстента (blk 475078659, lblk 0)


фильмы: НЕОЖИДАННОЕ НЕСООТВЕТСТВИЕ; ЗАПУСТИТЕ fsck ВРУЧНУЮ.
        (т. е. без опций -a или -p)
$ sudo e2fsck -y /dev/datavg/фильмы
e2fsck 1.45.7 (28 января 2021 г.)
фильмы содержат файловую систему с ошибками, проверка принудительная.
Проход 1: проверка индексных дескрипторов, блоков и размеров
Inode 177471496 имеет недопустимый узел экстента (blk 709943175, lblk 0)
Прозрачный? да
...

Шаг 1E: Оптимизация деревьев экстентов
Проход 2: проверка структуры каталогов
Шаг 3: проверка подключения к каталогу
Шаг 4: проверка счетчиков ссылок
Шаг 5: Проверка сводной информации о группе
Block bitmap differences:  -(709943175--709943176) -(868210688--868212735) -(868214784--868216831) -(868253696--868255743) -(868257792--868259839) -(868886528--868888575) -(868892672- -868894719) -(868896768--868898815) -(868900864--868902911) -(868904960--868907007) -(868909056--868911103) -(868913152--868917247) -(868921344--868923391) -(868925440-- 868927487) -(868929536--868931583) -(868933632--868935679) -(868937728--868939775) -(868941824--868943871) -(868945920--868947967) -(868950016--868954111) -(868958208--868960013 ) -(869894144--869922573)
Исправить? да

Неверный подсчет свободных блоков для группы #21665 (24561, counted=24563).
Исправить? да

Неверный подсчет свободных блоков для группы #26495 (28672, counted=32768).
Исправить? да

Неверный подсчет свободных блоков для группы #26497 (18432, counted=22528).
Исправить? да

Неверный подсчет свободных блоков для группы #26516 (22528, counted=32768).
Исправить? да

Неверный подсчет свободных блоков для группы #26517 (16384, counted=32768).
Исправить? да

Неверный подсчет свободных блоков для группы #26518 (16626, counted=26624).
Исправить? да

Неверный подсчет свободных блоков для группы #26547 (2290, counted=30720).
Исправить? да

Неверный подсчет свободных блоков (366951912, counted=367025158).
Исправить? да



фильмы: ***** ФАЙЛОВАЯ СИСТЕМА БЫЛА ИЗМЕНЕНА *****
фильмы: 6896/236224512 файлов (20,8% несмежных), 577868794/944893952 блоков
$ sudo e2fsck -p /dev/datavg/фильмы
фильмы: чистые, 6896/236224512 файлов, 577868794/944893952 блоков

Он говорит, что он чистый, поэтому я переустанавливаю его и перезапускаю программное обеспечение для чтения.

И через несколько минут:

30 июня 16:34:49 задерживает ядро: [395595.309814] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:34:49 задерживает ядро: [395595.317838] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode # 191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:34:49 задерживает ядро: [395595.320836] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:34:49 задерживает ядро: [395595.323418] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:35:14 задерживает ядро: [395619.785771] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode # 191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 
30 июня 16:35:14 задерживает ядро: [395619.793135] Ошибка EXT4-fs (устройство dm-12): ext4_find_extent:885: inode #191365190: comm rtorrent main: pblk 765517692 неверный заголовок/экстент: неверный магический - магический 0, записи 0, максимум 0(0), глубина 0(0) 

Что здесь происходит? Является ли LVM коррумпированным и лжет мне? Есть ли команда, которую я могу запустить, чтобы проверить? Должен ли я запускать бэдблоки (e2fsck -c) или что-то в этом роде?

Соответствующие сообщения LVM от ядра отсутствуют. Я бы ожидал ошибок LVM, если бы у базовых дисков были проблемы. Что здесь происходит?

Обновить: кто-то просил вывод dmesg. Это именно то, что выше с сообщениями EXT4-fs. Единственные другие сообщения в выводе dmesg, отличные от стандартных сообщений загрузки, повторяются:

[527724.593062] RPTADDRS [3948921]: SEGFAULT AT 7FFC7A7A50B5 IP 00007FD9F0F86820 SP 00007FFC7A7A3FC8 ОШИБКА 4 в LIBC-2.28.SO [7FD9F0E4C000+148000] [52774.5.28.SO [7FD9F0E4C000+148000] [52774.54.SO [7FD9F0E4C000+148000] [52774.5.5.5.so [7FD9F0E4C000+148000] [52774.54.5.so [7FD9F0E4C000+148000] [5274.5.28. 17 c0 c5 f8 77 c3 48 39 f7 0f 87 ab 00 00 00 0f 84 e5 fe ff ff c5 fe 6f 26 <c5> fe 6f 6c 16 e0 c5 fe 6f 74 16 c0 c5 fe 6f 7c 16 a0 c5 7e 6f 44
shodanshok avatar
флаг ca
Пожалуйста, покажите вывод `dmesg`
jrwren avatar
флаг us
@shodanshok Я сделал. Ошибки ядра тут же. Я обновлю с помощью rptaddrs segfaults.
Рейтинг:3
флаг cn

Два раза это случилось со мной, причиной был аппаратный сбой. Возможные основные причины:

  • плохо подключенные кабели
  • плохой кабель диска (было со мной однажды)
  • глючный интерфейс SATA (у меня был интерфейс, который записывал блок нулевых байтов в мое дисковое устройство всего один раз, но потом я выбросил карту)
  • плохая оперативная память (порча буферизованных данных)
  • перегрев или ошибки, вызванные разгоном
  • вероятно менее вероятно, другие аппаратные неисправности

Оба раза это случилось со мной, я потерял данные. В наши дни это гораздо менее вероятно, потому что я использую ZFS с реплицированными моментальными снимками, а также имею автономные резервные копии на магнитной ленте.

Тот факт, что вы можете выполнить fsck, а затем сразу же обнаружить, что он снова не работает, убеждает меня, что это аппаратная проблема. Я предполагаю, что блоки, записываемые fsck на диск при «исправлении» проблемы, вероятно, не всегда (всегда) попадают на поверхность диска неповрежденными.

Прежде всего, убедитесь, что ваши существующие кабели правильно установлены, и повторите тестирование. Если это не решит проблему, читайте дальше:

Вы можете доказать, что это проблема с тестовым диском:

  1. Получите живой загрузочный образ системы, например. на USB-накопителе. Не готовьте это на своей неисправной машине, потому что, предположительно, она будет повреждена. Используйте другую машину или купите готовую флешку с live-системой Linux.
  2. Выключите систему.
  3. Пометьте каждый жесткий диск, как он подключен к интерфейсам SATA (например, какой порт и т. д.)
  4. Отсоедините диски и храните их надлежащим образом (например, в прочных антистатических контейнерах). Не подключайте их обратно к системе, пока не изолируете и не устраните проблему, потому что ваши усилия по устранению проблемы с fsck только усугубляют.
  5. Подключите жертвенный диск, содержащий никаких ценных данных, которые можно было бы безопасно перезаписать
  6. Дважды проверьте, что ваш жертвенный диск и живой загрузочный образ (см. следующий пункт) являются Только запоминающие устройства, подключенные к машине. Вам нужно избегать случайного разбиения диска с вашими ценными данными на разделы или запуска плохие блоки на таком диске.
  7. Загрузитесь с живого образа системы (например, с загрузочной USB-системы)
  8. Разбейте диск на несколько разделов, первый из которых будет размером в несколько десятков ГБ.
  9. Бег плохие блоки -w -B ( убедитесь, что мы также используем ОЗУ) на небольшом разделе (выбирая маленький, чтобы тест не занимал дни)
  10. Если это не удается, у вас проблема с оборудованием; попробуйте заменить компоненты, чтобы увидеть, исчезнет ли проблема
    1. например, выньте все модули оперативной памяти, кроме одного, прокрутите их, чтобы определить, какой из них неисправен.
    2. например, измените порт SATA, к которому вы подключаетесь, чтобы определить неисправный интерфейс или адаптер SATA.
    3. например, оставьте тот же порт SATA, но замените кабель, чтобы определить неисправный кабель.
  11. Возможно, причиной проблемы могут быть недостатки в других компонентах системы (даже неисправная материнская плата или недостаточно мощный блок питания).
  12. Если вы подозреваете плохую оперативную память, вы можете использовать мемтест86 чтобы проверить это. Вы также можете опустить флаг из badblocks для использования вместо этого прямого ввода-вывода, что уменьшит, но не устранит использование ОЗУ.

Как только вы определили неисправное оборудование, замените его. В идеале восстановите самую последнюю резервную копию на новые диски (учтите, что если вы на самом деле не изолировали и не устранили проблему, данные на ваших новых дисках также будут повреждены).

Изменить: вы можете проголосовать против, но если вы решите это сделать, я был бы признателен, если бы вы оставили комментарий, указывающий, почему этот ответ бесполезен.

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

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