Содержание статьи
- TrueNAS Scale, TrueNAS Core и openmediavault
- Разработчик
- Базовая ОС и внешний вид
- Установка, настройка и особенности организации хранилища
- Куда устанавливается
- Совместимость и системные требования
- Поддержка файловых систем
- Шифрование данных
- Снапшоты, шифрование и репликация
- Обновления и патчи безопасности
- Стабильность работы
- Производительность
- Виртуализация и расширения
- Подводя итоги
TrueNAS Scale, TrueNAS Core и openmediavault
Еще недавно при настройке нового сетевого хранилища у пользователей самосборных NAS было две основные возможности: FreeNAS и openmediavault. Интересна история этих проектов. FreeNAS был выпущен в 2005 году разработчиком Оливье Кошар‑Лаббе (Olivier Cochard-Labbé), который со временем потерял интерес к проекту. К 2009 году единственным активным разработчиком FreeNAS остался Фолькер Тайле (Volker Theile), предложивший перевести проект на основу Linux вместо использовавшейся на тот момент m0n0wall, основанной, в свою очередь, на embedded FreeBSD. Оливье переводить проект на новые рельсы отказался, и Фолькер покинул FreeNAS, создав новую систему openmediavault на основе Debian Linux. Оливье же передал права на FreeNAS американской компании iXSystems, которая и занимается разработкой и продвижением проекта.
info
Мир тесен: openmediavault разрабатывается и поддерживается бывшим ключевым разработчиком FreeNAS.
Со временем под управлением 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 — это не только файловая система, но и низкоуровневый менеджер многодисковых конфигураций. Стандартные уровни RAID в ZFS отсутствуют; вместо них используются функциональные аналоги. Так, аналогом RAID 5 будет RAID-Z1, а аналогом RAID 6 — RAID-Z2. Z1 и Z2 указывают на уровень избыточности и означают количество дисков в массиве, которые могут выйти из строя без потери данных: в массиве RAID-Z1 без потери данных может выйти из строя любой один диск, а в RAID-Z2 — любые два.
Однако на этом сложности только начинаются. Дисковый массив формирует один vdev (virtual device); один или несколько vdev формируют пул (zpool), на котором, в свою очередь, можно создать один или несколько логических разделов (dataset в терминах ZFS). (О топологии ZFS почитать можно, например, здесь.)
В сравнении со стандартным mdadm такая организация сложнее для понимания, однако она обеспечивает отличную гибкость. Так, можно создать пул из трех дисков, сформированных в массив RAID-Z1, а потом расширить его еще тремя дисками, также сформированными в RAID-Z1, причем размеры изначального и добавленного позднее vdev могут не совпадать. Это, безусловно, удобно и создает иллюзию бесконечных возможностей расширения. Увы, именно иллюзию.
На сегодняшний день в TrueNAS не поддерживается расширение объема хранилища на уровне vdev. Ты можешь расширить пул (zpool), добавив к нему еще один vdev, сформированный из любого количества дисков в любой поддерживаемой конфигурации, но расширить доступный объем vdev добавлением еще одного диска в уже существующий vdev или установкой в vdev диски большего объема у тебя не получится. Может быть, через несколько лет эта возможность и появится в TrueNAS, но в скором времени я бы ее не ожидал. Подробно о сложностях расширения vdev — в статье ZFS fans, rejoice — RAIDz expansion will be a thing very soon.
Куда устанавливается
Все три системы требуют для установки отдельный накопитель — жесткий диск или SSD, соглашаясь, впрочем, и на флеш‑накопитель или карту памяти (если ты собираешься использовать флешку или карту памяти для установки OMV — не поленись установить плагин flashmemory из репозитория omv-extras; он перенесет в оперативную память части файловой системы, в которые идут частые операции записи, и будет синхронизировать эти данные при загрузке и выключении устройства). У этого подхода есть как достоинства (диски с данными смогут корректно «засыпать», и система не будет раскручивать их каждый раз, когда ей придет в голову добавить запись в журнал), так и недостатки (все настройки системы пропадут, если выделенный накопитель выйдет из строя, а резервной копии настроек под рукой нет).
Кстати, приложив определенные усилия, OMV можно установить и на тот же диск, на котором будут храниться данные. Так было сделано, например, в сборках для однодисковых NAS WD MyCloud Home. Подводных камней здесь тоже хватает; в первую очередь — трудно добиться качественного «засыпания» такого диска.
Совместимость и системные требования
Здесь все просто: TrueNAS требует процессор с архитектурой Intel и как минимум 8 Гбайт оперативной памяти. Openmediavault, напротив, предельно нетребователен; его можно установить даже на Raspberry Pi. По личному опыту, он отлично (и очень быстро!) работает даже на устройствах ARM с четырьмя ядрами Cortex A53 и 512 Мбайт оперативной памяти. OMV можно установить даже на такие устройства, как WD MyCloud Home (как одно-, так и двухдисковые модели)!
Для чего TrueNAS столько оперативной памяти? Разгадка кроется в возможности дедупликации записываемых данных в реальном времени. Если эта возможность включена, то таблицы дедупликации хранятся в оперативной памяти. ZFS будет считать контрольные суммы записываемых блоков данных, и если найдется совпадение, то блок не будет записан на диск; вместо него добавится указатель. Отмечу, что дедупликация в режиме реального времени работает довольно медленно: скорость записи может упасть в 3–5 раз, если мы говорим о достаточно быстром массиве и 10-гигабитной сети. Впрочем, при гигабитном соединении падение скорости можно и не заметить.
Очень часто можно встретить рекомендацию использовать TrueNAS совместно с памятью с коррекцией ошибок (ECC RAM). Здесь нужно понимать, что это именно рекомендация; TrueNAS будет работать и с обычной памятью, не отличаясь в этом от любых других систем. В то же время ZFS действительно жадная до памяти файловая система, и повреждения данных в RAM вполне могут привести к повреждению данных на дисках, в ряде случаев фатальным. Впрочем, то же самое справедливо и для других систем. Если есть возможность использовать ECC RAM — используй, нет — пользуйся тем, что есть под рукой.
Поддержка файловых систем
TrueNAS в обоих вариантах выделяется полноценной поддержкой всех возможностей ZFS — как собственно файловой системы, так и системы управления дисками. Сюда входит создание всех уровней хранилищ (vdev, zpool, dataset) и управление ими, шифрование, снапшоты и их репликация, а также дедупликация данных в режиме реального времени. Другие файловые системы поддерживаются TrueNAS постольку‑поскольку, например для импорта данных с отформатированного в такой файловой системе накопителя.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»