Openmediavault, или Как сделать NAS самому?
*Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.*
Почти у каждого обзора готовых сетевых хранилищ регулярно появляются комментарии примерно следующего содержания: «Что же так дорого!», «Да я сам сделаю лучше!», «Не нужно». И другие в таком духе. Оспаривать эти утверждения мы не будем, но всё же… Если у вас есть старое ненужное железо и немного времени, то собрать простейший NAS не составит труда. Вопросы экономической целесообразности данной затеи оставим за рамками этого материала.
Самый главный вопрос: какое железо нам понадобится? Openmediavault (OMV для краткости) предлагает варианты как для маленьких платок на базе ARM-процессоров, так и для обычных x86-64 CPU — последний и будем рассматривать. Технически этот продукт является надстройкой над Debian, так что системные требования схожи. Нужен 64-битный процессор с рекомендуемой частотой от 1 ГГц. Чем она выше и чем новее сам чип, тем, конечно, лучше. Но всё будет зависеть от нагрузки и задач. С оперативной памятью та же история — необходимый минимум составляет 1 Гбайт. На время установки также нужны клавиатура, монитор и видеокарта (если её нет в составе CPU), которые потом можно будет отключить. Обязательно наличие проводного сетевого интерфейса, который должен быть подключен к роутеру с DHCP-сервером и выходом в Интернет, хотя ваша домашняя локальная сеть и так наверняка соответствует этим требованиям.
Важный момент касается дисков. Во-первых, очевидно, что на материнской плате должно быть достаточно интерфейсов для подключения всех накопителей. Во-вторых, подход openmediavault подразумевает, что для установки собственно системы нужен
*отдельный* диск — данные на нём храниться не будут, только сама ОС! Его объём должен быть не менее 4 Гбайт. Возможна установка и на USB- или SD-накопитель, но этот вариант не рекомендуется из-за их быстрого износа, хотя есть и отдельный плагин folder2ram, уменьшающий его. Число и объём дисков для хранения данных зависят уже от ваших возможностей и потребностей. Если планируется создание RAID-массива, то можно воспользоваться калькулятором для оценки итогового свободного пространства. Использование отдельных RAID-контроллеров, которые могут быть в составе чипсета материнской платы, для неопытных пользователей не рекомендуется!
Наконец, понадобится USB-флешка объёмом пару гигабайт, куда будет записан инсталлятор openmediavault. ISO-образ можно скачать отсюда — в каталоге надо найти папку с наиболее свежей версией (сейчас это 4.1.3). Для записи образа на флешку проще всего воспользоваться утилитой UNetbootin. В её настройках надо переключиться на запись образа ISO, указать путь к образу, выбрать нужный USB-накопитель (не перепутайте букву диска!), нажать OK и дождаться, когда все файлы будут перенесены на флешку. Тем временем к ПК, который мы собираемся превратить в NAS, надо подключить все нужные диски (и отключить все ненужные). Почти готово! Вставляем флешку, включаем компьютер и в BIOS или в меню выбора загрузочного носителя выбираем нашу флешку. Сориентироваться можно по названию и объёму накопителя. На некоторых платах, возможно, придётся отдельно включить возможность загрузки с USB-накопителей, а также режим совместимости CSM. А вот функцию SecureBoot, если она вообще есть, лучше отключить.
Если всё прошло успешно, то появится меню загрузчика, в котором надо выбрать пункт Install. В самом процессе установки ничего сложного нет. Русский язык поддерживается, так что достаточно внимательно читать сообщения и вводить необходимые данные. Если сомневаетесь в каких-то параметрах, то просто не меняйте их. Важных этапов в процессе установки несколько. Во-первых, лучше выбрать корректный часовой пояс и в конце указать, что часы показывают не UTC-время. Во-вторых, инсталлятор попросит ввести пароль для пользователя root — запишите его куда-нибудь, хотя он вряд ли понадобится. В-третьих, установщик попросит выбрать диск, на который будет установлена ОС. Тут опять-таки важно не ошибиться и выбрать нужный накопитель. Вручную указать разделы на диске установщик не позволяет. После окончания установки в настройках BIOS именно этот накопитель надо будет указать в качестве первого загрузочного диска, а флешку просто вытащить.
После загрузки openmediavault на экране будет показан IP-адрес (xxx.xxx.xxx.xxx) свежесозданного сетевого хранилища. Его можно узнать и в настройках роутера, где, кстати, желательно присвоить ему статический адрес для пущего удобства. Все остальные настройки NAS производятся через веб-интерфейс, который доступен по адресу http://xxx.xxx.xxx.xxx/ (подставьте вместо иксов ваш адрес) или, если во время установки ничего не менялось, по http://openmediavault.local (работает не во всех сетях). Веб-интерфейс переведён на русский почти полностью, но местами качество перевода оставляет желать лучшего, поэтому иногда есть смысл переключиться на английский, чтобы понять, что же именно подразумевалось. А если захочется, то и самому помочь с переводом.
Логин по умолчанию admin, пароль — openmediavault. Этот пароль веб-администратора рекомендуется сразу же сменить на свой, более надёжный. Обратите внимание на общую схему работу веб-интерфейса. В меню слева находится дерево разделов, при выборе которых справа открываются различные параметры, разбитые иногда на отдельные вкладки. Для некоторых пунктов вверху есть несколько вариантов действий: изменить, удалить, проверить и так далее. Для большинства предлагаются просто переключатели или поля для выбора/ввода данных. Так вот, после изменения параметра чаще всего надо ещё и нажать кнопку сохранения, а потом и кнопку применения, всплывающую через несколько секунд вверху в отдельном уведомлении жёлтого цвета. Без этой последовательности действий изменения сохраняться не будут.
После смены пароля надо, конечно, установить последние обновления: в соответствующем разделе кликаем «
*Проверка»*, выбираем все пакеты, жмём « *Обновить»* и ждём, пока все не загрузится и не установится. В соседнем разделе включаем синхронизацию времени с NTP-сервером. Нелишним будет также включить S.M.A.R.T. для мониторинга состояния дисков. В общих параметрах можно выбрать частоту опроса, установить ограничения на проверку (вот тут как раз первый пример неудачной локализации) и задать лимиты температуры. В соседней вкладке нужно включить мониторинг вручную — для каждого диска по отдельности. Наконец, на последней вкладке можно задать расписание периодических проверок накопителей.
В разделе «
*Диски»* можно очистить накопители — это может пригодиться перед форматированием и созданием массива, если на накопителях остались какие-то данные и разделы. Тут же настраивается соотношение уровня шума и производительности (AAM), время ухода в спящий режим, а также включается кеширование записи — если все эти функции HDD в принципе поддерживает. Выбирайте параметры на свой вкус.
Если создание массива не планируется, а вместо него будут отдельные независимые диски, то этот этап можно пропустить. Хотя сложного тут ничего нет — в менеджере RAID при создании достаточно указать имя нового массива, выбрать его тип и отметить те накопители (не перепутайте!), которые в него войдут. Для выбора типа и расчёта объёма воспользуйтесь ссылками, приведёнными выше (хорошо, еще раз, вот калькулятор для RAID-массивов). Время инициализации массива в первую очередь зависит от объёма дисков — расчёт оставшегося времени в интерфейсе слегка привирает в большую сторону, но в любом случае для действительно ёмких накопителей процесс может затянуться на несколько часов. В дальнейшем, если тип массива это позволяет, к нему можно добавить дополнительные накопители.
Все накопители для данных, если на них уже нет собственной ФС и нужных файлов, лучше очистить и отформатировать в одну из родных для Linux файловых систем. Если сомневаетесь, то оставляйте EXT4 — она хоть и не самая современная, зато надёжная и проверенная временем. При создании нового тома нужно будет выбрать устройство — опять же не перепутайте! — и дать ему имя, просто для удобства. Этот процесс надо повторить со всеми накопителями/массивами, которые отведены для хранения данных в NAS. После завершения все тома надо примонтировать. Поддержка сторонних ФС для подключения в OVM ограничена NTFS, FAT32, UFS и HFS+. С отдельными дисками и разделами проблем не будет. А вот восстановить массив, созданный на другом хранилище, будет проблематично.
⇡#Общие папки, пользователи и права доступа
OMV использует традиционную систему прав доступа, состоящую из групп и входящих в них пользователей. По умолчанию есть только один — администратор. Для других людей лучше всего завести отдельные аккаунты, которые будут входить в группу users. Для них достаточно задать имя и пароль. Опционально им можно запретить менять свои данные, а для пущей безопасности в качестве оболочки выбрать false или nologin. Кроме того, для некоторых служб вроде того же клиента BitTorrent создаются отдельные служебные аккаунты. Всё это нужно для управления правами доступа к папкам, которые имеют три уровня: чтение + запись, только чтение, отсутствие доступа вообще. Есть также опция, запрещающая исполнение файлов, но нам она не нужна.
При создании общих каталогов как раз и выбирается их имя, их местоположение (путь + диск или раздел) и задаются права доступа. В диалоге создания приведены только базовые параметры доступа для администраторов, обычных пользователей и всех остальных аккаунтов (служебных в основном). В разделе ACL можно более тонко настроить распределение прав и применить их к текущему каталогу или ко всем вложенным папкам тоже (рекурсивно). Вот тут важна аккуратность, а иначе пользователи или приложения не смогут использовать разрешённые директории или, наоборот, получат слишком много свободы.
Кроме того, для удобства пользователей можно завести им личные каталоги. Для этого надо создать ещё один общий ресурс и указать его в качестве пути для таких каталогов.
Почти готово! Осталось лишь открыть доступ к общим каталогам по FTP или SMB/CIFS. Остальные сервисы — NFS или Rsync — домашним пользователям ни к чему. Основным способом работы с NAS в этом случае будет именно SMB, родной для Windows-систем. Опять-таки сначала включаем сам сервис. Тут стоит обратить внимание на имя рабочей группы, которое должно совпадать с таковым у домашней сети. Опционально можно включить доступ к личным каталогам пользователей, если они были созданы этапом ранее. Опции сервера времени, WINS и локального мастера дома особо не нужны.
На соседней вкладке включается сетевой доступ к общим папкам. Здесь стоит обратить внимание на ряд параметров. Пункт «
*Опубликованы»* на самом деле определяет, будет ли активен гостевой доступ к папке, без ввода логина и пароля. « *Видимый»* указывает на видимость общего ресурса в списке папок, в противном же случае путь к нему надо будет вводить вручную. Опция « *Корзина»* при удалении данных помещает их в специальную папку *.recycle*, откуда они будут окончательно удалены лишь через заданный промежуток времени. Эта папка, как и любые другие файлы с каталогами с точкой в начале имени, по умолчанию имеет атрибут « *Скрытый»*.
Для FTP-сервера настройка, в общем, аналогична — его надо включить и выбрать общие папки, к которым будет предоставлен доступ. Опцию «
*Требовать допустимую оболочку»* лучше выключить, а опцию « *Сводка»* (в оригинале resume) включить. « *Анонимный * *FTP»* позволяет, как понятно из названия, работать с сервером вообще любым подключившимся к нему клиентам. Если планируется открыть доступ к FTP из Интернета, а это самый типичный случай, то её, понятное дело, включать не надо. А вот пассивный режим, возможно, стоит задействовать, равно как и функции бана. Назначение остальных настроек вполне ясно из их названия и описания.
Вообще говоря, так как OMV является по сути своей надстройкой с удобным интерфейсом над стандартными компонентами и программами Linux, во многих местах, помимо понятных простому пользователю переключателей, списков, полей ввода и так далее, есть возможность принудительного изменения параметров запуска для более тонкой настройки. Это выходит далеко за рамки данного материала, так что дополнительную информацию можно получить или на форуме проекта, или в документации соответствующего ПО.
В составе самого OMV есть несколько дополнительных плагинов, но их совсем мало. Дополнительное ПО можно получить из сторонних репозиториев. В частности, намного больше возможностей по расширению функциональности предоставляет проект OMV Extras. Увы, сайт, по-видимому, попал под веерную блокировку, так что из РФ недоступен. Что же, пойдём обходным путём. Нам надо получить deb-файл openmediavault-omvextrasorg, который находится на этом сайте. Ну или можно сразу перейти к директории с файлами. Здесь среди репозиториев надо найти тот, у которого название совпадает с именем текущего релиза OMV (просто посмотрите информацию о вашей системе) — сейчас это Arrakis. Далее среди файлов перейти к pool/main/o/openmediavault-omvextrasorg и выбрать пакет посвежее. На момент публикации полный адрес для него такой.
Если же сайт вам доступен, то пакет можно найти в разделе Guides, в секции Installation. После скачивания файла openmediavault-omvextrasorg идём в раздел плагинов, здесь кликаем «
*Загрузить»*, открываем этот файл и ждём собственно загрузки. Затем ищем его в списке плагинов, выбираем и жмём « *Установить»*. После этого в меню появится новый пункт OMV-Extras. Вот здесь-то и можно включать репозитории с дополнительным ПО — для BitTorrent нужен Sync. После включения и обновления в разделе плагинов появится нужный нам transmissionbt. Впрочем, можете сами покопаться и найти для себя что-то интересное — большинство плагинов добавляет в меню новые пункты или же предоставляет дополнительные опции в диалогах настройки других компонентов.
⇡#Настройка BitTorrent-клиента
Нужный нам пакет transmissionbt, очевидно, необходимо установить. В новом пункте меню сначала надо обратиться к вкладке
*File and locations*, где следует выбрать общую папку, куда и будут скачиваться файлы. Обратите внимание, что к этой папке должен быть доступ на чтение и запись у служебного пользователя/группы debian-transmission (см. раздел ACL в настройках общих папок). Нелишним будет и включение каталогов « *Незаконченный»* (incomplete) и « *Смотреть»* (watch). В первом будут находиться временные, не до конца скачанные данные, а во второй можно в любой момент скопировать torrent-файл — его содержимое будет добавлено в очередь на скачивание. После этого уже можно включать сам клиент на вкладке « *Настройки»*. Все прочие параметры относятся к работе BitTorrent, так что выставляйте их на свои вкус и нужды.
Более удобный способ работы с клиентом — это встроенный веб-интерфейс для него, который находится на порте 9091: http://xxx.xxx.xxx.xxx:9091/ (укажите ваш адрес) или http://openmediavault.local:9091. Но есть и внешние клиенты. Например, утилита Transmission Remote GUI имеет версии для всех популярных десктопных ОС. Для работы в обоих случаях потребуется активировать RPC на одноимённой вкладке. Опционально можно включить запрос логина и пароля при подключении, которые задаются тут же. Ну а сама утилита при первом запуске попросит добавить новый профиль: надо будет указать IP-адрес (или сетевое имя) нашего NAS, проверить номер порта и, если потребуется, ввести логин-пароль, заданные на предыдущем шаге.
DLNA — ещё один полезный сервис для дома, обеспечивающий телевизорам, игровым приставкам и прочим плеерам доступ к мультимедийному контенту на NAS. Сервер DLNA устанавливается также при помощи отдельного плагина. Настроек у него минимум. Сначала надо выбрать папки, которые будут просканированы на предмет медиафайлов, и опционально указать тип контента: аудио, видео, изображения или все сразу. Обратите внимание, что доступ на чтение и запись к выбранным папкам должен быть у пользователя/группы minidlna. Дополнительные опции — «
*Строгий * *DLNA»* (strict) и поддержку TiVo — есть смысл включать в том случае, когда, например, телевизор не может проиграть контент с NAS. Впрочем, это всё равно не гарантирует полной совместимости данного сервера со всеми устройствами и программами.
Проверить работу DLNA можно с помощью плеера VLC, нажав Ctrl+L или выбрав в меню «
*Вид» → «Плей-лист»*, а затем перейдя в панели слева к пункту « *Протокол * *UPnP»*. В окне справа должен появиться наш медиасервер, по клику на который будет раскрыто дерево папок с различным контентом.
Ну что, не так уж и сложен OMV, правда? Впрочем, на практике эта простота всё же несколько обманчива. Если вас устраивает набор возможностей, а при настройке и в работе не возникло никаких проблем, то поздравляем — это ровно то, что вам нужно. А если возникли, то… добро пожаловать в чёрную бездну консоли! А заодно в Google или хотя бы на форум проекта. Да, он на английском, но там есть просто масса полезных советов и рекомендаций — как по решению типичных проблем, так и по «тюнингу» отдельных компонентов OMV.
В принципе, это нормально для открытых бесплатных проектов, тем более что судьба у OMV не совсем обычная. Он является наследником «классической», седьмой версии FreeNAS. Она впоследствии разделилась на бесплатный же NAS4Free, переименованный недавно в XigmaNAS, и неоднозначно воспринятое продолжение серии, включающее и коммерческие варианты. И нынче довольно странно смотрится сравнение FreeNAS и openmediavault, где одним из пунктов является число лайков на Facebook✴.