FreeNAS с ZFS и TLER / ERC / CCTL

Я сейчас создаю новый сервер хранения, который будет использоваться для виртуальных машин, файлов и резервного копирования. Операционная система - FreeNAS, которая использует ZFS в качестве программного RAID.

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

Могу ли я использовать бытовые жесткие диски, которые не поддерживают TLER / ERC / CCTL, с ZFS (программный RAID), без проблем в дальнейшем, или мне нужно использовать корпоративные жесткие диски, поддерживающие TLER / ERC / CCTL?

Есть много разных мнения об этом, и некоторые говорят, что вам следует использовать это, а некоторые говорят, что вы не должны. Я знаю пару ОС, которые полагаются на программный рейд, у которых есть собственный тайм-аут исправления ошибок, и поэтому их не волнует, есть ли TLER / ERC / CCTL. Я понимаю, что вам нужно использовать TLER / ERC / CCTL при работе с аппаратным RAID.

Я очень надеюсь, что кто-то сможет пролить свет на мою проблему.

Спасибо.

5
задан 12 March 2017 в 16:40
2 ответа

Могу ли я использовать жесткие диски потребительского класса, которые не поддерживают TLER / ERC / CCTL, с ZFS (программный RAID), не попадая в неприятности позже, или мне нужно перейти на жесткие диски корпоративного класса, которые поддерживают TLER / ERC / CCTL?

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

Пример

Для этого вопроса предположим, что у вас есть пул, состоящий из 2 зеркальных дисков A и B. Возможны следующие комбинации:

  1. A и B имеют TLER
  2. A, B не
  3. A не имеет его, но B имеет
  4. A и B не имеют его

Если все работает нормально на всех дисках, то проблем не возникает.

Одна ошибка:

Если диск A испытывает ошибку при попытке прочитать блок, то именно такая ситуация возникает в каждом возможном случае:

  1. Система запрашивает у диска блок. Диск пытается найти его снова и снова, и примерно через 7-9 секунд (независимо от таймаута TLER) контроллер выкидывает диск из массива. Система замечает, что одного диска не хватает, и делает все, что у вас есть (поднимает предупреждение по электронной почте, начинает ресельверизацию hotspare, ничего не делает и продолжает деградировать, ...)
  2. То же самое, что и 1.
  3. Система запрашивает диск для блока. Диск пытается найти его снова и снова, пока не достигнет своего собственного таймаута или пока не будет найден блок. Этот таймаут может составлять несколько минут и может быть разным для каждой модели и производителя. Если блок может быть найден, он читается нормально; если не удается, возвращается сообщение об ошибке для самого блока.
  4. То же самое, что и 3.

Две ошибки (по одной на каждом диске):

Этот случай очень редкий, но теоретически возможен. На обоих дисках ошибка возникает точно на одном и том же блоке:

  1. Оба диска будут сброшены, и ваш пул станет недоступен.
  2. То же самое, что и 3 сверху.
  3. То же самое, что и 3 сверху.
  4. То же самое, что и 3 сверху.

Производительность против надежности

Как вы видели выше, вы должны сделать выбор в зависимости от вашей цели и расположения пула.

  • Используйте TLER-диски, если вам всегда нужно минимальное время отклика и вы не можете выдержать длительный блокирующий лаг. Недостатком является то, что вы должны потенциально предоставить дополнительные диски (Z2 вместо Z1, Z3 вместо Z2, 3-зеркала вместо 2-х зеркал) или "горячие" спарривания для достижения того же среднего здоровья пула в конце концов. Кроме того, вы должны предусмотреть потенциально длительное время восстановления, что может негативно повлиять на общую производительность.
  • Используйте диски, не являющиеся TLER, если бюджет или пространство ограничены, и задержка приемлема, если диски сохранены. Так как ZFS уже помогает в самовосстановлении поврежденных блоков, вам не нужно то, что было изначально предусмотрено TLER (контроллер должен бросать диски, чтобы началось самовосстановление)
  • Установите тайм-аут диска на значение, с которым ваше приложение/архитектура может удобно работать. Таким образом, вы можете иметь корпоративные диски без падения или потребительские диски с падением, как вы предпочитаете. Не все диски модифицируемы, поэтому сначала проверьте онлайн перед покупкой.
2
ответ дан 3 December 2019 в 01:49

Также заслуживают внимания цифры Backblaze, опубликованные о сроке службы корпоративных дисков и надежности потребительских дисков .

Хотя они используют пользовательскую реализацию Reed-Solomon , их цифры (и бизнес-модель) говорят о том, что потребительские диски, безусловно, способны обеспечить хорошую надежность, а с помощью подходящего алгоритма обнаружения/восстановления ошибок, могут обеспечить хорошую защиту ваших данных. Конечно, вся их установка, кажется, работает довольно хорошо без каких-либо из этих корпоративных особенностей.

Итак, как говорит @user121391 (возможно, я немного перефразирую), ZFS на потребительских дисках должна быть в порядке, если только у вас нет специфических потребностей, которые потребовали бы функций предприятия.

1
ответ дан 3 December 2019 в 01:49

Теги

Похожие вопросы