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 секунд. Вы можете посмотреть количество операций записи и использование диска.
Это всего лишь пример сценария, который вы можете использовать для изменения в соответствии с вашими потребностями.
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 для получения более подробной информации.