ZFS scrub находит ошибки контрольной суммы, а badblocks и smartctl - нет

521
taneli

Я настроил пул ZFS с двумя дисками в качестве зеркала. Операционная система - Ubuntu 16.04, и я использую zfs 0.6.5, поставляемую поставщиком. Диски 3T WD Green и 3T WD Red (вероятно, не оптимальны для производительности, но это не имеет значения), которые имеют одинаковый размер в байтах и ​​секторах. Я не использую разделы, но zpool createсделал два на каждом диске для меня, как обычно. По умолчанию ОС выполняет очистку пула раз в месяц, и я несколько раз запускал очистку вручную.

Несколько раз процесс очистки обнаруживал ошибки контрольной суммы на диске WD Red, но не при каждом запуске. Они были отремонтированы автоматически и, насколько я знаю, не вызвали проблем. Число, показанное в столбце CKSUM, указывает 3, 5 и 9, и теперь, после недавнего обновления до предстоящей Ubuntu 18.04 и ZFS 0.7.5, также 31 (с дополнительной информацией «слишком много ошибок», если я правильно помню сообщение ).

Встревоженный, я отделил диск от пула и экспортировал пул. Не импортируя диск, я запустил badblocks -b 4096 -s -v -wна нем, но он сообщил об (0/0/0)ошибках. Также не smartctl -a /dev/sdaуказано ничего необычного, если я правильно понимаю ( | grep -i error):

 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0 

Я повторно подключил диск к пулу, и в настоящее время он снова серебрен. Но я остаюсь в замешательстве: что могло вызвать повторяющиеся ошибки очистки? Что мне делать в будущем, чтобы лучше понять, в чем проблема, или вообще ее избежать? Я не особенно заинтересован в покупке сменных дисков, тем более что WD Red выпускается только в 2016 году.

(Я не уверен, что это уместно, но в какой-то момент ошибка оператора или ошибка программного обеспечения привели к повреждению не проблемной таблицы разделов диска WD Green. Я не смог найти никакого другого действия, чтобы вернуть его в пул, кроме отсоединения очистка таблицы разделов и ее повторное присоединение. Во время процесса повторного серебрения не удалось прочитать некоторые блоки с диска WD Red, и я восстановил один поврежденный файл из резервных копий. Очистка обнаруженных ошибок контрольной суммы как до, так и после этого инцидента.)

0

1 ответ на вопрос

1
Dan

Нет простого способа определить причину сбоев контрольной суммы, поскольку они происходят независимо от файловой системы (если только они не вызваны ошибками в самой FS, но я не думаю, что это происходит здесь). smartctlИ badblocksуспехи заставляют меня надежду, что этот вопрос не является неисправным диск.

Эта страница предназначена для того, чтобы помочь вам понять ошибку: http://illumos.org/msg/ZFS-8000-9P . Цитата из этого:

For example, the following cases will all produce errors that do not  indicate potential device failure:  - A network attached device lost connectivity but has now recovered - A device suffered from a bit flip, an expected event over long periods of time - An administrator accidentally wrote over a portion of the disk using another program 

Я думаю, что на этом этапе проверка подключения к дискам и запуск Resilver - правильный путь.

Благодарю. Я отключил диски по крайней мере дважды и одновременно переключил кабели SATA. Я сомневаюсь, что неисправный кабель или их плохое подключение могут быть причиной проблем. taneli 5 лет назад 0

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