Мониторинг ошибок синхронизации Fcs

update: Изучив lsusb и dmesg, я подтвердил, что накопитель отключился от шины USB. Значит mkfs завис. kill -9 на нем может остановить его и позволить остановить массив mdraid, или может потребоваться перезагрузка. Если вам необходимо перезагрузиться, имейте в виду, что система может перезагрузиться не полностью, поэтому лучше всего синхронизировать и размонтировать/перемонтировать любые другие файловые системы, доступные только для записи, поскольку вам, возможно, придется нажать кнопку сброса.

В зависимости от файловой системы и опций, mkfs может занять много времени (и ext3 — одна из тех, где это происходит). Завершение безопасно, но, конечно, вам придется снова запустить mkfs. Что — если он действительно продвигался — означает, что вам придется снова ждать (и он начнется с самого начала).

ext4 намного быстрее mkfs, особенно с lazy_itable_init (по умолчанию). Если есть возможность, переключитесь.

Помните, что в файловой системе ext2/3/4 x% диска используется для таблиц inode. Без lazy_itable_init сейчас они все пишутся. Это очень много данных для записи (примерно 1,6% диска с настройками по умолчанию) и распределено по всему диску не меньше.

Это также дает еще один способ сократить время: писать меньше индексных дескрипторов. Но, конечно, если вы пойдете слишком низко, вы закончите.

Если вы хотите проверить, действительно ли это происходит, подтвердите, происходит ли ввод-вывод. У некоторых дисков есть световой индикатор, или вы часто можете определить это (с магнитными дисками), прижав ухо к ушам и прислушавшись.

В качестве альтернативы, если у вас есть доступный iostat, iostat -kx 10 покажет вам первую статистику ввода-вывода с момента загрузки, а затем статистику каждые 10 секунд за предыдущие 10 секунд. Вы можете посмотреть количество операций записи и использование диска.

1
05.12.2016, 13:11
1 ответ

Это всего лишь пример сценария, который вы можете использовать для изменения в соответствии с вашими потребностями.

FILE="xxxx_xxx_`date +"%Y-%m-%d"`_0.log"

grep -E "maxretry|not synchronized|FCS Bad receipt" $FILE > fcs_error.log

if [[ $(wc -l fcs_error.log | awk '{print $1}') -gt 0 ]]; then
    mail -s "error found" mail_id <fcs_error.log
fi

Проверьте cron , как планировать задания.

Используйте параметр -n команды grep для печати номера строки. См. grep для получения более подробной информации.

0
28.01.2020, 01:06

Теги

Похожие вопросы