2

Я хочу обновить домашний NAS, который я использую для хранения фильмов (с Plex Media Server), изображений и резервных копий.

В настоящее время в пуле raidz1 имеется 5 дисков по 3 ТБ.

Я был ограничен количеством портов SATA, но с приобретением 8-портового контроллера у меня теперь есть ограничение в 14 портов SATA. (-1 для системы так 13 портов).

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

Для ЗИЛа я прочитал, что достаточно нескольких ГБ, но рекомендуется отразить его.

Итак, это настройка, о которой я думал:

  • 1 система SSD
  • 11 дисков для хранения (raidz2)
  • 2 SSD нарезаны для ZIL/L2ARC (зеркальное отображение ZIL и добавление двух других срезов для кэширования)

Я рассуждаю о нарезанном SSD:

  • Мне не нужна самая быстрая система, поэтому я могу принять компромисс между ZIL и L2ARC, разделяющими IO
  • У меня все еще есть преимущество зеркалирования ZIL, поэтому в случае аварии я должен быть в безопасности

Диски для хранения в настоящее время являются дисками по 3 ТБ, и, как я понимаю, общий размер пула составляет (numberOfDisks-2)*sizeOfSmallestDisk что будет означать: (11-2)* 3 ТБ = 27 ТБ

Итак, мои вопросы:

  • Хорошо ли сбалансирована эта настройка?
  • Можно ли нарезать твердотельные накопители для журналов и кеша?
  • Правильна ли моя формула для размера пула?
  • Смогу ли я заменить диски один за другим на диски большего размера, и как только все они будут обновлены, я увеличу пул? Например, замените диски дисками объемом 4 ТБ и получите хранилище объемом 36 ТБ.
  • Будет ли это нормально работать на Linux? В настоящее время у меня есть OpenIndiana и я хочу перейти на Ubuntu Server.

Заранее спасибо.

Мои главные источники вдохновения:

1 ответ1

1

Большинство ваших пунктов верны, поэтому я сосредоточусь на остальном:

  1. Использование устройства SLOG для ZIL помогает вам только с небольшими синхронизированными записями, так что это довольно обязательно, если вы хотите хранить на нем виртуальные машины, и совершенно бесполезно в большинстве других случаев домашнего использования, особенно при резервном копировании и потоковой передаче мультимедиа. Как вы всегда можете позже добавить и удалить, вы должны начать без, а затем добавлять только при необходимости.

  2. L2ARC может повысить производительность чтения, но она медленнее, чем ОЗУ, требует дополнительной ОЗУ и помогает только при чтении тех же данных. Опять же, плохо для потоковой передачи всего фильма или музыки, но хорошо, если у вас хостинг на веб-сайте с большим доступом или если сотни пользователей обращаются к общим файлам. Основное правило таково: сначала увеличьте объем ОЗУ (в зависимости от вашей платы 32, 64, 128 или 256 ГБ, скорее всего), затем подумайте о L2ARC.

  3. ZIL и L2ARC на одном устройстве обычно не очень хорошая идея, так как их потребности прямо противоположны:

    • ZIL постоянно записывается для небольших случайных синхронизированных операций ввода-вывода (большие и последовательные операции ввода-вывода обходят его, асинхронные операции ввода-вывода вообще не используют его), что означает, что вы хотите использовать твердотельный накопитель с очень низкой задержкой записи (Intel - единственный поставщик I мы обнаружили, что эта характеристика задает даже для более дешевых потребительских твердотельных накопителей), допустимые значения IOPS при записи (здесь достаточно почти всех твердотельных накопителей) и большое количество TBW, поэтому твердотельные накопители не умирают каждый год от истощения. Для размера <10 ГБ обычно достаточно для небольших систем. Зеркальное отображение предпочтительнее, чтобы предотвратить потерю данных при сбое питания и SSD одновременно.
    • L2ARC, с другой стороны, должен быть в несколько раз больше (обычно> 64 ГБ, в зависимости от ОЗУ), редко записывается, но часто читается, поэтому вам нужны высокие IOPS при чтении, приемлемая задержка чтения и не слишком заботятся о TBW , В большинстве случаев зеркалирование - это пустая трата денег, так как это всего лишь кэш-устройство, которое можно без проблем потерять и восстановить.
  4. Конечно, возможен единый корневой пул, но вы избавите себя от головной боли, если отразите его. Так как обычно это не так много, два медленных диска или даже USB-устройства (каждая материнская плата имеет как минимум два USB-порта в качестве заголовков внутри) идеально подходят для домашнего использования, и вы получаете еще один пригодный для использования слот для дисков. Особенно при работе без ИБП два устройства rpool действительно дают вам душевное спокойствие.

  5. Ваш пул имеет правильный размер, но можно выбрать 12 дисков с 2x Z2 (6 дисков каждый) или 1x Z3 (12 дисков каждый). Как правило, при использовании Z1/2/3 сначала необходимо заполнить все имеющиеся в наличии слоты для дисков, поскольку при обновлении размера диска по одному тривиально, добавление большего количества дисков в дальнейшем невозможно.

  6. Я не знаю о Linux (должно работать нормально), но вы смотрели на другие системы на базе Illumos? OmniOS - это небольшой, простой и стабильный продукт, который можно настроить в соответствии с вашими потребностями (он также включает зоны KVM и LX). SmartOS похожа, но ориентирована в основном на зоны (контейнеры), поэтому вы можете запускать все свои службы независимо друг от друга и даже запускать гостевые системы Linux в этих зонах для тех немногих служб, которые недоступны в Solaris. Существуют также Delphix и NexentaStore Community Edition, но я их не проверял.


Мое личное предложение:

  • Используйте любую операционную систему, с которой вам удобно (если вам нравится стабильность Solaris, попробуйте OmniOS или если вы хотите виртуализации, попробуйте SmartOS)
  • Используйте зеркальные rpools на USB-дисках (жесткие диски USB3 или флешки USB3 с памятью SLC), чтобы открыть больше слотов для дисков
  • Используйте 6 портов от материнских плат и 6 портов от платы HBA, чтобы вы могли потерять контроллер и ваша система продолжала работать
  • 2 свободных порта могут быть использованы в будущем для устройств SLOG или L2ARC в зависимости от ваших потребностей
  • Расположение (12 - очень хорошее число, 16 будет следующим, потому что большинство контроллеров имеют 4 или 8 портов):
    • Если вам нужна максимальная производительность: зеркала 6x2, каждое на обоих контроллерах
    • Если вам нужна максимальная устойчивость: 4x3 зеркала или 1x RAID Z3 (12) или 2x RAID Z2 (6)
    • Если вам нужно максимальное пространство: 1x RAID Z2 (12)
  • Сначала увеличьте объем оперативной памяти, затем все остальное

Что касается ваших последующих вопросов из комментариев:

Мне нравится идея использования двух зеркальных флешек USB3 для системы, но является ли она загрузочной?

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

Некоторые с другой стороны (например, FreeNAS) не рекомендуют его, потому что они не настроены для USB-накопителей и поэтому постоянно записывают на диски и довольно быстро изнашивают более дешевые (именно поэтому так много Raspberry Pis рано выходят из строя - система Linux считает, что у него неразрушимый жесткий диск, а не какая-нибудь USB-флешка или SD-карта стоимостью 5 евро, предназначенная для редких операций записи, например, с цифровой камеры).

С палками SLC (или настоящими твердотельными накопителями) у вас нет этих проблем. Конечно, они дороже, примерно от 30 до 40 евро за флешки объемом 16 ГБ (MachExtreme MX-ES - это единственные полезные вещи в этом секторе). SSD может быть дешевле (30 евро за 32 ГБ), но вам понадобится USB-адаптер, и они занимают больше места. Вы можете использовать их вне футляра для быстрого резервного копирования / обмена или внутри для контроля доступа (читай: если у вас есть дети, которые любят блестящие игрушки).

Кажется, мне не нужны диски с журналом и кешем, я должен использовать все 14 портов для дисков?

Зависит от ваших потребностей и бюджета. Если вы используете зеркала, вы можете добавить их позже. Если вы используете RAID-Zn, я бы установил окончательную сумму перед созданием пула, потому что вы не можете легко добавить больше. С другой стороны, вы можете захотеть оставить некоторые порты свободными для резервного копирования (например, с помощью слотов caddys для 3,5-дюймовых дисков) или для целей кэширования, если ваши потребности изменятся. Это зависит от вас, если вы цените пространство больше, чем гибкость (и это зависит от того, сколько карт расширения поддерживает ваше оборудование).

Что-то вроде 2x7 RaidZ2 в полоску? Если я сделаю это, и контроллер выйдет из строя, пул выйдет из строя, но если я заменю контроллер на идентичный, он снова запустится?

Да, и это работает, даже если вы используете другой контроллер, потому что все сделано в программном обеспечении. Вам просто нужно добавить достаточно дисков, чтобы каждый vdev работал, и вы можете снова подключить пул.

В вашем случае, если ваш 8-портовый контроллер выходит из строя, вам необходимо каким-либо образом добавить пять (7 - 2) этих дисков в систему (8-й является расходным, так как остальные шесть дисков все еще работают), например с 4-портовым контроллером и одним USB-диском (не рекомендуется, просто чтобы показать, что подключение в принципе не имеет смысла).

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

И если я сделаю это, могу ли я вырастить одну часть бассейна, не касаясь другой?

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

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