6

Сколько памяти мне понадобится, если я захочу использовать RAID-Z2? Я создаю домашний сервер, на котором будет работать FreeNAS с файловой системой ZFS, и в настоящее время планирую установить 3 жестких диска по 3 ТБ.

  • RAID-Z2 работает на этом?
  • Нужно ли переходить на RAID-Z1?
  • Сколько дисков нужно для RAID-Z2?

1 ответ1

11

RAID-Z2 работает, беря диски, предоставленные vdev, и используя два из них для хранения избыточных данных в целях восстановления на случай, если что-то пойдет не так.

Следовательно, абсолютное минимальное количество дисков в RAID-Z2 vdev - это два избыточных плюс один, который работает на три диска.

Однако, делая это таким образом, вы:

  • получают эффективную емкость только одного из дисков
  • может потерять любые два из трех задействованных дисков без потери данных (в общем случае вы можете пережить потерю любых двух дисков в диске N RAID-Z2 vdev)
  • вынуждают систему рассчитывать данные четности для RAID-Z2

Если вы хотите, чтобы vdev состоял из трех дисков, или если у вас есть три и вы хотите избыточности на два диска, вам, вероятно, будет лучше, если вместо этого настроить их как зеркало. Таким образом, вы:

  • получают эффективную емкость только одного из дисков (независимо от количества зеркальных устройств)
  • может пережить потерю любых двух из трех задействованных дисков без потери данных (в общем случае вы можете пережить потерю любых дисков N-1 в зеркале N диска vdev)
  • избегают вычислений данных четности, потому что зеркала являются бит-идентичными копиями друг друга; записать одни и те же данные на несколько дисков гораздо дешевле, чем рассчитать отдельные данные четности и записать их на диск

Минимальное количество дисков, для которых RAID-Z2 имеет смысл, равно четырем, что дает эффективную емкость двух дисков и позволяет потерять любые два диска. Это выгодно по сравнению с использованием тех же четырех дисков в настройке зеркала 2x2, потому что, если у вас есть два зеркальных vdevs по два диска каждый и вы потеряете несколько комбинаций двух дисков, этот vdev не работает и заберет пул с его огненной гибелью. В зеркальном пуле vdev 2x2 по крайней мере один из дисков в каждой зеркальной паре должен оставаться работоспособным, чтобы пул оставался доступным. Тем не менее, зеркало вполне может иметь лучшую производительность. Как всегда, это компромисс между различными вариантами, и одна часть должностной инструкции системного администратора состоит в том, чтобы сделать эти компромиссы подходящими для каждой конкретной ситуации.

Таким образом, хотя RAID-Z2 может технически работать с описанной вами настройкой, он не дает никаких преимуществ и даже имеет некоторые недостатки по сравнению с простой конфигурацией с тремя зеркалами.

Было бы иначе, если бы ZFS позволяла нам динамически изменять уровень избыточности или увеличивать количество устройств в RAID-Zn vdev, но это не так. Единственный способ фактически увеличить пул - это добавить больше vdevs или увеличить размер существующих устройств, а не добавлять устройства в существующий vdev. (Вы можете добавлять и удалять устройства в зеркале vdev, но это только меняет объем избыточности, а не полезную емкость хранилища.)

Кроме того, можно настроить три диска как RAID-Z(1) VDEV, что даст вам возможность пережить потерю любого одного из дисков , прежде чем ваши данные в опасности , если что - либо вообще дальше пойдет не так, уменьшить CPU рабочая нагрузка по сравнению с RAID-Z2 (поскольку расчеты четности RAID-Z1 требуют меньше вычислительных ресурсов) и дают эффективную емкость для хранения двух дисков вместе.

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

Отсюда моя рекомендация: если вам нужны три диска ZFS и вы хотите избыточность, установите их как трехстороннее зеркало vdev. Если вам нужен RAID-Z2, используйте как минимум четыре диска, но имейте в виду, что вы блокируете количество дисков в vdev во время создания vdev. В настоящее время единственным способом увеличения пула ZFS является добавление дополнительных vdevs или увеличение размера устройств, составляющих vdev, или создание нового пула и передача данных. Вы не можете увеличить емкость пула, добавив устройства к существующему vdev.

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

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

Кроме того, в связи с проблемой восстановления вы должны очень строго рассмотреть использование ОЗУ ECC в любой системе, в которой работает самовосстанавливающаяся файловая система с контрольной суммой, включая ZFS. Другие согласны.

Показывает, что RAID-Z2 с тремя устройствами возможен (это ZFS В Linux 0.6.4). Обратите внимание, что после жесткого удаления двух из трех файлов резервных копий «существует достаточное количество реплик для пула, чтобы он продолжал функционировать в ухудшенном состоянии». и vdev DEGRADED , а не FAULTED .

# truncate -s 1G /root/d1 /root/d2 /root/d3
# zpool create tank raidz2 /root/d1 /root/d2 /root/d3
# zpool status tank
  pool: tank
 state: ONLINE
  scan: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        tank          ONLINE       0     0     0
          raidz2-0    ONLINE       0     0     0
            /root/d1  ONLINE       0     0     0
            /root/d2  ONLINE       0     0     0
            /root/d3  ONLINE       0     0     0

errors: No known data errors
# zpool export tank
# rm /root/d1 /root/d2
# zpool import tank -d /root
# zpool scrub tank
# zpool status tank
  pool: tank
 state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas exist for
        the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
   see: http://zfsonlinux.org/msg/ZFS-8000-2Q
  scan: scrub repaired 0 in 0h0m with 0 errors on Tue Mar 29 11:00:23 2016
config:

        NAME                      STATE     READ WRITE CKSUM
        tank                      DEGRADED     0     0     0
          raidz2-0                DEGRADED     0     0     0
            18130982121682915530  UNAVAIL      0     0     0  was /root/d1
            18289483070703159278  UNAVAIL      0     0     0  was /root/d2
            /root/d3              ONLINE       0     0     0

errors: No known data errors
# 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .