Беспорядок FreeNAS: не уверен, что случилось. raidz1 "DEGRADED", диск "FAULTED"

Извините за длинный рассказ, но я полностью сбит с толку.

Я использую FreeNAS-8.0.4-RELEASE-p2-x64 (11367) на коробке с 5x3 ТБ дисками SATA, настроенными как том raidz.

Несколько дней назад консоль выдала мне это предупреждение:

CRITICAL: The volume raid-5x3 (ZFS) status is DEGRADED

zpool status дал:

  pool: raid-5x3
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver completed after 3h25m with 7607009 errors on Sun Aug 12 06:26:44 2012
config:

    NAME                      STATE    READ WRITE CKSUM
    raid-5x3                  DEGRADED    0    0 7.29M
      raidz1                  DEGRADED    0    0 14.7M
        ada0p2                ONLINE      0    0    0
        10739480653363274060  FAULTED      0    0    0  was /dev/ada1p2
        ada2p2                ONLINE      0    0    0
        ada3p2                ONLINE      0    0    3  254M resilvered
        ada1p2                ONLINE      0    0    0

errors: 7607009 data errors, use '-v' for a list

Я сделал zpool status -v и получил:

Permanent errors have been detected in the following files:

и в нем перечислены 2660 файлов (из 50000 или около того)

плюс такие вещи, как:

raid-5x3/alpha:<0x0>
raid-5x3/alpha:<0xf5ec>
raid-5x3/alpha:<0xf5ea>

Мы выключили сервер, вставили новый диск, в дополнение к пяти уже там.

Пошел на консоль и view disks просто сказано "загрузка" навсегда * не может добраться до опции "Заменить"!

Тогда мы получили:

zpool status -v
  pool: raid-5x3
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: none requested
config:

        NAME                      STATE    READ WRITE CKSUM
        raid-5x3                  DEGRADED    0    0    0
          raidz1                  DEGRADED    0    0    0
            ada0p2                ONLINE      0    0    0
            10739480653363274060  UNAVAIL      0    0    0  was /dev/ada1p2
            ada2p2                ONLINE      0    0    0
            ada3p2                ONLINE      0    0    0
            ada1p2                ONLINE      0    0    0

errors: Permanent errors have been detected in the following files:

        raid-5x3/alpha:<0x0>
        /mnt/raid-5x3/alpha/staff/Sound FX jw/Sound FX - scary horror/11 DR-EerieAct3-Waterphone..aif
        /mnt/raid-5x3/alpha/staff/Wheelhouse Shoots/ROCKY_THE_MUSICAL/ SHOOTS/WESTPORT/Cannon-CARD-B/CONTENTS/CLIPS001/AA0876/AA087601.SIF

... затем 2860 файлов и записи "raid-5x3 / alpha: <....>"...

camcontrol devlist:

<ST3000DM001-9YN166 CC4C>          at scbus4 target 0 lun 0 (ada0,pass0)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus4 target 1 lun 0 (aprobe1,pass6,ada4)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus5 target 0 lun 0 (ada1,pass1)
<ST3000DM001-9YN166 CC4C>          at scbus5 target 1 lun 0 (ada2,pass2)
<ASUS DRW-24B1ST  a 1.04>        at scbus6 target 0 lun 0 (cd0,pass3)
<Hitachi HDS5C3030ALA630 MEAOA580>  at scbus7 target 0 lun 0 (ada3,pass4)
< USB Flash Memory 1.00>          at scbus8 target 0 lun 0 (da0,pass5)

gpart show

=>    63  7831467  da0  MBR  (3.7G)
      63  1930257    1  freebsd  [active]  (943M)
  1930320      63      - free -  (32K)
  1930383  1930257    2  freebsd  (943M)
  3860640    3024    3  freebsd  (1.5M)
  3863664    41328    4  freebsd  (20M)
  3904992  3926538      - free -  (1.9G)

=>      0  1930257  da0s1  BSD  (943M)
        0      16        - free -  (8.0K)
      16  1930241      1  !0  (943M)

=>        34  5860533101  ada0  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada1  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada2  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada3  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada4  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

glabel status

                                      Name  Status  Components
                            ufs/FreeNASs3    N/A  da0s3
                            ufs/FreeNASs4    N/A  da0s4
                            ufs/FreeNASs1a    N/A  da0s1a
gptid/446dd91d-8f15-11e1-a14c-f46d049aaeca    N/A  ada4p1
gptid/447999cb-8f15-11e1-a14c-f46d049aaeca    N/A  ada4p2

Казалось, новый диск не был подключен правильно?

Повторно прикрепил его и перезагрузил.

Теперь консоль показала зеленый свет тревоги.

Но когда я пошел в "Просмотр всех томов", он просто сказал "Загрузка..."

Затем:

glabel status

          Name  Status  Components
 ufs/FreeNASs3    N/A  da0s3
 ufs/FreeNASs4    N/A  da0s4
ufs/FreeNASs1a    N/A  da0s1a

camcontrol devlist: Код: на scbus0 цель 0 лун 0 (ada0,pass0) на scbus4 цель 0 лун 0 (ada1,pass1) на scbus4 цель 1 лун 0 (ada2,pass2) на scbus5 цель 0 лун 0 (ada3,pass3) в scbus5 target 1 lun 0 (ada4,pass4) в scbus6 target 0 lun 0 (cd0,pass5) в scbus7 target 0 lun 0 (ada5,pass6) в scbus8 target 0 лун 0 (da0, pass7)

gpart show

=>    63  7831467  da0  MBR  (3.7G)
      63  1930257    1  freebsd  [active]  (943M)
  1930320      63      - free -  (32K)
  1930383  1930257    2  freebsd  (943M)
  3860640    3024    3  freebsd  (1.5M)
  3863664    41328    4  freebsd  (20M)
  3904992  3926538      - free -  (1.9G)

=>      0  1930257  da0s1  BSD  (943M)
        0      16        - free -  (8.0K)
      16  1930241      1  !0  (943M)

=>        34  5860533101  ada1  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada2  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada3  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada4  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

=>        34  5860533101  ada5  GPT  (2.7T)
          34          94        - free -  (47K)
        128    4194304    1  freebsd-swap  (2.0G)
    4194432  5856338703    2  freebsd-zfs  (2.7T)

zpool status:

  pool: raid-5x3
 state: ONLINE
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
  see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: none requested
config:

        NAME        STATE    READ WRITE CKSUM
        raid-5x3    ONLINE      0    0    0
          raidz1    ONLINE      0    0    0
            ada1p2  ONLINE      0    0    0
            ada2p2  ONLINE      0    0    2
            ada4p2  ONLINE      0    0    0
            ada5p2  ONLINE      0    0    0
            ada3p2  ONLINE      0    0    0

errors: 7607009 data errors, use '-v' for a list

В этот момент кто-то на форумах FreeNAS сказал: "Вы облажались, в какой-то момент у вас вышли из строя 2 диска, пока данные".

Это правда?

Я нажал на кнопку "очистить"... статус zpool показал: "Выполняется повторная доставка... осталось около 900 часов"... это как месяц... и продолжало расти до 30000 часов...

Сегодня мы перепроверили все соединения на всех дисках.

Затем он снова начал восстанавливаться, но гораздо быстрее.

Несколько файлов - которые ранее были объявлены поврежденными - я случайно проверил, и теперь они "кажутся" нормальными. (То есть я смог их скопировать и воспроизвести - большинство наших данных - это видеофайлы.)

Я хотел бы скопировать все, для которого у нас нет резервной копии, и которая не повреждена, на другую машину, а затем обновить ее до RAIDZ2.

Я думаю, что, возможно, случилось то, что 2 диска стали смещенными. Я думаю, что отсек для горячей замены у нас плохого качества.

Но опять же, они ДЕЙСТВИТЕЛЬНО связаны, просто неисправны... Я не знаю.

Завершение переоснащения за 3,5 часа.

Теперь статус zpool говорит:

  pool: raid-5x3
 state: ONLINE
 scrub: resilver completed after 3h31m with 0 errors on Fri Aug 17 21:46:12 2012
config:

        NAME        STATE    READ WRITE CKSUM
        raid-5x3    ONLINE      0    0    0
          raidz1    ONLINE      0    0    0
            ada1p2  ONLINE      0    0    0
            ada2p2  ONLINE      0    0    0  236G resilvered
            ada4p2  ONLINE      0    0    0
            ada5p2  ONLINE      0    0    0  252G resilvered
            ada3p2  ONLINE      0    0    0

errors: No known data errors

Значит ли это, что данные восстановлены? "Нет известных ошибок" звучит многообещающе!

Я сейчас начал скраб. (Осталось 8 часов.)

У нас нет резервной копии ВСЕХ данных... поэтому нам нужно выяснить, какие из этих файлов повреждены, а какие можно использовать.

Сбой привода? Если да, то какой? Или это просто ослабло?

Нужно ли заменить один? Два?

Насколько безопасны наши данные? Если да, то какие файлы?

2 ответа

Решение

Я недостаточно использовал zfs, чтобы сказать о целостности данных. zpool список дал raidz1-0 ОНЛАЙН 0 0 0 c8t1d0p0 ОНЛАЙН 0 0 0 c8t2d0p0 ОНЛАЙН 0 0 0 c8t3d0p0 ОНЛАЙН 0 0 0

smartctl -d sat, 12 -a / dev / rdsk / c8t3d0p0 перечислил определенные атрибуты. -d sat -d ata -d scsi может заставить его работать в зависимости от того, какой тип дисков у вас есть. Посмотрите на частоту ошибок чтения, количество перемещенных секторов, частоту ошибок поиска, аппаратный ресурс и перемещение ожидающих секторов. -t short или -t long вместо -a запустит тест. длительный тест может занять один или несколько часов в зависимости от привода. ошибки чтения и аппаратные ошибки не всегда являются ошибкой. однако, если они продолжают прыгать между списками, они могут быть хорошим индикатором. Кроме того, некоторые производители дисков могут потребовать, чтобы вы использовали их инструменты для получения диска.

Если бы я был на вашем месте и не был уверен насчет привода, я бы получил замену, и после проверки его работоспособности, поработав с производителем или получив его. Я бы добавил дополнительный накопитель в качестве горячего резерва, чтобы, если это случится снова, у вас был готов и ждал другой накопитель. z2 тоже неплохая идея, но я бы все еще держал запасной в своих крыльях. с размерами дисков теперь они занимают много времени для восстановления, и есть вероятность появления второй ошибки.

Что касается поврежденных файлов, если у вас все еще есть оригинальный файл, где еще один из этих "поврежденных" файлов выполняет его вычисления md5, а затем проверяет, соответствует ли md5 поврежденного файла. это скажет вам, если биты были повреждены. если нет, то это может привести к невидимому повреждению файлов. будет ли его ущерб, чтобы быть проблемой, будет зависеть от вас.

То же самое случилось со мной, когда я случайно удалил неправильный диск при замене неисправного. Когда я проверил массив, он сказал, что весь vdev вышел из строя с повреждением двух дисков. После того, как я снова подключил неисправный диск и заменил неисправный диск, пул полностью восстановил сам себя, не оказывая заметного влияния на файлы, которые изначально были указаны как поврежденные / потерянные / поврежденные.

Насколько я понимаю, когда диск был на мгновение ослаблен, он был помечен как неисправный, тогда, поскольку один диск действительно вышел из строя, весь массив также был помечен как неисправный. Затем, как только он был повторно подключен, он сканируется и отображается как часть существующего пула, а также повторно добавляется вместе с остальными. Поскольку 3/4 дисков достаточно, чтобы иметь жизнеспособные данные, если данные не изменились слишком сильно, все можно восстановить после замены неисправного диска.

Ошибки контрольной суммы не являются серьезными ошибками - это исправимые ошибки. Когда происходит ошибка контрольной суммы, ZFS немедленно исправляет ошибку в RAIDZ, это одна из основных причин, по которой ZFS является такой замечательной файловой системой. Тем не менее, просмотр ошибок контрольной суммы является признаком проблемы. Внимательно следите за дисками, попробуйте иметь запасной под рукой в ​​случае сбоя. Если вы снова видите ошибки контрольной суммы, замените диск или кабель, на котором они происходят. Это может быть объединительная плата, это может быть разъем, это может быть что угодно, проверьте все. Если вас беспокоит весь залив, замените его.

Ни одна из известных ошибок не относится только к текущему состоянию пула, а не к его полной истории. Поскольку диск был заменен, а массив восстановлен, статистика, похоже, также была очищена; ошибки контрольной суммы обнуляются. Ранее было две ошибки, и они будут оставаться, пока не будут устранены.

Отчетам ZFS можно доверять, поэтому любые файлы, которые не были перечислены в списке поврежденных файлов, должны быть в порядке. Как уже упоминалось в другом ответе, если вы знаете хорошие копии любого из файлов, выполнение некоторых выборочных проверок не повредит. Создание полных резервных копий также не будет плохой идеей.;)

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