При всем богатс­тве выбора готовых сетевых хра­нилищ от круп­ных про­изво­дите­лей энту­зиазм жела­ющих соб­рать и нас­тро­ить свой собс­твен­ный NAS не исся­кает. Сегод­ня, пожалуй, луч­шее вре­мя для того, что­бы это сде­лать. От воз­можнос­тей бук­валь­но раз­бега­ются гла­за: TrueNAS Core, TrueNAS Scale, openmediavault, а так­же вари­анты для спе­цифи­чес­ких сце­нари­ев исполь­зования Unraid и SnapRAID. Все вари­анты по‑сво­ему хороши и обла­дают при этом сво­ими спе­цифи­чес­кими осо­бен­ностя­ми. Что из это­го подой­дет тебе? Поп­робу­ем разоб­рать­ся.
 

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»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    5 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии