Очевидно, что если весь диск умирает, то RAID-Z на одном диске не поможет. Но как насчет других типов ошибок?
Из моего опыта у меня иногда есть файл, который я не могу прочитать. В Mac OS X система зависнет на некоторое время, а затем вернется с ошибкой. Я перемещаю файл куда-то в сторону, и я предполагаю, что в этом файле есть плохой сектор или плохой блок, или, возможно, даже вся плохая дорожка.
Я датируюсь временами гибких дисков, когда ручное управление сбоями дисков было обычным делом. Конечно, вы могли бы заменить плохую дискету как можно скорее, но иногда вы не могли сделать это немедленно, поэтому практикой было найти плохую область, выделить ее для файла и затем никогда не удалять этот файл.
Первый вопрос: как выходят из строя жесткие диски? Верны ли мои предположения выше? Правда ли, что плохой блок становится плохим, но весь диск по-прежнему в основном пригоден для использования? Если это так, то кажется, что RAID-Z может восстановить поврежденный блок или поврежденную область диска, используя четность других блоков (областей).
Вариант использования для резервного копирования. Если я отправляю данные на диск 8 ТБ один раз в неделю, имеет ли смысл считать его диском данных 7 ТБ плюс 1 ТБ четности в надежде на то, что дополнительная четность поможет мне восстановиться после бит-гнили, поврежденных секторов или другие локализованные сбои дисков?
Если теория технически не ошибочна, то можно ли настроить ZFS для этого?
Изменить: я видел другой вопрос, прежде чем опубликовать этот вопрос. Разделение на отдельные разделы, где каждый раздел сгруппирован, является одним из вариантов. Но в принципе, было бы возможно, чтобы карта блоков для N разделов была переплетена друг с другом так, чтобы одна полоса, в то время как логически была бы между N разделами, физически была бы очень близко друг к другу. Это был суть моего вопроса "можно ли настроить ZFS для этого?" т.е. просто ZFS ... не ZFS с обманом разделов.
copies=2
, но при этом вы понесете 50% штраф хранилища. Кроме того, я не эксперт по ZFS, но моя интуиция (которая может ошибаться) говорит мне, что ZFS не будет довольна предложенным вами решением. PAR2 - это зрелая, гибкая технология. Его использование не только удовлетворит ваше требование четности, но и позволит вам при желании установить уровень четности для каждого архива.Ответы:
Поскольку контроль четности RAID-Z работает благодаря наличию блока контроля четности на другом устройстве в пуле, вам необходимо разделить ваше устройство на N + 1, N + 2 или N + 3 равных по размеру разделов, где N разделов содержат данные и 1/2 содержат биты четности.
Поверх этих разделов вы должны создать zpool с выбранным вами RAID-Z, а затем создать файловую систему в zpool.
Итак, в теории это работает. На практике это может привести к ухудшению производительности файловой системы, поскольку последующие блоки в файлах будут расположены на разных устройствах ZPool, которые находятся в разных разделах. Таким образом, после чтения блока жесткий диск должен переместиться в другую область жестких дисков, прочитать следующий блок и т. Д.
Ответ: да, это было бы глупо.
источник