LINUX.ORG.RU
ФорумAdmin

Это нормальное поведение ZFS?

 ,


0

1

ZFS это хранение данных с избыточностью - значит возможно восстановление данных. ZFS это hotspare - поврежденный диск заменится сам (storage autoreplace on). Звучит надежно! Утром отвалился pool, какая ерунда сейчас все починю, я же все делал правильно. F0ck you, Jack(c) action: Destroy the pool and restore from backup. Да и действительно, что еще за глупости с восстановлением.

# сама так сказать причина
zdb -l /dev/ada1
failed to unpack label 0


Ответ на: комментарий от Harliff

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

pavel_l
() автор топика

я кроме RAID-1 икакой другой не использую. RAID-5 - это интересный механизм записи данных змейкой, но он и в Btrfs глючит, а с ZFS… теж самые проблемы, если верить гуглу. У всех какие-то сложности с его реализацией. Испытай тогда уж BcacheFS может он/она/оно/они не ломается

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)

хранение данных с избыточностью - значит возможно восстановление данных

нет, избыточность может быть только для контроля

Если грохнулся pool, то он уже прошел этапы деградации, hotspare (авто восстановление), снова деградации, …

Ты просто прощёлкал свой zfs

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от Harliff

Сегодня вечером возьмусь за препарирование пула, покажу все подробнее. Пока могу только на словах - система на zfs имеет два пула:

  • nas_pool - хранилище из 4-х дисков с избыточностью raidz
  • system - 1 диск под систему

Автоматическое использование диска горячей замены указано в настройках пула, так же по расписанию раз в неделю запускается scrub для проверки целостности (к вопросу, о том, что прощелкал zfs) с отправкой отчета. Пул пропал одномоментно. На данный момент команды zpool list, zpool status выдают информацию только о целом имеющемся в системе пуле system. zdb -l по остальным трем дискам выдает полную информацию о метках. При попытке импорта zpool import выдает о наличии пула nas_pool и о невозможности его импорта. Ключ -f, импорт RO заканчиваются также corrupted

Начну с рекомендации импортировать пул на другой системе.

pavel_l
() автор топика
Ответ на: комментарий от pavel_l

zpool import выдает о наличии пула nas_pool и о невозможности его импорта

Так у тебя пул не развалился, а отвалился.

и о невозможности его импорта

Покажи как он ругается об этом?

BOOBLIK ★★★★
()

Ну вот и обещанные «портянки»:

Как можно увидеть пул только один - system

root@NAS:~ # zpool list
NAME     SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
system   107G  8.49G  98.5G        -         -     6%     7%  1.00x    ONLINE  -

естественно его статус - ОК

root@NAS:~ # zpool status
  pool: system
 state: ONLINE
  scan: scrub repaired 0B in 00:00:51 with 0 errors on Tue Aug 17 22:54:45 2021
config:

        NAME        STATE     READ WRITE CKSUM
        system      ONLINE       0     0     0
          ada2p3    ONLINE       0     0     0

errors: No known data errors

Здоровье в порядке

root@NAS:~ # zpool status -x
all pools are healthy

выхлоп zdb

zdb -l по 4-ём дискам из пула nas_pool

Ну и на последок попытка импорта пула

root@NAS:~ # zpool import
   pool: nas_pool
     id: 8864619166620872156
  state: FAULTED
status: The pool metadata is corrupted.
 action: The pool cannot be imported due to damaged devices or data.
        The pool may be active on another system, but can be imported using
        the '-f' flag.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-72
 config:

        nas_pool                           FAULTED  corrupted data
          raidz1-0                         ONLINE
            gpt/WD_BLUE_WCC6Y3LKA9YS       ONLINE
            gpt/WD_BLUE_WCC3F5646375       ONLINE
            gpt/TOSHIBA_ACA100_69B5N62NS   ONLINE
            gpt/TOSHIBA_HDWH110_18K96AXNS  ONLINE

pavel_l
() автор топика

ZFS это ненадёжная технология. Для рейда надо покупать дорогие брендовые хардварные рейд-контролеры. Если что-то сломалось - рядом с диском загорается красная лампочка. Диск выкидываешь, замену вставляешь и всё, ничего восстанавливать не надо.

vbr ★★★★
()
Ответ на: комментарий от vbr

сомнительное утверждение, да и у него судя по NAS - домашняя файлопомойка. ZFS с его проблемами с RAID5 aka RAIDZ ведет себя так же как Btrfs. Наверное, это какая-то родовая болезнь раз прогрессивные файловые системы не могут в этот RAID. Да и для файлопомойки и обычный mdadm raid10 с ext4 предпочтительнее. Зачем снапшоты какие-то для хранения мусора??? Тем более фильмы и прочая параша уже сжатые и сжать их невозможно

rtxtxtrx ★★
()
Ответ на: комментарий от rtxtxtrx

Зря так, бесплатные снапшоты это как раз одна из причин по которой была выбрана zfs, к слову делались они ежедневно. Сжатие фс тоже полезная штука, у меня хранилось достаточно много данных для которых сжатие было вполне актуально.

pavel_l
() автор топика
Ответ на: комментарий от rtxtxtrx

RAID 10 это ненадёжно. Лучше RAID 6. Что в RAID 10, что в RAID 5 вылет любого диска сразу ставит весь массив на грань поломки. При восстановлении данных на новый диск у тебя в массиве остаётся только одна реплика для данных и если что-то происходит хоть с одним сектором второго диска (а вероятность этого ненулевая, т.к. идёт большая нагрузка), то у тебя данные пропали, привет бэкап. В RAID 6 при вылете одного диска всё равно есть два источника для данных, то бишь при восстановлении должны поломаться ещё два сектора, причём оба в нужных местах, это прям очень маловероятно. И даже если ещё один диск вылетит, всё равно рейд не сдох. В общем RAID 6 это минимально допустимый уровень для систем, где большой даунтайм очень дорог. А рассыпавшийся при ребилде RAID 10 или 5 это норма.

Ну или RAID 1 из трёх дисков, для простоты и скорости, если объёмы не нужны.

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от vbr

А рассыпавшийся при ребилде RAID 10 или 5 это норма.

Про 5 рейд слышал неоднократно, про 1 (10) - первый раз. Там же линейное чтение получается, от чего рассыпаться?

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 1)
Ответ на: комментарий от pavel_l

vdev_tree: type: ‘root’ id: 0 guid: 8864619166620872156 create_txg: 4 children[0]: type: ‘raidz’ id: 0 guid: 57248501214257434 nparity: 1

Почему был выбран «raid-z», а не «raid-z2» с удвоенным дублированием? «raid-z» может пережить потерю одного любого диска, а тут, видимо, отвалились какие-то два. На это указывает потеря 0, 1 и 3 меток на ada5/ada4/ada1, я думаю.

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

UPD: https://superuser.com/questions/1305302/howto-recover-a-raidz-with-3-disk-that-faulted

dsl
()
Последнее исправление: dsl (всего исправлений: 2)
Ответ на: комментарий от vbr

Лучше RAID 6. …
в RAID 10 … вылет любого диска сразу ставит весь массив на грань поломки.

Уверены?

А рассыпавшийся при ребилде RAID 10 или 5 это норма.

Вы складываете разные яйца в одну корзину.

Ну или RAID 1 из трёх дисков, для простоты и скорости

Ну и чем оно лучше raid 10 из 6 дисков акромя стоимости?

anc ★★★★★
()
Ответ на: комментарий от dsl

Почему был выбран «raid-z», а не «raid-z2» с удвоенным дублированием?

А если бы у меня был raidz2 вы бы видимо спросили почему не raidz3?

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

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

На это указывает потеря 0, 1 и 3 меток на ada5/ada4/ada1

Задавался этим же вопросом, надо более подробно почитать в документации zfs о метках, нормально ли это поведение или нет.

pavel_l
() автор топика
Ответ на: комментарий от pavel_l

А если бы у меня был raidz2 вы бы видимо спросили почему не raidz3?

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

Задавался этим же вопросом, надо более подробно почитать в документации zfs о метках, нормально ли это поведение или нет.

Как диски были подключены?

dsl
()
Последнее исправление: dsl (всего исправлений: 2)

Все чудесатее и чудесатее. Читаю мануал (да, не оригинал) по zfs касательно меток -

Для повышения надёжности на диске присутствуют 4 метки - две в начале диска и две в конце (по номерам, соответственно, 1, 2 и 3, 4). Кроме того, при обновлении данных в метках вначале обновляются первая и третья, а потом - вторая и четвёртая. Это также повышает отказоустойчивость: если произошла ошибка при записи одной из пар, то может использоваться другая пара.

И тут же возникает вопрос, а какого, как говориться, у меня на всех дисках по одной метке??? Чуть ранее @dsl уже обратил на это внимание и предположил, что остальные 3 метки на всех дисках так же были потеряны. Вроде бы сходится, но! У меня же есть еще один пул - system, смотрим метки у него:

root@NAS:~# zdb -l /dev/ada2
failed to unpack label 0
failed to unpack label 1
------------------------------------
LABEL 2
------------------------------------
    version: 5000
    name: 'system'
    state: 0
    txg: 17892862
    pool_guid: 18378120902235485168
    errata: 0
    hostname: ''
    top_guid: 8510313443781539880
    guid: 8510313443781539880
    vdev_children: 1
    vdev_tree:
        type: 'disk'
        id: 0
        guid: 8510313443781539880
        path: '/dev/ada2p3'
        whole_disk: 1
        metaslab_array: 128
        metaslab_shift: 30
        ashift: 12
        asize: 115731857408
        is_log: 0
        DTL: 583
        create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
    labels = 2
failed to unpack label 3

Точно такая же ситуация - только одна, третья (label2) метка, при этом с пулом все ок, здоров, ошибок нет.

root@NAS:~# zpool status
  pool: system
 state: ONLINE
  scan: scrub repaired 0B in 00:00:51 with 0 errors on Tue Aug 17 22:54:45 2021
config:

        NAME        STATE     READ WRITE CKSUM
        system      ONLINE       0     0     0
          ada2p3    ONLINE       0     0     0

errors: No known data errors

Вопрос - метки где?

pavel_l
() автор топика