Назад | Перейти на главную страницу

Создание / обслуживание нестандартного NAS на базе FreeNAS и ZFS

Мне нужен NAS для компании ~ 30 человек. Мы делаем игры (много больших файлов, большие репозитории git, не более того.) Я подумываю купить дешевые компоненты и собрать их сам, используя что-то вроде FreeNAS. (Предположим, что это жизнеспособный вариант с точки зрения цены.)

Я перечислю свои потребности и проблемы ниже, но мой главный вопрос заключается в следующем: достаточно ли его легко создавать и администрировать, или мне просто нужно купить коммерческий NAS (я использовал Synology, и он соответствует всем моим потребностям).

Мои потребности:

  1. Целостность данных имеет первостепенное значение (очевидно!), Но мне не нужно 100% время безотказной работы. Если CPU умирает, я могу заменить его через 2 часа.

  2. Он не должен нуждаться в постоянных переделках и обслуживании. Я хочу прикрепить коробку где-нибудь в углу и просто заходить в нее раз в месяц или около того, когда я хочу добавить репо или пользователя. При этом я могу терпеть умеренный объем работы и сложность, чтобы настроить коробка, или новая услуга; но после этого я хочу, чтобы он "просто работал".

  3. Я хочу начать с кучи жестких дисков разного размера (в основном то, что у нас валяется) и продолжать обновлять их один за другим дисками разного размера по мере того, как заканчивается место или они умирают. Для меня неприемлемо покупать диски 8x4 ТБ сегодня, а затем заменять их все одновременно на диски 8x10 ТБ, когда в массиве через два года заканчивается место. (Гибридный RAID от Synology отлично справляется с этой задачей; функция, которую я еще не нашел в других коммерческих NAS-боксах.)

  4. Должен иметь графический пользовательский интерфейс (в идеале, веб-интерфейс или что-то в этом роде) для решения общих задач для нетехнических пользователей.

  5. Наиболее важными службами, которые я буду запускать на этом компьютере, будут общие ресурсы Samba и репозитории Git. Мне нужен контроль доступа (ничего особенного или сложного) и хорошая поддержка сети.

Мои опасения:

  1. Подходит ли для этого FreeNAS? Я могу запустить дистрибутив Linux и настроить все, что захочу, используя программный RAID, LVM и еще много чего, но это немного выходит за рамки моего приемлемого диапазона сложности (или находится прямо на его краю), и я предпочитаю что-то более простое и понятное для работы .

  2. Если FreeNAS - это то, что нужно, я буду беспокоиться о том, что он основан на FreeBSD, с которой у меня нет опыта. Неужели он слишком отличается от Linux? (Мне вполне комфортно работать практически с любым Linux-терминалом.) У меня нет проблем со сборкой программного обеспечения из исходников, но хороший менеджер пакетов (a la apt и т. Д.) - это огромный плюс. Стоит ли ожидать каких-либо проблем с аппаратной поддержкой? (в основном единственное специальное оборудование, о котором я могу думать, это сетевые карты.)

  3. Подходит ли ZFS? Из того, что я читал, ZFS (и RAIDZ) довольно крутые и в основном то, что я искал всю свою жизнь! Это? Какие подводные камни и самые важные моменты, о которых я должен помнить, исходят от базового аппаратного RAID / LVM и ext4 / NTFS?

  4. Я думаю, что для этого будет достаточно дешевого 2- или 4-ядерного процессора и ~ 4 ГБ ОЗУ. Это? Вряд ли это критично, но я хотел бы знать, далеко ли я.

  5. Агрегация сетевых каналов (связывание сетевых адаптеров) в Linux довольно безболезненно. Я читаю, что FreeBSD такая же. Это?

  6. Я собираюсь поместить в этот ящик несколько терабайт практически незаменимых данных; данные, которые будут очень трудно двигаться, если это не сработает. Что еще я должен исследовать, думать или иметь в виду?

Я знаю, что в основном прошу сообщество о консультации! Но я бы очень признателен за любую помощь. Спасибо.

ОБНОВИТЬ: Один важный вопрос, который я забыл: как в такой системе будет происходить замена жесткого диска? (либо из-за сбоя, либо из-за обновления.) Это слишком сложно? (извините за слишком очевидный каламбур!)

ОБНОВЛЕНИЕ 2: Основываясь на ответах ниже и других «исследованиях», я выбрал следующую стратегию. Я пишу это здесь на случай, если это будет полезно кому-то еще в моей ситуации. (Это не окончательное решение, а процедура дальнейшего расследования.)

Я собираюсь купить аппаратные компоненты (я собираюсь использовать дешевое оборудование, поскольку единственной нагрузкой будет ввод-вывод, ограниченная парой GbE), и с бесплатными дисками, которые у нас есть, создайте FreeNAS- (хотя и с большим объемом ОЗУ, чем я изначально планировал). Я создам массив хранения и, прежде чем помещать в него какие-либо реальные данные, немного поиграюсь с ним (мы никуда не торопимся).

Если базовая FreeBSD окажется слишком похожей на инопланетного зверя, я, вероятно, переключу ту же тестовую систему на Linux и ZFS (и другое программное обеспечение, упомянутое в принятом ответе ниже).

Если это меня не устраивает, я обязательно дам unRAID попытка.

Если ничего из вышеперечисленного не сработает, я просто переделаю коробку для чего-нибудь другого и куплю стандартный NAS (возможно, Synology 1817 или что-то в этом роде).

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

Просто хочу затронуть несколько ваших вопросов. Полное раскрытие информации, я сторонник ZFS. Это все ИМХО.

RE: ваши потребности:

  1. Он не должен нуждаться в постоянных переделках и обслуживании.

Пока все ваши скрабы, снимки, обновления безопасности, предупреждения о емкости и т. Д. Настроены правильно, он должен работать (по крайней мере, пока он не позвонит домой). Несмотря на это, программное обеспечение с ошибками (глядя на ваш netatalk).

  1. Я хочу начать с нескольких жестких дисков разного размера ...

Как отметил willcoq, ZFS не очень хорош в этом конкретном вопросе. Как минимум вам понадобятся пары идентичных (или почти идентичных) дисков для зеркалирования (что даст вам 50% эффективности хранения). Это также наиболее часто рекомендуемая конфигурация.

... а затем заменить их все одновременно ...

И, как я указал на willcoq, если вы используете vdev с зеркальной парой, вы можете обновить свой пул двумя дисками за раз. Если вы выберете два четырехдисковых RAIDZ2 vdev, вы можете обновить свой пул по четыре диска за раз. Если вы выберете один семидисковый RAIDZ3 vdev (плюс горячий резерв), да, вам нужно будет заменить все диски, чтобы реализовать расширение. И так далее.

... Гибридный RAID от Synology отлично справляется со своей задачей; функция, которую я еще не нашел в других коммерческих коробках NAS.

Гибридный RAID (Synology), BeyondRAID (Drobo), XFS (например, unRAID), ZFS (например, FreeNAS) и т. Д. - все это требует компромиссов. Если ваше основное требование - возможность вставить случайные диски в штуковину и заставить ее творить чудеса, это определенно подтолкнет вас к одному из первых двух вариантов.

Должен иметь графический пользовательский интерфейс (в идеале, веб-интерфейс или что-то в этом роде) для общих задач для нетехнических пользователей.

FreeNAS выделяется здесь по сравнению с другими решениями на основе ZFS.

RE: ваши опасения:

  1. ZFS - лучший вариант?

У ZFS не обязательно более крутая кривая обучения, чем, скажем, при развертывании собственного решения XFS, но архитектура, возможно, менее проста; на этапе проектирования можно допустить критические, трудно исправляемые ошибки. К сожалению, существует много «племенных знаний», и при планировании решения невозможно обойтись без чтения и изучения. Решения на основе ZFS определенно требуют более крутого обучения, чем коммерческие готовые системы от Synology и Drobo, а также коммерческое программное обеспечение, такое как unRAID.

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

  1. Если FreeNAS - это то, что нужно, я буду беспокоиться о том, что он основан на FreeBSD, с которой у меня нет опыта. Неужели он слишком отличается от Linux?

Я был в такой же лодке и определенно испытывал трудности с изучением FreeNAS, FreeBSD и ZFS одновременно. Было что-то в наличии графического интерфейса, которое мысленно блокировало меня от погружения в командную строку - если я не мог понять, как это сделать в графическом интерфейсе, я начинал задаваться вопросом, было ли то, что я пытался сделать, было стоит сделать - или даже возможно. Я построил свои последние несколько «устройств» хранения с использованием ZFS-on-Linux, и они мне больше подошли. Это заставило меня изучить ZFS, и это позволяет мне запускать Docker и LXC / LXD на ZFS без уровня виртуальной машины. К сожалению, это не так удобно для менее технически подкованных из нас.

Если вы думаете о том, чтобы пойти по пути ZoL, вам следует взглянуть на Proxmox, который по сути представляет собой Ubuntu + ZoL + ZFS root + LXC / LXD + libvirtd + GUI.

  1. Подходит ли для этого FreeNAS?

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

  1. Я думаю, что для этого будет достаточно дешевого 2- или 4-ядерного процессора и ~ 4 ГБ ОЗУ. Это? Вряд ли это критично, но я хотел бы знать, далеко ли я.

Дешевый ЦП должен работать, если у него есть AES-NI (для шифрования). Если вы хотите запускать другие приложения на этом сервере, вы можете рассмотреть возможность дополнительных сокетов / ядер.

Практическое правило для ZFS - один гигабайт ОЗУ на терабайт (полезного) хранилища плюс все, что вам нужно для вашей операционной системы и приложений. Для повышения производительности чтения добавьте дополнительную оперативную память. ZFS по умолчанию попытается занять 50% вашей оперативной памяти; это в определенной степени настраивается (значения по основанию 2).

  1. Агрегация сетевых каналов (связывание сетевых адаптеров) в Linux довольно безболезненно. Я читаю, что FreeBSD такая же. Это?

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

  1. Я собираюсь поместить в этот ящик несколько терабайт практически незаменимых данных; данные, которые будет очень трудно переместить, если это не сработает. Что еще я должен исследовать, думать или иметь в виду?

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

Я никогда не использовал FreeNAS без ZFS, а ZFS НЕ подходит для номер 3 в вашем списке потребностей - возможность менять диски разного размера по одному. Вы можете это сделать, но не сможете использовать дополнительное пространство, пока не замените ВСЕ диски в пуле ZFS. У вас могут быть диски 8 x 4 ТБ сегодня, и вы можете заменять каждые 4 ТБ на 10 ТБ по одному, но дополнительные 6 ТБ на каждом из этих новых дисков не будут использованы, пока вы не замените все 8.

При этом FreeNAS может иметь параметры, отличные от ZFS, но я никогда не исследовал их.

Я думаю, что DrivePool StableBit может делать с дисками все, что вы хотите, но вы не можете использовать FreeNAS для этого.