В этой статье я расскажу вам, как выбрать софт для NAS.
TrueNAS в обоих вариантах выделяется полноценной поддержкой всех возможностей ZFS — как собственно файловой системы, так и системы управления дисками. Сюда входит создание всех уровней хранилищ (vdev, zpool, dataset) и управление ими, шифрование, снапшоты и их репликация, а также дедупликация данных в режиме реального времени. Другие файловые системы поддерживаются TrueNAS постольку‑поскольку, например для импорта данных с отформатированного в такой файловой системе накопителя.
В openmediavault по умолчанию поддерживаются те файловые системы, которые поддерживаются в Debian Linux. По умолчанию для хранения данных будет использована ext4. Полный список поддерживаемых файловых систем.
В число поддерживаемых OMV файловых систем формально входят BTRFS и ZFS, однако не жди от них многого: для управления дисками BTRFS используется командная строка, а для ZFS поддерживаются далеко не все возможности. В частности, ни для одной файловой системы не поддерживаются снапшоты и их репликация. Ты можешь создавать снапшоты вручную из командной строки (в конце концов, OMV работает поверх полноценного дистрибутива Debian) или даже через веб‑интерфейс в качестве Scheduled Tasks, но это все равно будет сложнее, чем готовое решение. Так что, если тебе нужны возможности файловой системы, связанные с созданием и репликацией снапшотов, смотри в сторону 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.
Если не вдаваться в технические подробности (а они вполне доступны), native ZFS encryption обладает целым рядом преимуществ по сравнению как с LUKS, так и с GELI, позволяя выполнять большинство, если не все команды zfs и zpool на зашифрованных дисках, даже если ключ шифрования не указан или неизвестен. Сюда входят сервисные операции по верификации целостности данных, моментальные снимки (снапшоты) и их репликация (о том, что это такое и зачем нужно, я писал здесь), и многие другие команды. Если же диск зашифрован LUKS, то для выполнения подобных операций потребуется сначала ввести ключ шифрования.
У этого вида шифрования есть и свои отрицательные стороны, причем именно в области безопасности. Во‑первых, без ввода ключа шифрования будут доступны имена и размеры файловых систем (и другие данные, доступные с помощью команд zfs и zpool). Впрочем, имена и размеры зашифрованных файлов видны не будут, равно как и прочие метаданные, которые нельзя получить с помощью команд zfs и zpool.
Еще один тип данных, который не защищен native ZFS encryption, — таблицы дедупликации. Точнее, отдельные блоки данных по‑прежнему зашифрованы, но анализ таблиц дедупликации может показать, какие именно блоки на диске дублируются. Ценность этой информации для злоумышленника сомнительна, поэтому данный аспект native ZFS encryption не считается критическим с точки зрения безопасности. Тем не менее в случае шифрования критически важных данных онлайн‑дедупликацию рекомендуется отключать.
Наконец, существует скорее теоретическая, чем практическая уязвимость CRIME (Compression Ratio Info-leak Made Easy), которая может быть реализована в сценарии, когда данные сжимаются перед тем, как быть зашифрованными.
Снапшоты, шифрование и репликация
О снимках (снапшотах) и их репликации я подробно писал в статье «NAS на Ryzen. На что способен Synology DS1621+ и зачем ему мощный процессор». В двух словах, снапшоты — это практически идеальный способ резервного копирования, позволяющий как защитить данные от разнообразных шифровальщиков, так и реплицировать только изменившиеся данные (даже если данные зашифрованы, а ключ шифрования не введен). Более того, массовые переименования файлов или папок приведут к синхронизации только узлов файловой системы; к примеру, rsync начнет удалять и копировать переименованные файлы.
ZFS поддерживает снапшоты, а TrueNAS предоставляет удобный механизм для их создания и репликации.
В openmediavault снапшоты на уровне веб‑интерфейса не поддерживаются. Ты можешь создавать их вручную из командной строки или использовать для этого раздел веб‑интерфейса Scheduled Tasks. С репликацией сложнее. Если же ты зашифровал данные плагином LUKS, то для создания снапшота тебе придется смонтировать зашифрованный раздел. В любом случае, если тебе нужны снапшоты и репликация, рекомендую смотреть в сторону TrueNAS. А вот если резервные копии планируется хранить на внешних дисках с USB, то openmediavault предлагает встроенное управление такими резервными копиями — а TrueNAS нет.
Кстати, rsync в TrueNAS тоже есть.
Обновления и патчи безопасности
Зачем нужны и почему важны регулярные обновления NAS? Хотя бы для того, чтобы не повторилась ситуация с WD MyBook Live, с которых злоумышленники массово удаляли данные. Известны и другие случаи — например, многочисленные уязвимости QNAP.
Обновлениями TrueNAS занимается производитель, компания iXSystems. Обновления системные (монолитные), выходят достаточно регулярно; есть штатная поддержка крупных обновлений (например, переход с FreeNAS 11 на TrueNAS Core 12).
Переход с TrueNAS Core на TrueNAS Scale возможен; при этом сохраняются данные, но теряются настройки системы. С переходом в обратную сторону могут возникнуть сложности. На тот момент, когда я тестировал эту возможность, в TrueNAS Scale использовалась более свежая версия OpenZFS. После обновления версии метаданных ZFS (делать это было необязательно) использовать тот же dataset в 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 с версии 4 на 5 (оригинал на немецком):
«Основная проблема и самый большой недостаток OMV заключается в том, что он не создает „общий файл конфигурации“, с помощью которого можно просто обновить ОС. Это означает, что с каждым обновлением OMV нужно:
проверить плагины: проверьте, доступны ли по‑прежнему используемые плагины после обновления (при переходе с v4 на v5 многих плагинов не стало из‑за наличия соответствующих образов Docker);
сохранить настройки: сделайте скриншоты или сохраните каталог «/etc» Clonezilla или аналогичный образ системного диска (и скопируйте в место, где у вас есть доступ даже без 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.
Виртуализация и расширения
Все три системы поддерживают расширения в виде специально написанных для соответствующей системы плагинов. В openmediavault поддерживаются дополнительные репозитории (например, omv-extras).
Плагины в openmediavault
В TrueNAS также присутствуют плагины — как официальные, так и от сообщества разработчиков.
В каждой системе есть поддержка «легкой» виртуализации. В TrueNAS Core это система jails, а TrueNAS Scale и OMV поддерживают Docker. Последний, пожалуй, более интересен с точки зрения разнообразия доступных образов.
Кроме того, в TrueNAS присутствует полноценная виртуализация в виде виртуальных машин, куда можно установить, например… Windows.
Заключение
В итоге интерес представляют все три системы. В то же время выбор между ними может быть достаточно прост, основываясь в первую очередь на твоих запросах и имеющемся аппаратном обеспечении.
Хочешь собрать NAS на одноплатном компьютере Raspberry Pi или подобном? Openmediavault. Установить на WD MyCloud Home? Аналогично. Запустить на слабом компьютере с ограниченным объемом памяти? Тоже OMV. Собираешь NAS с единственным диском или используешь внешние диски через USB? Пожалуй, снова OMV.
Собираешься превратить в NAS старый компьютер с 8 Гбайт или большим объемом памяти? TrueNAS будет значительно интереснее: TrueNAS Core, если в приоритете стабильность работы, и TrueNAS Scale, если хочется экспериментов или нужна поддержка Docker.
Нужны шифрование, снапшоты, репликация? TrueNAS, без вариантов.
А что, если все, что тебе нужно, — это хранилище для медиатеки или видеотеки с редким пополнением, но частым доступом? Если в приоритете — надежность хранения данных и тишина, а не скорость? Возможно, тебе подойдет Unraid или SnapRAID, о которых мы поговорим в следующий раз.
Если тебе нужно управление через облако, то — TrueNAS с TrueCommand.