Организация собственного сетевого хранилища
Сколько уже написано статьей про NAS, роутеры и прочее сетевое оборудование, а многие до сих пор не знают, как можно рационально хранить и передавать данные. Помимо обычного обмена файлами сеть можно использовать для ряда других важных функций. Объединить весь функционал можно, не прибегая к покупке отдельного устройства. Для этих целей вполне подойдет старый ПК с особенной операционной системой FreeNAS – это свободно распространяемый дистрибутив, который служит для организации сетевого хранилища.
Железо
Начнем с подбора железа. На момент написания статьи актуальным являлся дистрибутив за номером 13.3. В документации к нему не указаны минимальные требования к аппаратному обеспечению. Разработчики лишь отправляют на отдельный форум по подбору железа и обходятся общими фразами типа: «Чем мощнее - тем быстрее». FreeNAS уже не совместим как с 32. Как заявляет разработчик, на последних ОС работает шустрее.
- Процессор: 64-bit. Рекомендуется Intel - Память: 8 ГБ минимум. Для больших хранилищ рекомендуется следующие соотношение 1 Гб на 1 Тб - Для системы можно использовать usb-флешку или CD диск (рекомендуемый минимум — 8 ГБ) - Жесткие диски: не рекомендуется использовать аппаратный RAID - Сетевая карта: рекомендуется 1/10 Гб/с, от производителей Intel или Chelsio
Если сервер будет работать круглосуточно, следует продумать охлаждение и питание устройства. Во-первых, стоит обратить внимание на TDP процессора. Например, старые камни, изготовленные по «толстому» техпроцессу и имеющие частоты в районе 3 ГГц, сильно греются. Для использования в домашних условиях такие частоты могут и не потребоваться, поэтому мы рекомендуем преднамеренно занизить частоту и, как следствие, TDP. Можно поэкспериментировать с частотами/производительностью и опустить TDP до такого уровня, чтобы применять пассивное охлаждение. Данное правило действует для всех компонентов, поэтому нужно исключать все лишние источники тепла.
Если ПК достаточно древний, то необходимо проверить блок питания. Не стоит скупиться - лучше потратить немного денег на новый БП именитого производителя, благо цены на них адекватные (за соответствующую мощность). А если ты дорожишь своими данными, то стоит задуматься о приобретении бесперебойника.
Планирование
Перед тем как приступать к установке, нам необходимо понять, каким образом следует организовать хранение информации. Понятно, что схемы домашних сетей различны, но мы постараемся смоделировать наиболее типичную ситуацию. Предположим, что у нас есть беспроводной маршрутизатор, стационарный ПК, подключенный по кабелю, пара ноутбуков с Wi-Fi и два медиаплеера, также получающих сигнал по кабелю. Стоит отметить, что все машины управляются ОС Windows. Остальные «довески» типа телефонов и планшетов для нас не особо важны, хотя они также могут выступать в качестве мобильных медиаплееров или клиентов. Допустим, что существует 3 пользователя сети. Пусть это будет admin, user1 и user2. Как и положено, администратор имеет права доступа ко всему, а пара пользователей - только к мультимедийным данным и своим личным папкам. Также планируется загрузка с торрент-трекеров и удаленный доступ к файлам. Теперь, когда задача ясна, можно приступать к реализации.
Первый запуск
Перед тем как приступать к установке, ты должен знать некоторые особенности. Во-первых, FreeNAS можно установить с болванки, но существует и метод непосредственной распаковки дистрибутива на флешку. Во-вторых, при установке ОС занимает все свободное пространство на диске, поэтому целесообразно использовать флешку в качестве системного диска. По словам разработчиков, подойдет любой USB-стик емкостью не меньше 8 Гбайт, однако мы рекомендуем использовать носитель вместительностью не менее 16 Гбайт. Важный момент: твой ПК должен уметь загружаться со съемных носителей. Итак, железо настроено, все старые винчестеры подключены, флешка торчит из системного блока, а дистрибутив уже скачан и записан на диск. Поехали!
После загрузки с болванки нас встретит незамысловатое окно. Для установки ОС нам необходимо выбрать пункт «1», в то время как пункт «2» загружает систему прямо с диска, «3» и «4» перезагружают и выключают ПК. Далее выбираем необходимый нам носитель (флеш-диск) и начинаем процесс установки. На копирование и распаковку уходит не более 3 минут, затем система предлагает перезагрузиться. Далее следует серия нескольких ребутов - FreeNAS определяет оборудование. В итоге нашему взору предстает следующее окно.

В этом меню мы можем настроить сетевой интерфейс. Если на роутере включен DHCP, то FreeNAS сам подхватит IP и выдаст его на экране. В случае если адреса статические, ты без проблем можешь их задать, выбрав первый пункт. Кстати, поддерживается как IPv4, так и IPv6. В принципе, процесс установки на этом завершен и можно приступать к настройке.
Основы основ
Вбив в адресную строку IP нашего свежеиспеченного NAS, мы попадаем в симпатичную веб-морду.

Первое, что мы настоятельно рекомендуем сделать, - поменять пароль администратора, это можно сделать в первом пункте меню Account.
Далее нам понадобится подпункт Settings, который находится в System. Там мы поменяем язык и часовой пояс. Сохраняем настройки, обновляем страницу, теперь система приобрела привычный вид. Кстати, очень приятно, что FreeNAS хорошо локализован, прямо гордость распирает за отечественных энтузиастов.
Подошла очередь настройки самого хранилища. В этом плане ситуация у всех разная: количество дисков, их объем и интерфейсы. Уже не раз писалось о различных уровнях массивов, а в Интернете полно исчерпывающей информации, так что выбрать подходящий вариант под твою ситуацию не составит труда. Все же дадим несколько советов. Во-первых, при создании массива лучше пользоваться «железным» RAID-контроллером (при наличии оного, естественно). В этом случае меньше нагружается ЦП и рациональней расходуются ресурсы системы. Во-вторых, FreeNAS поддерживает две файловые системы - ZFS и UFS. Описывать достоинства и недостатки каждой из них мы в рамках этой статьи не будем. Вкратце: ZFS будет лучше для использования с большими массивами и железом приличного уровня; UFS хорошо приживется на слабеньких машинках с небольшим объемом оперативной памяти. Итак, для создания тома нам нужно зайти в пункт «Хранилище» и в «Управлении томами» добавить новый том.
Мы создали том с именем disk1 и файловой системой ZFS. Теперь самое время определиться с распределением данных. В файловой системе существуют определенные области данных (dataset), которые можно использовать для хранения различного рода данных. Мы создадим три области, две из которых будут принадлежать пользователям user1 и user2. Итак, заходим в «Хранилище» и в меню disk1 создаем новый набор данных doc_user1.
По аналогии создаем область для user2, а также раздел для медиафайлов. При выделении пространства мы можем указать квоту для каждого dataset, однако в нашем случае в этом нет необходимости.
Службы и права доступа
Итак, диск разграничен, теперь мы будем создавать ресурсы. Так как в нашей сети все ПК на «винде», то в «Совместном использовании» добавляем общий ресурс для Windows. Для этого нам необходимо дать название папке и указать путь до нужной области данных. Например, мы создадим папку movie в области данных media.
Для этой папки мы можем открыть доступ для всех, поэтому ставим галочку напротив строки «разрешить гостевой доступ». Таким образом, на области данных media мы можем создать еще папки типа music или pictures и открыть к ним общий доступ. Для областей doc_user1 и doc_user2 создаем одноименные папки, но без гостевого доступа.
Новый пользователь создается в разделе «Учетная запись». При добавлении необходимо указать логин, полное имя и пароль, по желанию еще и e-mail. Добавляем двух пользователей.
Для полного счастья пользователи должны получить доступ к своим папкам. Делается это в настройках тома, где следует указать права доступа на dataset для конкретного юзера. Пользователю user1 мы присвоили область данных doc_user1, в которой находится папка с одноименным названием. Казалось бы, все, но пользователь не сможет войти в свою папку, он ее попросту не увидит. Нам необходимо включить определенную службу, а именно CIFS, которая обеспечивает общий доступ к файлам и принтерам в системах Windows. Метод аутентификации указываем «локальный пользователь», а также проверяем рабочую группу, она должна совпадать с остальными ПК.
На этом этапе можно смело сливать все свои документы, фотографии и прочие файлы в папки, остается только всем войти под своими именами и паролями.
Расширения
Любое сетевое хранилище было бы неполноценным без плагинов. Большинство производителей реализуют только базовую функциональность в своих готовых решениях. Сам пользователь потом может устанавливать определенный набор расширений под свои нужды. FreeNAS 8.2 не лишен таких прелестей и также поддерживает установку плагинов, правда, не так просто, как в готовых решениях. Перед тем как радоваться и качать торренты, с помощью клиента Transmission необходимо выполнить ряд операций. Реализация и установка плагинов во FreeNAS несколько отличаются от привычных нам действий в готовых решениях. ОС FreeBSD поддерживает работу в изолированных средах, иными словами, на одном и том же железе могут работать несколько запущенных ОС с абсолютно разными конфигурациями. Таким же образом изолированы друг от друга плагины и FreeNAS. Первое, что необходимо сделать, - это настроить изолированную среду. Для этого нам потребуется создать две области данных с названиями Jail и Software, что не составит труда, благо делать это мы уже умеем. Далее на официальном сайте скачиваем файл plugins_jail для нужной разрядности ПК (в нашем случае это х64). Теперь установим независимую систему на датасет Jail. Для этого нам нужно зайти в «Управление службами» и открыть настройки плагинов. В первой строке указываем путь к датасету Jail, где будет храниться система. В поле Jail имя указываем Software. IP-адрес следует указать из диапазона твоей домашней сети, в нашем случае пусть это будет 192.168.0.10, в то время как адрес самого FreeNAS 192.168.0.199. Маска подсети стандартна - 255.255.255.0. В самом конце указываем путь к датасету Software для хранения самих плагинов. Подтвердив ввод данных, следом необходимо залить файл plugins_jail и дождаться завершения установки.
После включения службы «Плагины» можно устанавливать расширения, нажав на соответствующую кнопку сверху в меню «Управление службами». На сегодняшний день существуют три официальных плагина: Transmission - торрент-клиент, а также два медиасервера MiniDLBA и Firefly для iTunes. FreeNAS поддерживает установку сторонних приложений, только настраивать их так просто не получится. Устанавливать и изменять конфигурацию можно только из консоли, а изучение и применение команд - уже совсем другая история.
Transmission
Первая мысль, которая приходит в голову: «Зачем вообще торрент-клиент на сетевом хранилище, если им можно пользоваться на обычном ПК?». Во-первых, рейтинг еще никто не отменял, а при условии того, что NAS будет работать 24/7, то ответ очевиден - постоянная раздача. Во-вторых, пользоваться плагином удобнее, так как можно настроить удаленное управление, но об этом позже. В Transmission предусмотрено множество различных настроек, давай рассмотрим основные из них.
Для начала нужно указать пути к определенным каталогам. По умолчанию они уже прописаны, но ты можешь поменять папки для загрузки файлов и файлов конфигурации. Также существует каталог, который проверяется клиентом на наличие новых торрент-файлов для автоматического добавления их в загрузку. Затем идут настройки доступа к веб-интерфейсу. Можно разрешить или запретить доступ к нему, указать порт, а также установить пароль на доступ к управлению «веб-мордой». Кстати, многие настройки дублируются в интерфейсе самого Transmission. Добавление и управление торрентами не вызывает трудностей. Расположение кнопок интуитивно, создается ощущение, будто это отдельный клиент, установленный в системе.
MiniDLNA и Firefly
Из названия самого плагина следует, что он не утяжелен кучей настроек. MiniDLNA создан для выполнения главной задачи - функции медиаплеера. Для нормальной работы следует настроить всего несколько параметров. Во-первых, нужно указать путь к контенту, в нашем случае это область данных «media». Во-вторых, присвоить имя серверу и указать параметры для обновления файлов. Также доступны дополнительные команды. Подробную информацию о них можно взять в документации.
Настройка Firefly не сильно отличается от настройки MiniDLNA. В нем также указывается путь к каталогу с файлами mp3. В другом поле уже забиты расширения файлов, которые будут индексироваться. Обязательно нужно указать пароль для доступа к веб-интерфейсу. Уже заданный порт 3689 менять не надо, так как он является стандартным для iTunes.
Удаленный доступ
Если сложить воедино наличие сетевого хранилища в режиме 24/7, роутера и Интернета, то у настоящего техноманька должна проскочить в голове мысль о доступе к своим данным извне. Представь, находишься ты в другом городе и тебе срочно понадобились документы или просто захотелось посмотреть фото. Другой вариант, когда, находясь в душном офисе, ты мечтаешь приехать домой, сесть в свое любимое кресло и посмотреть свеженький боевик в HD качестве. Тебя останавливает только то, что файл весит не один десяток гигабайтов, и ты успеешь заснуть, пока завершится закачка. Мы можем тебе подсказать, как разрешить эти ситуации, а поможет нам в этом всемирная сеть. Итак, для начала необходимо выяснить, какой выделенный IP-адрес тебе выдает провайдер, статический или динамический. Если первый вариант, то настройка упрощается, во втором случае необходимо выполнить дополнительные настройки. Существует такая замечательная технология DDNS (динамический DNS). Благодаря ей пользователь может получить доступ к своему NAS, даже не задумываясь, какой IP у него в данный момент. Данная технология позволяет привязать IP-адрес, который в данный момент выдал провайдер, к постоянному доменному имени. Для реализации такой системы необходим сервис и клиент для него. Задача клиента - отправлять изменившийся IP на сервер DDNS, в то время как сервис перенаправляет на этот IP при вводе доменного имени. Существует много сервисов DDNS, но надежнее использовать самые популярные (DynDNS и No-IP). Современные роутеры (даже из нижнего ценового диапазона) должны поддерживать службу динамических DNS. Разница лишь в том, что находиться она может в разных категориях меню у разных моделей маршрутизаторов. Например, у прошивок роутеров D-Link она находится в меню TOOLS. Дальнейшую настройку мы будем проводить на примере девайса от D-Link. Все, что тебе нужно сделать, это зарегистрироваться на сайте услуги и вбить свои данные в клиенте на роутере.
Последующая настройка уже одинакова как для статических, так и для динамических адресов. На данный момент мы знаем адрес нашего ПК в интернете, но если мы «постучимся» на него, то ничего не произойдет - роутер не поймет, что именно от него хотят. Нам необходимо прописать конкретное место, куда мы хотим попасть. Сделать это можно во вкладке VIRTUAL SERVER. Начнем мы с настройки доступа к веб-интерфейсу Transmission. Как мы помним, по умолчанию был прописан порт 9091, значит в поле Private необходимо указать именно его.
В Public указываем порт, по которому мы будем «стучаться» извне, можем указать аналогичный внутреннему. Далее прописываем IP-адрес NAS внутри домашней сети. Теперь, если мы наберем в браузере <наш адрес в Интернете>:9091, то роутер перенаправит нас именно на тот ПК, где установлен FreeNAS.
Для доступа к файлам извне лучше использовать протокол FTP. Сначала необходимо включить его в разделе «Управление службами». Для настройки нужно указать путь к источнику, мы выбрали корень диска.
Если ты хочешь открыть доступ всем и везде (за исключением областей, которые присвоены определенным пользователям), то можешь установить галочку напротив пункта «Разрешить анонимный вход». Также необходимо отметить «Разрешить вход локальных пользователей». Теперь при входе будет запрашиваться авторизация, а все права, созданные для наших пользователей, сохраняются за ними.
Настройка доступа аналогична оной для веб-интерфейса Transmission. Только в портах теперь указываем 21.
Возможности функции VIRTUAL SERVER не останавливаются на этом. Ее также можно использовать для подключения к удаленному рабочему столу (RDP), например, своего домашнего ПК. Для этого нужно указать внутренний порт (по умолчанию это 3389) и IP-адрес самого ПК.
В итоге при правильной настройке ты развязываешь себе руки и можешь стать более мобильным в путешествиях и поездках. Главное - правильно все прописать и внимательно использовать мануалы, и будет тебе счастье.
Производительность
Подходя к концу обзора, мы решили протестировать наш импровизированный NAS. Главная задача теста – показать соотношение мощности железа и производительности. Пусть наша конфигурация выступает в качестве отправной точки для сборки твоего хранилища. Тестировать мы будем небезызвестной утилитой Intel NAS Performance Toolkit. Пусть это и синтетика, зато она хорошо «прогревает» все компоненты, начиная от жесткого диска и заканчивая роутером. Полагаясь на результаты, ты можешь найти и устранить узкие места в своей системе.
Результаты тестирования нельзя назвать выдающимися, они скорее демонстрируют средний уровень, однако для дома таких скоростей вполне хватит. В нашей конфигурации узким местом оказалась дисковая подсистема. Мы не использовали массивы, поэтому скоростные показатели будут немного проседать при обращении к диску нескольких пользователей и приложений.
Выводы
То, что мы собрали и настроили своими руками, - далеко не предел возможностей, которые могут предоставить нам сети. Если раньше все эти «примочки» были прерогативой исключительно бородатых и суровых дядек, работающих с серьезными данными, то сегодня технологии доступны и простым смертным. Оборудование сильно шагнуло вперед в плане функциональности, при этом даже потеряв в цене. Самое главное - это не лениться и изучать сетевые технологии. Поняв устройство сетей один раз, ты с легкостью сможешь развернуть структуру любой сложности и под разные задачи.
© Автор: Даниил Либарц
*** |