Выбор софта для NAS

сеть windows

В этой статье я расскажу вам, как выбрать софт для 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.

Выбор софта для NAS
Выбор софта для NAS

Ес­ли не вда­вать­ся в тех­ничес­кие под­робнос­ти (а они впол­не дос­тупны), 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 нач­нет уда­лять и копиро­вать пере­име­нован­ные фай­лы.

Софта для NAS

ZFS под­держи­вает снап­шоты, а TrueNAS пре­дос­тавля­ет удоб­ный механизм для их соз­дания и реп­ликации.

В openmediavault снап­шоты на уров­не веб‑интерфей­са не под­держи­вают­ся. Ты можешь соз­давать их вруч­ную из коман­дной стро­ки или исполь­зовать для это­го раз­дел веб‑интерфей­са Scheduled Tasks. С реп­ликаци­ей слож­нее. Если же ты зашиф­ровал дан­ные пла­гином LUKS, то для соз­дания снап­шота тебе при­дет­ся смон­тировать зашиф­рован­ный раз­дел. В любом слу­чае, если тебе нуж­ны снап­шоты и реп­ликация, рекомен­дую смот­реть в сто­рону TrueNAS. А вот если резер­вные копии пла­ниру­ется хра­нить на внеш­них дис­ках с USB, то openmediavault пред­лага­ет встро­енное управле­ние такими резер­вны­ми копи­ями — а TrueNAS нет.

В OMV мож­но соз­давать бэкапы на внеш­них дис­ках
В OMV мож­но соз­давать бэкапы на внеш­них дис­ках

Кста­ти, rsync в TrueNAS тоже есть.

Rsync в TrueNAS
Rsync в TrueNAS

Обновления и патчи безопасности

За­чем нуж­ны и почему важ­ны регуляр­ные обновле­ния NAS? Хотя бы для того, что­бы не пов­торилась ситу­ация с WD MyBook Live, с которых зло­умыш­ленни­ки мас­сово уда­ляли дан­ные. Извес­тны и дру­гие слу­чаи — нап­ример, мно­гочис­ленные уяз­вимос­ти QNAP.

Об­новле­ниями TrueNAS занима­ется про­изво­дитель, ком­пания iXSystems. Обновле­ния сис­темные (монолит­ные), выходят дос­таточ­но регуляр­но; есть штат­ная под­дер­жка круп­ных обновле­ний (нап­ример, переход с FreeNAS 11 на TrueNAS Core 12).

Обновления и патчи безопасности NAS
Обновления и патчи безопасности

Пе­реход с TrueNAS Core на TrueNAS Scale воз­можен; при этом сох­раня­ются дан­ные, но теря­ются нас­трой­ки сис­темы. С перехо­дом в обратную сто­рону могут воз­никнуть слож­ности. На тот момент, ког­да я тес­тировал эту воз­можность, в TrueNAS Scale исполь­зовалась более све­жая вер­сия OpenZFS. Пос­ле обновле­ния вер­сии метадан­ных ZFS (делать это было необя­затель­но) исполь­зовать тот же dataset в TrueNAS Core уже не уда­лось. Так что, если захочешь поп­робовать TrueNAS Scale с воз­можностью отка­тить­ся на TrueNAS Core, прос­то не обновляй метадан­ные ZFS.

Обновление софта для NAS

Об­новле­нием openmediavault занима­ется… мно­го кто. Обновле­ния собс­твен­но OMV пос­тавля­ет раз­работ­чик. А вот обновле­ния пакетов Debian, под управле­нием которо­го работа­ет сис­тема, модуль­ные и ведут­ся силами сооб­щес­тва раз­работ­чиков: если в каком‑то пакете будет обна­руже­на уяз­вимость, то с боль­шой веро­ятностью ее устра­нят до того, как руки зло­умыш­ленни­ков дотянут­ся до тво­его устрой­ства.

Обновление OMV

При этом вер­сия Debian обновлять­ся не будет: OMV 4.x может работать толь­ко на Debian 9, а OMV 5.x — толь­ко на Debian 10. Впро­чем, с точ­ки зре­ния безопас­ности боль­шой раз­ницы нет: и Debian 9, и тем более Debian 10 будут получать модуль­ные обновле­ния еще очень дол­го. Кста­ти, для уста­нов­ки (или при обновле­нии) некото­рых пакетов может пот­ребовать­ся уста­новить более све­жие сбор­ки зависи­мос­тей из аль­тер­натив­ных репози­тори­ев.

OMV обновление

Серь­езный недос­таток 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.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий