Итак, ZFS сообщает о некоторых «проблемах чтения», поэтому может показаться, что этот диск выходит из строя, на основании того факта, что в ZFS-8000-9P документальные отчеты произошли, о которых нам известно. Эти диски довольно новые, единственной проблемой, с которой мы недавно столкнулись, была полная ZFS.
ZFS работает поверх LSI MegaRAID 9271-8i, все диски запускают "raid 0" для каждого диска. Я не очень хорошо знаком с этой рейдовой картой, поэтому я нашел сценарий, который возвращает данные, полученные из инструмента командной строки megacli. Я добавил 1 диск, чтобы показать настройку, все они настроены одинаково. (системные диски разные)
вывод состояния zpool
pool: data
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
br0c2 ONLINE 0 0 0
br1c2 ONLINE 0 0 0
br2c2 ONLINE 0 0 0
br0c3 ONLINE 0 0 0
br1c3 ONLINE 0 0 0
br2c3 ONLINE 0 0 0
r2c1 ONLINE 0 0 0
r1c2 ONLINE 0 0 0
r5c3 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
r3c1 ONLINE 0 0 0
r4c1 ONLINE 2 0 0
... cut raidz2-1 ...
errors: No known data errors
Вывод скрипта LSI
Virtual Drive: 32 (Target Id: 32)
Name :
RAID Level : Primary-0, Secondary-0, RAID Level Qualifier-0
Size : 3.637 TB
Sector Size : 512
Is VD emulated : No
Parity Size : 0
State : Optimal
Strip Size : 512 KB
Number Of Drives : 1
Span Depth : 1
Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
PI type: No PI
Is VD Cached: No
Сценарий не сообщает ни о каком неисправном диске, и raidcontroller не отмечает диск как неисправный. Я нашел другие темы ошибка zpool это дало совет, как устранить ошибку и запустить очистку. Теперь мой вопрос: когда установлен порог для запуска scrub, сколько времени это займет (при условии, что этот zfs-рейд потребует снижения производительности для запуска scrub). Также, когда этот диск действительно исправен, горячая замена инициализирует «перестройку» ? Все диски - «Western Digital RE 4TB, SAS II, 32MB, 7200rpm, enterprise 24/7/365». Есть ли система, которая будет проверять ошибки zfs, поскольку это была обычная ручная проверка?
версия zfs: 0.6.4.1 zfsonlinux
Я знаю, что 2 ошибки чтения недопустимы, но я бы предпочел заменять диски раньше, чем позже.
В этом случае я бы сделал то, что вам говорит ZFS. Пожалуйста, запустите скраб.
Я очищаю свои системы еженедельно по расписанию. Я также использую zfswatcher демон для отслеживания работоспособности установленных Linux ZFS.
Ваш массив ZFS, вероятно, не настроен, поэтому есть некоторые значения, которые могут помочь улучшить производительность очистки, но на этом этапе вы должны просто запустить его.
И что касается другого вопроса, ваша горячая замена, вероятно, не будет делать то, что вы от нее ожидаете ... См. Тираду ниже.
разглагольствовать:
Плохая идея - иметь кучу виртуальных дисков RAID-0 за аппаратным контроллером!
У вас худшее из обоих миров. Возможность восстановления и проверка ошибок ограничены. Неисправный диск - это, по сути, неисправный виртуальный диск, и есть последствия для горячей замены. Допустим, вы удалили рассматриваемый диск (и). Скорее всего, вам потребуется создать новый виртуальный диск, или вы можете получить другое перечисление дисков.
В какой-то момент лучше получить настоящий HBA и запустить диски как пробные устройства (без метаданных RAID) или просто запустите ZFS поверх vdev, защищенных аппаратными массивами. Например. запустите RAID-6 на своем контроллере и установите ZFS поверх. Или запустите несколько групп RAID-X и создайте зеркальное отображение ZFS или чередование результирующих файлов vdev.
zfs scrub
это «система, которая будет проверять ошибки zfs». Это займет столько времени, сколько потребуется для чтения всех данных, хранящихся в томе (идет в последовательном порядке txg, поэтому он может много искать, в зависимости от того, насколько заполнен пул и как данные были записаны). Как только началось, zfs status
покажу некоторую оценку. Работающий скраб можно остановить.
Если хочется что-то периодически проверять zpool status
, самым простым способом было бы запустить что-то вроде zpool status | grep -C 100 Status
периодически (раз в 6 часов) и отправляйте результаты по электронной почте, если таковые имеются. Вероятно, вы могли бы найти плагин для своей любимой системы мониторинга, например, nagios. Или было бы довольно просто написать самому.
Простая «горячая» замена диска не приведет к запуску resilver. Вам придется бежать zfs replace
чтобы это случилось.
Ошибка чтения, которую вы видите, также может быть ошибкой контроллера. Несмотря на то, что это корпоративное оборудование, эти контроллеры (HW RAID) иногда ведут себя странно. И эти ошибки могут быть, например, результатом того, что команда выполняется слишком долго - контроллер чем-то занят. Вот почему я стараюсь держаться от них подальше, если в этом нет необходимости.
Я бы пошел с проверкой данных SMART на диске (см. man smartctl
) и мытье бассейна. Если оба выглядят нормально, удалите ошибки и не связывайтесь с пулом. Потому что, если пул близок к полному, чтение всех данных во время восстановления может вызвать еще одну ошибку. Начните паниковать, когда снова увидите ошибки на том же диске;).
кстати. для лучшей производительности вы должны использовать n ^ 2 + 2 дисков в RAIDZ2 vdevs.