30 мар. 2014 г.

FreeNAS - Свободу серверу!

На этот раз мы поговорим немного об излюбленном и красноглазом творчестве компании iXsys... подождите, я же не собираюсь их пиарить. То, что гуглится легко, было когда-то развитием FreeBSD 6.0. Спустя некоторое время одна компания переняла на себя этот проект, а бывшие разработчики форкнули то, что осталось от старых огрызков в Debianоподобное поделие - OpenMediaVault и некий NAS4Free (гордящийся тем, что является отпрыском FreeNAS 7 (для сравнения, в текущей статье, я щупал FreeNAS 9.2.1.2)).
Первый из форков я хотел бы пощупать в следующей статья, а второй не заслуживает внимания по причине своей схожести с FreeNAS (я не вижу большой разницы между ними, тем более, что оба они выглядят вырвиглазно не важно FreeBSD это, или нет. Разве, что за FreeNAS стоит какая-то компания, зарабатывающая деньги).

Первое, что вам бросится в глаза - это то, что скачав небольшой архив образа на 225 Мб, вы обнаружите внутри настоящие 2 Гб пустых данных. Зачем?! Потому что система получается не read-only, и на ней ещё будут храниться всякие конфиги и логи, убивающие вашу флешку.

Сам сервер, будучи установленным, встретит вас унылым интерфейсом, со множеством всевозможных гаечных ключей и кранов, которые вам нужно будет задействовать, чтобы опубликовать директорию на вашем жёстком диске.
Кстати, сказать, вся ваша файловая система будет уничтожена и отформатирована в замечательную ZFS (о которой написано много и везде). Сама файловая система может быть и не плохая, но она уж очень сильно ориентирована на профессионалов, которые хотят иметь чуть ли не бесконечный размер жёсткого диска, снимки разделов и прочую фигню.

Самое примечательное то, что если вы будете обращаться с ней плохо, то сможете огрести много проблем и просто потерять данные. Файловая система, как я уже написал, называется ZFS. Чтобы быть попроще, приведу здесь сразу требования, которым вы должны соответствовать перед тем, как решиться на FreeNAS - Slideshow for noobs. Самое главное - это не просесть по памяти, а именно ваш сервер должен иметь 5 Гб ОЗУ плюс по 1 Гб за каждый 1 Тб предполагаемого хранилища. Короче, по памяти мой сервер не прошёл, а потому потерять данные просто так мне не хотелось.

Все настройки, которые вы сможете сэкпортировать с сервера представляют собой обыкновенный SQLite файл с чудоковатым именем: somebody's-server-FreeNAS-9.2.1.2-RELEASE-x64 (002022c)-20140309145256.db. То есть в случае чего, сможете даже подредактировать его любой утилиткой.

Ещё одна особенность - это управление доступом (к ресурсам, к жёстким дискам, и т.д.). Одним словом, если немного абстрагироваться от всего, то ваш пользователь должен обладать правами для пользования CIFS (прародитель SMB "диалекта"), потом его запрос идёт ниже в файловую систему (то есть на папку), ну и дальше к самому жёсткому диску. Поэтому, если случайно у вас что-нибудь не получится увидеть в Windows или где-нибудь ещё, то проверьте свои права. Когда я с этим столкнулся, то умудрился нагуглить парочку постов с криками о помощи: один и два. Ах да, чуть не забыл. Побаловавшись с правами, чтобы научиться их выставлять правильно, я сломал себе доступ к опубликованным папкам, и починил его перезагрузкой сервера и/или компьютера:

Очень интересная фича - это Тюрьмы, ой! То есть, Jails! С её помощью можно посадить установить *nix дистрибутив, включая "самописаные" плагины во FreeNAS. Вы указываете директорию, где будет храниться ваша, допустим, Убунта, и FreeNAS её свободно скачивает!!! Просто, не так ли?

Но не всё так просто, как показано на картинке сверху. Поставив Убунту, вы столкнётесь с проблемой сетевого доступа к интернету для её обновления, потом выяснится, что SSH недоступен и вам надо его как-нибудь пробросить, потом вы столкнётесь и известным багом, где говорится, что SSH и не заработает в текущей версии... Короче не работает там ничего!

Как я и обещал, вот вам искусственные тесты:

Version 1.3.0
OS Version: Mac OS X
Date: 03/09/2014
Time: 23:03:43
Program Parameters: 0
High Performance Timer: 0.000000001

Это CIFS
Test File: /Volumes/MainCifs/NW_SpeedTest.dat
 Write Time = 169.3175581 Seconds
 Write Speed = 23.6242480 Mbps
 Read Time = 5.2733421 Seconds
 Read Speed = 758.5322480 Mbps

Это AFP
Test File: /Volumes/MainAfp/NW_SpeedTest.dat
 Write Time = 31.2202986 Seconds
 Write Speed = 12.8121760 Mbps
 Read Time = 0.4886687 Seconds
 Read Speed = 818.5504240 Mbps

А это уже интересно. Version 1.3.1
OS Version: Windows 7
Processor: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz
Date: 03/30/2014
Time: 13:08:27
Program Parameters: 0
High Performance Timer: 0.0000005131

Test File: \\YOUR-SERVER\MainCifs\NW_SpeedTest.dat
 Write Time = 10.2290053 Seconds
 Write Speed = 782.0897360 Mbps
 Read Time = 8.7562632 Seconds
 Read Speed = 913.6317360 Mbps

Как это всё грустно, когда скорость записи под Маком на шару Windows где-то в два раза больше, чем на AFP. Под Windows вы видите сами, и я, признаюсь, не знаю кому верить. Копирование файлов по сети показывает порядка 60 Мб/с на сервер, и около 100 Мб/с в сторону моего компьютера. То есть медленнее, чем показывает софтина. А вообще, измерять скорость файловым менеджером - это неправильно, так как она всё равно скачет от лучшего к худшему. Ubuntu отображает 30-35 Мб/с для AFP и SMB (NFS я сразу не увидел в Nautilus'e, а потом решил забить на него) в обе стороны.

Если вас интересуют такие вещи, как Time Machine, то вот ссылки с картинками из FreeNAS, которые я получил во время бекапа по кабелю: CPU, Disk I/O, RAM, Network.

И последнее слово, FreeNAS смог выключиться сам при нажатии кнопки Power на коробке моего сервера N54L. За что ему огромное спасибо!

Комментариев нет: