При неограниченном обилии выбора готовых NAS от больших изготовителей интерес тех, кто именно желает сформировать а также настроить свой NAS, никак не исчезает.
На сегодняшний день, пожалуй, оптимальный период для его создания. Возможности совершенно не имеют границ: TrueNAS Core, TrueNAS Scale, openmediavault и опции для конкретных случаев использования Unraid и SnapRAID. Все варианты по-своему хороши, но при этом имеют свою специфику. Какой из них вам подходит? Попробуем выяснить и подобрать варианты ПО для сетевого хранилища.
TrueNAS Scale, TrueNAS Core и openmediavault
До недавнего времени пользователи самодельного NAS выполняли две основные роли при настройке нового NAS: FreeNAS и openmediavault. Интересна история этих проектов. FreeNAS был выпущен в 2005 году разработчиком Оливье Кочар-Лаббе, который в конечном итоге потерял интерес к проекту. До 2009 года единственным активным разработчиком FreeNAS был Фолькер Тайле, который предложил перевести проект на Linux вместо используемого в то времяm0n0wall, который, в свою очередь, был основан на встроенной FreeBSD. Оливье отказался поставить проект на новый уровень, и Волкер покинул FreeNAS и создал новую систему openmediavault на основе Debian Linux. Оливье передал права на FreeNAS американской компании iXSystems, которая занимается разработкой и продвижением проекта.
Со временем была выпущена коммерческая версия под управлением iXSystems — TrueNAS. Чуть позже ветви бесплатного FreeNAS и коммерческого TrueNAS были объединены, а недавно объединенный TrueNAS снова разделился на два проекта: один основан на FreeBSD TrueNAS Core и TrueNAS Scale, работающий на Debian 11 (Bullseye).
Этаким образом, на сегодняшний день подбор целесообразен между тремя схожими, однако весьма различными системами: TrueNAS Core, TrueNAS Scale и openmediavault. Для начала приведу таблицу, в которой сравниваются ключевые параметры трех выбранных мной систем.
(* Миграция зашифрованных GELI томов описана в документации)
А теперь — расшифровка таблицы.
Разработчик
Эти Две системы легкодоступны в варианте готовых дистрибутивов и с открытым исходным кодом. Обе версии TrueNAS разрабатываются и поддерживаются iXSystems, которая зарабатывает деньги, лицензируя коммерческую версию системы (включая достаточно крупные компании), продавая готовые NAS с предустановленной системой TrueNAS, а также предоставляя услуги поддержки и обслуживания.
Openmediavault разрабатывается единственным разработчиком Фолькером Тайле и поддерживается на форуме. Кстати, мне довелось поговорить с Волкером; Отмечу доброжелательность и профессионализм разработчика, не получающего за свою работу ни цента.
Базовая ОС и внешний вид
До настоящего времени все три концепции считаются надстройками к UNIX-подобным системам. TrueNAS Core работает на FreeBSD со всеми его функциями (известными монолитными обновлениями и собственным стеком драйверов, отличных от Linux), преимуществами и недостатками (среди которых наиболее заметны, возможно, отсутствие поддержки Docker и несовместимость с некоторыми популярными и недорогими 10-гигабитными сетевыми картами и картами HBA).
TrueNAS Scale, с другой стороны, основан на текущей версии Debian 11, в которой реализована поддержка карт расширения, несовместимых с контейнерами TrueNAS Core и Docker.
По умолчанию в TrueNAS установлена темная тема интерфейса.
Если есть такое желание имеется возможность переключиться на светлую и даже создать собственную.
OMV тесно интегрируется с Debian Linux. OMV 4.x работает поверх Debian 9, актуальная OMV 5.x использует Debian 10, а OMV 6 (на сегодня имеет статус тестовой сборки) — Debian 11.
В OMV 4 и 5 доступна единственная светлая тема.
В OMV 6.0 интерфейс был изменен.
Установка, настройка и особенности организации хранилища
Установить все описанные варианты довольно просто — достаточно скачать дистрибутив для нужной платформы, создать загрузочный диск и загрузиться с него. Однако для openmediavault доступен альтернативный метод установки — на уже настроенную версию Debian (на Debian 9 вы можете установить OMV 4.x, а на Debian 10 — 5.x).
Но с созданием многодискового массива у неопытного пользователя TrueNAS могут возникнуть трудности. Если OMV использует стандартный Linux и всем знакомый mdadm для создания и управления RAID, то ZFS в TrueNAS — это не только файловая система, но и низкоуровневый менеджер многодисковых конфигураций. В ZFS нет стандартных уровней RAID; вместо них используются функциональные аналоги. Итак, аналогом RAID 5 будет RAID-Z1, а аналогом RAID 6 — RAID-Z2. Z1 и Z2 указывают уровень избыточности и обозначают количество дисков в массиве, которые могут выйти из строя без потери данных: в массиве RAID-Z1 любой диск может выйти из строя без потери данных, а в RAID-Z2 — любые два.
Тем не менее здесь начинаются проблемы. Дисковый массив состоит из одного vdev (виртуалvdev ьного устройства); один или несколько vdev создают пул (zpool), в котором, в свою очередь, могут быть созданы один или несколько логических разделов (набор данных в терминологии ZFS). (Вы можете прочитать, например, о топологии ZFS здесь.)
Согласно сопоставлению с шаблонным mdadm, данную систему труднее уяснить, но она обеспечивает отличную гибкость. Таким образом, вы можете создать пул из трех дисков, сформированных в массиве RAID-Z1, а затем расширить его еще тремя дисками, также сформированными в RAID-Z1, и размеры исходного и добавленного позже vdev могут не совпадать. Это, безусловно, удобно и создает иллюзию безграничных возможностей расширения. Увы, это иллюзия.
На сегодняшний день TrueNAS не поддерживает расширение хранилища vdev. Вы можете расширить пул (zpool), добавив к нему еще один vdev, состоящий из любого количества дисков в любой поддерживаемой конфигурации, но вы не сможете расширить доступный том vdev, добавив другой диск к существующему vdev или установив более крупные диски в vdev. Возможно, через несколько лет эта функция появится в TrueNAS, но я не ожидаю, что это произойдет в ближайшее время. Подробнее о тонкостях расширения vdev см. Любители ZFS, радуйтесь — расширение RAIDz появится очень скоро.
На сегодняшний день TrueNAS не поддерживает расширение хранилища vdev. Вы можете расширить пул (zpool), добавив к нему еще один vdev, состоящий из любого количества дисков в любой поддерживаемой конфигурации, но вы не сможете расширить доступный том vdev, добавив другой диск к существующему vdev или установив более крупные диски в vdev. Возможно, через несколько лет эта функция появится в TrueNAS, но я не ожидаю, что это произойдет в ближайшее время. Подробнее о тонкостях расширения vdev см. в статье ZFS fans, rejoice — RAIDz expansion will be a thing very soon.
Место установки
Для всех трех систем требуется отдельный диск для установки — жесткий диск или твердотельный накопитель, но с возможностью подключения флеш-накопителя или карты памяти (при использовании USB-накопителя или карты памяти для установки OMV — не поленитесь установить плагин flashmemory из репозиторий omv-extras; он перемещает части файловой системы в ОЗУ, где происходят частые операции записи, и синхронизирует эти данные при включении и выключении устройства). У этого подхода есть как преимущества (диски с данными смогут «заполняться» правильно, и система не будет вращать их каждый раз, когда приходит в голову добавить запись в журнал), так и недостатки (все настройки системы будут потеряны, если выделенный диск выходит из системы и резервной копии настроек под рукой нет).
Между прочим, приложив малость стараний, OMV можно установить на тот же носитель данных, на котором хранятся данные. Так было, например, в сборках для WD MyCloud Home NAS с одним жестким диском. Здесь тоже хватает подводных камней; Прежде всего, такую тарелку сложно качественно «наполнить».
Системные требования
Тут все элементарно: для TrueNAS требуется процессор с архитектурой Intel и не менее 8 ГБ ОЗУ. Openmediavault, с другой стороны, крайне нетребователен; его можно даже установить на Raspberry Pi. По моему личному опыту, он отлично работает (и очень быстро!) даже на устройствах ARM с четырьмя ядрами Cortex A53 и 512 МБ ОЗУ. OMV можно установить даже на такие устройства, как WD MyCloud Home (модели с одним или двумя дисками).
Почему у TrueNAS столько оперативной памяти? Ключевым моментом является возможность дедупликации зарегистрированных данных в реальном времени. Если включено, таблицы дедупликации хранятся в ОЗУ. ZFS будет считывать контрольные суммы из записываемых блоков данных, и при обнаружении совпадения блок не будет записан на диск; на его место добавляется указатель. Обратите внимание, что дедупликация в реальном времени происходит довольно медленно: скорость записи может упасть в 3-5 раз, если мы говорим о достаточно быстром массиве и 10-гигабитной сети. Однако при гигабитном подключении падение скорости может быть незаметным.
Довольно часто возможно встретить советы практиковать TrueNAS в сочетании с памятью коррекции ошибок (ECC RAM). Здесь вы должны понимать, что это рекомендация; TrueNAS будет работать с обычной памятью, ничем не отличаясь от других систем. В то же время ZFS — это файловая система, действительно интенсивно использующая память, и повреждение данных в оперативной памяти вполне может привести к повреждению данных на дисках, в некоторых случаях со смертельным исходом. Однако то же самое относится и к другим системам. Если есть возможность использовать ECC RAM — используйте ее, нет — используйте то, что есть под рукой.
Поддерживаемые файловые системы
TrueNAS в обоих вариантах выделяется всесторонней поддержкой абсолютно всех функций ZFS — самой файловой системы и системы управления дисками. Это включает создание и управление всеми уровнями хранилища (vdev, zpool, dataset), шифрование, моментальные снимки и их репликацию и дедупликацию данных в реальном времени. TrueNAS поддерживает другие файловые системы, например, для импорта данных с диска, отформатированного в такой файловой системе.
Openmediavault по умолчанию поддерживает те же файловые системы, которые поддерживает Debian Linux. По умолчанию для хранения данных будет использоваться ext4.
Подробный перечень поддерживаемых файловых систем.
Файловые системы, поддерживаемые OMV, формально включают BTRFS и ZFS, но не ожидайте от них многого: диски BTRFS управляются из командной строки, и не все функции поддерживаются ZFS. В частности, снимки и их репликация не поддерживаются ни одной файловой системой. Вы можете создавать снимки вручную из командной строки (в конце концов, OMV работает в полном дистрибутиве Debian) или даже через веб-интерфейс в качестве запланированных задач, но это все еще сложнее, чем готовое решение. Итак, если вам нужны возможности файловой системы, связанные со снимками и репликацией, обратите внимание на TrueNAS.
Шифрование данных
В openmediavault встроенного шифрования нет, но есть плагин openmediavault-luksencryption.
В TrueNAS поддерживается сразу несколько стандартов шифрования.
Первый — это SED (Self Encrypting Drive), аппаратное шифрование, доступное на некоторых моделях дисков. Подробно описано здесь.
Во-вторых, шифрование GELI является стандартом FreeBSD. TrueNAS 12 (оба) заменили этот тип шифрования другим, но ранее созданные зашифрованные тома по-прежнему смонтированы и работают.
Наконец, новый стандарт шифрования в TrueNAS — Native ZFS encryption, подробно описанный в статье Ars Technica A quick-start guide to OpenZFS native encryption.
Помимо технических деталей (а они совершенно легкодоступны), собственное шифрование ZFS имеет ряд преимуществ по сравнению с LUKS и GELI, позволяя запускать большинство, если не все команды zfs и zpool на зашифрованных дисках, даже если ключ шифрования не указано или неизвестен. Сюда входят сервисные операции для проверки целостности данных, моментальные снимки (снапшоты) и их репликация, и многие другие команды. Если диск зашифрован LUKS, то для выполнения таких операций вам сначала потребуется ввести ключ шифрования.
Этот тип шифрования также имеет свои недостатки которые относятся к сфере безопасности. Во-первых, без ввода ключа шифрования будут доступны имена и размеры файловых систем (а также другая информация, доступная с помощью команд zfs и zpool). Однако имена и размеры зашифрованных файлов не будут отображаться вместе с другими метаданными, которые нельзя получить с помощью команд zfs и zpool.
Другой тип данных, который не защищен собственным шифрованием ZFS, — это таблицы дедупликации. Точнее, отдельные блоки данных по-прежнему зашифрованы, но анализ таблиц дедупликации может выявить, какие блоки дублируются на диске. Ценность этой информации для злоумышленника сомнительна, поэтому этот аспект встроенного шифрования ZFS не считается критическим с точки зрения безопасности. Однако рекомендуется отключить оперативную дедупликацию, если вы шифруете критически важные данные.
В конечном итоге, имеется намного более теоретическая, нежели фактическая незащищенность CRIME (Compression Ratio Info-Leak Made Easy), уязвимость, которая может быть реализована в сценарии, когда данные сжимаются перед шифрованием.
Снапшоты, шифрование и репликация
Моментальные снимки (снапшоты) и их репликация подробно описаны в этой статье. Проще говоря, снапшоты — это почти идеальный метод резервного копирования, позволяющий как защитить ваши данные от различных программ-вымогателей, так и реплицировать только измененные данные (даже если данные зашифрованы, а ключ шифрования не введен). Кроме того, массовое переименование файлов или папок синхронизирует только узлы файловой системы; например, rsync начнет удалять и копировать переименованные файлы.
ZFS поддерживает снапшоты, а TrueNAS предоставляет удобный механизм для их создания и репликации.
Openmediavault не поддерживает снапшоты на уровне веб-интерфейса. Вы можете создать их вручную из командной строки или использовать для этого раздел «Назначенные задачи» веб-интерфейса. Репликация сложнее. Если вы зашифровали свои данные с помощью плагина LUKS, вам нужно будет смонтировать зашифрованный раздел, чтобы создать моментальный снимок. В любом случае, если вам нужны снимки и повторы, рекомендую посмотреть в сторону TrueNAS. Но если резервные копии запланированы для хранения на внешних USB-накопителях, openmediavault предлагает интегрированное управление этими резервными копиями, а TrueNAS — нет.
В OMV можно создавать бэкапы на внешних дисках
Кстати, rsync в TrueNAS тоже есть.
Обновления и патчи безопасности
Для чего необходимы а также почему немаловажны постоянные обновления NAS? По крайней мере, чтобы не повторить ситуацию с WD MyBook Live, с которого злоумышленники массово удаляли данные. Есть и другие известные случаи — например, множественные уязвимости QNAP.
Обновления TrueNAS обрабатываются производителем, iXSystems. Обновления системы (монолитные) выпускаются довольно регулярно; есть регулярная поддержка крупных обновлений (например, переход с FreeNAS 11 на TrueNAS Core 12).
Возможен переход с TrueNAS Core на TrueNAS Scale; данные сохраняются, но системные настройки теряются. При движении в обратном направлении могут возникнуть трудности. Когда я тестировал эту функцию, TrueNAS Scale использовал более новую версию OpenZFS. После обновления версии метаданных ZFS (это было необязательно) тот же набор данных больше нельзя было использовать в TrueNAS Core. Поэтому, если вы хотите попробовать TrueNAS Scale с возможностью перехода на TrueNAS Core, просто не обновляйте метаданные ZFS.
Openmediavault обновляется многими авторами. Обновлениями OMV занимается разработчик. Но обновления пакетов Debian, запускающих систему, являются модульными и поддерживаются сообществом разработчиков: если в пакете обнаружена уязвимость, она, скорее всего, будет устранена до того, как руки злоумышленников достигнут вашего устройства.
При этом версия Debian обновляться не будет: OMV 4.x может работать только на Debian 9, а OMV 5.x — только на Debian 10. Однако с точки зрения безопасности особой разницы нет: как Debian 9, так и тем более Debian 10 будут получать модульные обновления в течение очень долгого времени. Кстати, для установки (или обновления) некоторых пакетов может потребоваться установка более свежих сборок зависимостей из альтернативных репозиториев.
Доступные репозитории
Серьезным недостатком OMV является отсутствие регулярного способа установки крупных обновлений. Невозможно регулярно переключаться с OMV 4 на OMV 5 (в этом случае наборы OMV 4 не будут обновляться). Есть написанные пользователем инструкции, которые могут работать, а могут и не работать (у меня они не работали). Поэтому, если вы хотите использовать новые сборки OMV, будьте готовы к сложной и рискованной ежегодной работе.
Важнейшая трудность а также наиболее огромный минус OMV состоит в том, что он не создает «общий файл конфигурации», который можно использовать просто для обновления операционной системы. Сие обозначает, что при каждом обновлении OMV вам нужно:
- Проверить плагины: проверьте, доступны ли плагины, которые все еще используются, после обновления (при переходе с v4 на v5 многие плагины пропали из-за наличия соответствующих образов Docker);
- сохранить настройки: сделать снимки экрана или сохранить каталог Clonezilla «/ etc» или аналогичный образ системного диска (и скопировать в место, к которому вы можете получить доступ даже без NAS).
Но еще оптимальнее, просто возьмите резервный накопитель и установите в него последнюю ОС. Диски данных, RAID и ZFS с этим обновлением обычно распознаются и монтируются автоматически (примечание: SnapRAID и / или mergerfs не обнаруживаются автоматически)! «
Еще один недостаток OMV — модульность обновлений. За шесть месяцев использования NAS с OMV я дважды столкнулся с тем, что обновление пакета вызывало ошибки в настройках некоторых файлов конфигурации, и устройство начинало давать сбои.
Что делать?
Отследить, тот или иной именно файл а также каким именно образом был изменен, удалось, но определить конкретный пакет не удалось. Это подводит нас к следующему разделу: стабильность работы и сложность поддержания устройства в порядке.
Стабильность работы
В безупречном обществе единожды настроенная система будет функционировать в отсутствии какого-или вмешательства. Обновления будут установлены автоматически и никогда не вызовут проблем. К сожалению, реальность далека от совершенства: обновления то и дело что-то ломают, и даже без них устройство может потребовать хотя бы профилактического вмешательства.
В этом контексте TrueNAS Core оказался наименее проблемным. Система отлажена давно, обновления (кроме разве что более крупных, 11-12) проблем не вызывают. После загрузки компьютер на базе TrueNAS может долгое время работать без вмешательства пользователя.
TrueNAS Scale — это самая ранняя бета-версия на свежей платформе для разрабов. Соответственно, стабильной работы никто не обещает (впрочем, заметных проблем пользователи системы не замечают).
Для правильной работы NAS с openmediavault может потребоваться периодическое вмешательство квалифицированного администратора. Вот проблемы, упомянутые выше после обновления некоторых пакетов и таких простых вещей, как настройки ротации журналов по умолчанию, которые могут привести к переполнению раздела и невозможности доступа к NAS, кроме как через SSH …Однако последнее актуально, если вы запускаете OMV из небольшого по объему накопителя, ну и вам с этим придется жить.
Заключение: В случае если для вас необходима устойчивый процесс в отсутствии вмешательства админа,обращайтесь к TrueNAS Core.
Производительность
Я не проводил прямого сравнения производительности систем, но вижу, что TrueNAS — заметно «тяжелее» система по сравнению с openmediavault. OMV загружается с молниеносной скоростью даже на очень слабом оборудовании (время загрузки в WD MyCloud Home составляет около 16 секунд после раскрутки жесткого диска), в то время как TrueNAS загружается намного дольше даже на мощном оборудовании.
При использовании TrueNAS многие вещи могут повлиять на скорость чтения и записи. Например, включение дедупликации в реальном времени резко замедляет запись данных, в то время как включение сжатия в реальном времени для современных форматов данных скорее вредно, чем полезно. Помощь здесь может расширить объем оперативной памяти до 16 ГБ и более.
OMV — чрезвычайно нетребовательная система, работающая на любом оборудовании, которое может запустить Debian.
Виртуализация и расширения
Все без исключения 3 системы поддерживают расширения в разновидности плагинов, специально написанных для соответствующей системы. Openmediavault поддерживает дополнительные репозитории (например, omv-extras).
Плагины в OMV
В TrueNAS тоже имеются плагины —равно как официальные, а также от сообщества разработчиков.
Каждая система поддерживает «легкую» виртуализацию. В TrueNAS Core это jails система, а TrueNAS Scale и OMV поддерживают Docker. Последнее, пожалуй, более интересно с точки зрения разнообразия доступных изображений.
Кроме того, TrueNAS имеет полную виртуализацию в виде виртуальных машин, на которые можно установить, например Windows.
Итоги
Хотите построить NAS на Raspberry Pi или аналогичном одноплатном компьютере? Openmediavault. Поставить на WD MyCloud Home? Сходным образом. Работаете на слабом компьютере с ограниченной памятью? Также OMV. Собираете NAS с одним диском или используете внешние диски через USB? Может быть, снова OMV.
Преобразование старого компьютера с 8 ГБ памяти или более в NAS? TrueNAS будет намного интереснее: TrueNAS Core, если стабильность в приоритете, и TrueNAS Scale, если вы хотите поэкспериментировать или вам нужна поддержка Docker.
Заинтерисованы в репликации, шифровании, снапшотах? Извольте, TrueNAS вне всяких вариантов.
Что, если все, что вам нужно, — это место для хранения вашей медиатеки или видеотеки с редкими дополнениями, но частым доступом? Если в приоритете надежность и тишина хранения данных, а не скорость? Возможно, вам подойдут Unraid или SnapRAID, о которых мы поговорим в следующий раз.
Тебе требуется управление посредством облака? То для тебя существует — TrueNAS с TrueCommand.
В результате интерес представляют все три системы. В то же время выбор между ними может быть довольно простым, в первую очередь, исходя из ваших потребностей и доступного оборудования.
1 comments On Варианты ПО для сетевого хранилища
А воровать не хорошо.