Я запускаю badblocks (или, скорее, «e2fsck -c») на диске емкостью 1 ТБ, и если судить по индикатору хода выполнения (без каламбура), то на завершение процесса уйдет почти целая вечность.
Сейчас там говорится, 0.01% done, 30:20 elapsed
что это означает, что на завершение проекта уйдет около 17 недель, что, на мой взгляд, довольно много.
Нормальное ли это время для такой проверки или мои подозрения верны, и диск выходит из строя, из-за чего проверка занимает лишь немного меньше вечности?
я нашелэтот вопросздесь, но это касается количества выполненных передач.
решение1
Чтобы ответить на ваш вопрос, самое близкое, что я могу предложить, это 3 ТБ, которые я тестировал для этого. Вот 3 теста, которые я провел, только меняя значения параметров -c
и делая их только до 10%, так как они заняли МНОГО времени. Каждый был проведен 3 раза, чтобы получить среднее значение.
Обратите внимание, что «n» — это -n
опция, которая ненеразрушающий тест записи. Вы можете удалить его, чтобы сделать тест только для чтения. Также -s
для лучшегопрогрессинформация и -v
обозначаетподробный.
badblocks -svn /dev/sdb
Чтобы достичь 1%: 1 час
Чтобы достичь 10%: 8 часов 40 минут
badblocks -svn -b 512 -c 32768 /dev/sda
Чтобы достичь 1%: 35 минут
Чтобы достичь 10%: 4 часа 10 минут
badblocks -svn -b 512 -c 65536 /dev/sda
Чтобы достичь 1%: 16 минут
Чтобы достичь 10%: 2 часа 35 минут
Так что да, -c
параметр очень сильно влияет на время, необходимое для проверки диска. Я бы предположил, что для жесткого диска на 1 ТБ, если предположить, что он поддерживает те же временные рамки, что и 3 ТБ, это будет 1/3 от указанного здесь времени, так что для достижения 10% на -c 65536
жестком диске на 1 ТБ потребуется около 50 минут.
решение2
Badblocks делает 4 прогона. На внешнем HDD на 1 ТБ обычно уходит около 70 часов.
решение3
Попробуйте увеличить количество блоков, обрабатываемых вместе, как в badblocks -svn -b 512 -c 65536 /dev/sda
. Таким образом, я могу проверить жесткий диск объемом 1 ТБ за 8 часов.
решение4
Запустил это позавчера на неисправном диске емкостью 1 ТБ в моем RAID 6 емкостью 6 ТБ (РЕЖИМ ДЕСТРУКТИВНОЙ ЗАПИСИ!):
# badblocks -svw -b 4096 -c 65536 /dev/sdb
Материнская плата — ASRock Rack C2550D4I (я знаю…) с 8x Samsung SpinPoint M8 HN-M101MBB (я знаю…), подключенными к портам SATA3. Диски — 4K "Advanced Format", отсюда и размер блока 4K.
badblocks
На выполнение ушло около 28 часов, без каких-либо ошибок.
Отдельные диски делают ~105 МБ/сек (среднее hdparm -tT
время буферизованного чтения), 200–230 МБ/сек при тестировании всего массива. Ничего лучшего, в наши дни, но неплохо для кучи старых ноутбуков.
Надеюсь, это поможет так же, как эта ветка помогла мне найти быстрый способ выполнить проверку badblocks на диске. Я знаю, что в наши дни ее использование сомнительно, но когда предыдущий smartctl -t long
вышел из строя из-за ошибок чтения, я решил несколько раз перебрать и перезаписать все сектора, чтобы посмотреть, как изменятся значения SMART. smartctl
Ожидается еще один тест, если он снова не сработает, я куплю новый диск.