Ошибка zfs за raidcontroller LSI

Таким образом, 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 темы, которые дали совет, чтобы очистить ошибку и запустить очистку. Теперь мой вопрос: когда будет порог запуска скраба, сколько времени это займет (если предположить, что этот набег zfs потребует снижения производительности при запуске скраба) Также, когда этот диск действительно неисправен, горячая замена инициализирует "перестройку"? Все диски "Western Digital RE 4TB, SAS II, 32 МБ, 7200 об / мин, предприятие 24/7/365". Есть ли система, которая будет проверять наличие ошибок zfs, так как это была обычная ручная проверка?

zfs версия: 0.6.4.1 zfsonlinux

Я знаю, что 2 ошибки чтения не распределены, но я бы предпочел заменять диски раньше, чем позже.

2 ответа

Решение

zfs scrub это "система, которая будет проверять наличие ошибок zfs". Это займет столько времени, сколько нужно, чтобы прочитать все данные, хранящиеся в томе (в последовательном порядке txg, поэтому он может искать много, в зависимости от того, насколько заполнен пул и как были записаны данные). Однажды началось, zfs status покажет некоторую оценку. Запуск скраба можно остановить.

Если хочешь что то периодически проверять zpool status, самый простой способ будет запустить что-то вроде zpool status | grep -C 100 Status периодически (раз в 6 часов) и по электронной почте вывод, если таковые имеются. Вы можете найти плагин для вашей любимой системы мониторинга, например, nagios. Или было бы довольно просто написать самому.

Просто горячая замена диска не вызовет повторное включение. Вам придется бежать zfs replace чтобы это произошло.

Ошибка чтения, которую вы видите, может также быть некоторой ошибкой контроллера. Несмотря на то, что это корпоративное оборудование, эти (HW RAID) контроллеры иногда ведут себя странно. И эти ошибки могут, например, быть результатом слишком долгой команды - контроллер занят чем-либо. Вот почему я стараюсь держаться подальше от тех, кто не нужен.

Я бы пошел с проверкой данных SMART на диске (см. man smartctl) и чистить бассейн. Если оба выглядят хорошо, удалите ошибки и не связывайтесь с вашим пулом. Потому что, если пул близок к полному чтению, все данные во время переноса могут вызвать другую ошибку. Начните паниковать, как только вы снова увидите ошибки на том же диске;).

Кстати. для лучшей производительности вы должны использовать n^2+2 дисков в RAIDZ2 vdevs.

Я бы сделал то, что ZFS говорит вам сделать в этом случае. Пожалуйста, запустите скраб.

Я очищаю свои системы еженедельно по расписанию. Я также использую демон zfswatcher для мониторинга работоспособности установок Linux ZFS.

Ваш массив ZFS, вероятно, не настроен, поэтому есть некоторые значения, которые могут помочь улучшить производительность очистки, но на этом этапе вам просто нужно запустить его.

И для другого вопроса, ваш горячий обмен, вероятно, не будет делать то, что вы ожидаете... См. Рант ниже.


декламация:

Плохая идея иметь кучу виртуальных дисков RAID-0 за аппаратным контроллером!

У вас худшее из обоих миров. Восстанавливаемость и проверка ошибок ограничены. Отказавший диск - это, по сути, сбойный виртуальный диск, и это может привести к горячей замене. Допустим, вы удалите диск (и), о котором идет речь. Скорее всего, вам понадобится создать новый виртуальный диск, иначе может возникнуть другое перечисление дисков.

В определенный момент лучше получить настоящий HBA и запускать диски, пробуя сквозные устройства (без метаданных RAID) или просто запускать ZFS поверх vdevs, защищенных аппаратными массивами. Например, запустите RAID-6 на вашем контроллере и установите ZFS сверху. Или запустите несколько групп RAID-X и используйте зеркало ZFS или разделите получившийся vdevs.

Другие вопросы по тегам