Содержание статьи
Не фонтан, конечно, — всего четыре SATA и нет поддержки RAID, но зато малое энергопотребление. Цену на сегодняшний день определить не удалось, но когда-то она стоила 220 долларов. В идеале бы, конечно, лучше иметь мать с возможностью подключения шести дисков и поддержкой RAID. Но такое удовольствие обойдется в некислую сумму. Попробуем прикинуть из того, что есть на рынке б/у. Предложили комплект на Intel 7600 + мать Asus можно приобрести за 1500–2000 рублей (напомню, что это б/у).
До замены корпуса система состояла из Ubuntu-сервера, шары на ней — и, собственно, все. Внутри было два диска по 500 Гбайт. Сейчас приобретен новый корпус, установлена еще пара жестких дисков. Итого три HDD по 500 Гбайт и один на 1,5 Гбайт.
Хотелки
Из задач, которые должен решать медиасервер, выделим следующие:
- само собой, Samba, раздача медиаконтента по сети, об этом чуть ниже;
- виртуализация различного уровня: пара виртуальных машин, внутри может быть 1С-сервер Linux, Docker-контейнеры;
- чтобы не надо было настраивать каждый домашний узел для сервисов, маленький DNS с зоной что-нибудь.local.
Требования к аппаратной части:
- бесшумность;
- удобная установка/замена HDD;
- компактность.
Повторюсь: очень хотелось бы заменить материнскую плату с процессором, но это не обязательно. Возможно, в дальнейшем заменю только процессор с кулером. Итак, новый корпус, поиск был долгим и сложным. После недельного гуглинга выбор пал на Raijintek Metis. То, что мне подошло по цене/качеству.
Пара фраз о корпусе
Производитель и модель: Raijintek Metis, с окном
Материал: алюминий, сталь
Габариты: 190 x 254 x 277 мм (Ш x В x Г)
Форм-фактор: Mini-ITX
Отсеки накопителей: 1 x 2,5/3,5" (внутри), 2 x 2,5" (внутри)
Вентиляторы: 1 x 120 мм (сзади, предустановлен)
Вес: около 2,8 кг
Классный дизайн и цвет отлично смотрятся практически везде, а стоимость весьма демократична. К слову, мне такой корпус обошелся всего в 4000 рублей. Приобретался на Avito, доставка почтой. Подробнее с корпусом можно познакомиться на сайте производителя. Чуть не забыл про память! На момент написания статьи было установлено 2 Гбайт (две планки по 1 Гбайт). Сейчас уже заказываю две плашки по 2 Гбайт.
Реализация программной части
Итак, что самое главное хочется от сервера? Чтобы был легко масштабируемый, в ногу со временем, приятый и удобный в использовании/администрировании. Желательно привлекательная веб-морда.
- Вариант 1: поставить Ubuntu Server c панелью управления Ajenty 2 и все необходимое доставлять руками.
- Вариант 2: поставить OpenMediaVault. Морда в наличии, много плагинов/расширений для увеличения функциональности, в основе лежит Debian, соответственно, всегда есть возможность доставить или допилить руками.
- Вариант 3: поставить FreeNAS. Чуть меньше плюшек, но можно доставить все руками, правда — чуть сложней. Базируется на FreeBSD.
- Вариант 4: поставить XPEnology. Огромное количество плюшек, репозиториев с дополнениями. Поддержка виртуальных машин и Docker.
После долгих мучений выбор пал на четвертый вариант. На нем и будем поднимать домашний сервер далее. Почему именно так? Первый вариант хорош сам по себе, но в то же время хочется минимум усилий и максимум возможностей без дополнительного рукоприкладства. К тому же Ajenty не дает гибко обращаться к серверу, так и хочется залезть в консоль и сделать все руками оттуда. А потом зайти в панель и просто любоваться :). Среди оставшихся вариантов победу одержал XPEnology. Предоставляет максимум сервисов при минимуме настроек.
Взлетаем
Итак, перво-наперво идем на сайт xpenology.me в раздел downloads и скачиваем набор для развертывания.
XPEnoboot — это образ загрузочного диска для установки и загрузки/перезагрузки сервера.
DSM — сама система. Synology Assistant — опционально, программа обнаруживает серверы XPEnology/Synology, установленные или готовые к установке узлы. Я устанавливал через веб-интерфейс — как говорится, на вкус и цвет все фломастеры разные.
ISO-образ нужно распаковать на флешку и использовать при каждом перезапуске сервера, что не совсем удобно. Либо подарить флешку серверу и сделать ее приоритетной при загрузке. Есть второй путь. В предыдущих выпусках журнала «Хакер» я писал про организацию PXE-сервера с различными вариантами загрузки. Если есть такой сервис, то можно с легкостью отдать это ему. За загрузку в XPEnology отвечают два файла (как и в любом линукс-дистрибутиве): zImage и rd.gz. Располагаем их в директории PXE-сервера, в меню дописываем:
insert into pxelinux.cfg/default
LABEL xpenolog
kernel xpenology/zImage root=/dev/md0 ihd_num=0 netif_num=2 syno_hw_version=RS3612xs ac1=0010562E3E36 mac1=0051562E3E37 sn=B5JDN10005
initrd xpenology/rd.gz
Из меню понятно расположение файлов в подкаталоге xpenology, относительно корня TFTP-сервера. Информация была найдена на сайте xpenology.com. Рекомендую ознакомиться.
Первый вариант не сработал. Пробую по-другому. Распаковываю ISO, беру оттуда файл меню isolinux.cfg, копирую менюшку в свое меню PXE, с поправкой пути до файла ядра zImage. Копирую zImage на PXE-сервер. Вот этот вариант сработал как надо, после начала установки даже pat-файл операционной системы не потребовался. Сервер сам скачал его с сайта synology.com, что не может не улыбнуть :). В процессе установки сервер попросит ввести учетные данные администратора. После установки получаем полностью готовый к работе сервер Synology на обычном железе. Тем, кто не знаком с этой ОС, очень рекомендую! Огромное сообщество. Как результат — большое количество репозиториев, которые в разы расширяют штатную функциональность.
Рекомендую следующие списки репозиториев:
- http://www.cphub.net/index.php?id=37
- http://spk.unzureichende.info/
- http://synology.sysco.ch/
- http://packages.jdel.org/
- http://spk.naefmarco.ch/spkrepo/packages/
- http://repo.synozwave.com/
- http://spk.nas-mirror.de/spkrepo/packages
- http://spk.synologyitalia.com
- http://jaspr.kastner.wtf
- http://packages.pcloadletter.co.uk
- http://www.cphub.net
- http://synology.sysco.ch
- http://synology.acmenet.ru
- https://packages.synocommunity.com
- https://synocommunity.com/packages
На всякий случай ко всему нужно иметь рабочую систему Ubuntu Server. Поэтому первым делом ставлю Docker и добавляю контейнер Ubuntu.

Если нужна виртуализация, в XPEnology есть VirtualBox. Кто хочет Archipel, есть Docker (ссылка для любителей CentOS). Понятно, что внутри хоть KVM, хоть еще что можно крутить. У меня таким образом в Ubuntu-контейнере крутится веб-клиент uTorrent.
Вот так легко и непринужденно управляем контейнерами в XPEnology.

Из центра пакетов следом за «Докером» рекомендую подборку:
- DNS Server (для настройки домашней зоны, опционально);
- Plex Media Server;
- DLNA Server (опционально, в Plex’е уже есть);
- Download Station — менеджер закачек на самом сервере;
- MariaDB;
- PHP PEAR;
- Midnight Commander;
- phpMyAdmin;
- Transmission;
- VirtualBox;
- Tor;
- Python;
- антивирус на выбор.
Настройка DNS
Открываем DNS Server во вкладке «Зоны», сразу жмем «Создать», «Основная зона», вводим имя зоны. Далее двойным кликом открываем и вносим необходимые записи.

Далее открываем вторую вкладку «Разрешение». Включаем службы разрешения. Включаем серверы пересылки и вводим адреса вышестоящих DNS-серверов, к которым следует обращаться, если в своей базе данные отсутствуют. На очередной вкладке можно посмотреть журнал, а на следующей — создать ключи. Далее вкладка «Представление». Переходим и создаем запись. Приоритет будет выставляться в порядке создания. Далее вводим имя представления, есть опция ограничения IP-служб. Для настройки отдельных серверов пересылки переходим во вкладку «Выберите зону» и выбираем нужные зоны для этой записи. В последней вкладке, «Настройки», можно настроить размер журнала, TTL кеша, кеш, число рекурсивных клиентов и максимальное число TCP-подключений.
Следующим шагом нужно автоматизировать скачивание сериалов с отслеживанием новых версий и последующей передачей медиа Plex-серверу. Для этого нужен веб-сервер, который уже предусмотрен в DSM, торрент-качалка Transmission с веб-интерфейсом: того, что сериалы мониторятся и скачиваются автоматически, точно окажется мало — обязательно возникнет необходимость скачать еще какой-нибудь торрент. И собственно сам TorrentMonitor, написанный на PHP. У этого приложения очень хороший набор функций при минимальной нагрузке на сервер. TorrentMonitor позволяет мониторить не только сериалы на популярных трекерах, но и раздачи с таких сервисов, как rutor.is или rutracker.org. У проекта есть живой сайт и форум, на котором можно довольно быстро получить консультацию, если что-то пошло не так.
Хочется выразить огромную благодарность разработчику. В общем, очень полезная штуковина. Рекомендую!
Ради самообразования поставим к Transmission еще uTorrent-веб, пусть TorrentMonitor грузит через Transmission, а для админских качалок без ограничений будем качать uTorrent’ом.

Итак, для всяких веб-приложений, включая TorrentMonitor, подготовим веб-службы с виртуальными узлами.
Идем в «Панель управления», раздел «Веб-службы». Включаем Web Station. Добавляем виртуальные хосты. Указываем имя каталога, имя хоста, протокол и порт. Указанное имя каталога создается по следующему пути: /web/имя_каталога
. Поскольку сервер домашний, то с HTTPS не буду заморачиваться, но для особо искушенных такая возможность есть и при желании включается в пару кликов.
TorrentMonitor распаковываем в соответствующий хост (у меня это torrent.homeserver.local
) имя каталога tm-latest. Не заморачивался особо, распаковал архив с TorrentMonitor’ом и прямо эту папку указал в virtual host. Настраиваем БД по желанию. В моем варианте MariaDB-server + phpMyAdmin, оба пакета устанавливаются из центра приложений XPEnology. Для особо экзотических есть SQLite, меня, правда, производительность не устроила. Как работать с phpMyAdmin, информации в интернетах полно, поэтому не буду заострять внимание.
На самом деле там все просто. Заводим аккаунты на поддерживаемых трекерах. Указываем параметры подключения к торрент-клиенту. И наконец, добавляем сериал для мониторинга, выбираем директорию скачивания, и все готово. В программе есть тест на работоспособность. Повторюсь, что в целом очень легко настраивается.
С этим разобрались, переходим к uTorrent WebUI. Здесь можно пойти тем же путем. А можно поднять контейнер с Ubuntu 14.04 в Docker и запустить внутри uTorrent WebUI, что я и сделаю.

Итак, ставим Docker из «Центра приложений». После запуска переходим в «Реестр». Ищем Ubuntu, ставим понравившийся образ: я выбрал widerplan/ubuntu-14.04. При запуске подключаем общий том с хостовой системой и нужные порты, выбрал 2222-й для SSH, 8088-й для 80 и 8080-й — на нем будет работать uTorrent WebUI.



Далее заходим по SSH и качаем архив с сайта TorrentMonitor.
Распаковываем по пути /var/www/html/utorrent
. Ставим LAMP, правим конфиги Apache 2. Все это сто раз рассказано в интернетах, поэтому трудностей возникнуть не должно. Итак, торренты качаются, сериалы мониторятся. Теперь надо бы все это дело более-менее прилично раздавать по сети. В качестве медиасервера будем использовать Plex Media Server. Преимуществ масса. Самое главное — сам сканирует папки, качает обложки, сортирует сериалы по сезонам и сериям, музыку по исполнителям и альбомам. Качает к фильмам трейлеры, описание, список актеров, рейтинги. И это далеко не предел. Внутри из коробки доступен DLNA, но использовать в качестве DLNA-сервера мы будем внешний. Устанавливаем его также из «Центра приложений». Если позволяет сеть, то можно организовать доступ к Plex-серверу извне, что сделает его доступным из сети Интернет, и ты сможешь делиться медиатекой с друзьями. Клиентские приложения есть практически под любое устройство.

После установки Plex’a добавляем каталоги с указанием содержимого. Отдельно рекомендую указать папку, в которую скачиваются торренты по умолчанию, а также добавить каталоги, куда скачивание идет через TorrentMonitor. Когда количество контента перевалит уже за терабайт, будет проще разбираться с файлами, чем искать все в «файлопомойке».
Заключение
Конечно, это далеко не предел для такой системы, как DSM (XPEnology). Здесь можно наворотить и мониторинг, и Proxy, и сервер резервного копирования как для обычных систем, так и для Apple-устройств. На лету можно установить CMS-ки, такие как площадка DokuWiki, Joomla, форум PHPBB, Drupal, BitTorrent Sync, IP-телефонию Asterisk, UniFI, VirtualBox и еще очень много всего. Возможности этой системы просто поражают именно потому, что все сделано с красивыми рюшечками и кнопочками в интерфейсе.
В общем, если нужно на лету быстро расширить функциональность, это не составит проблем. Для домашнего сервера очень даже то. Правда, не у каждого есть дома PXE, поэтому рекомендую приобрести маленькую флешку и запихать загрузчик на нее. В общем, удачи в установках, если что — пиши на почту, всегда рад помочь!
P.S. Надеюсь, ты не потратил время зря ;). Всем спасибо!
agaruppa
10.01.2017 в 00:58
Молодцы, вы изобрели велосипед и достойны получить пирожок. Теперь посчитаем стоимость компонентов, затраченное время и идём покупать synology. Умеет все тоже самое и даже больше и по цене и энергопотреблению сопоставимо
N3tD1v3
10.01.2017 в 01:14
то что доктор прописал
zapagry
10.01.2017 в 07:23
Интересно)
Capricorn404
10.01.2017 в 11:19
Agaruppa, synology это дисковые хранилища, а в статье описан мультимедийный комбайн универсал. Так что не в кассу ваш коммент. Или, как вариант, представьте нам модель synology, которая в равной степени годна и как мультимедийный центр, и как сервер универсал.
agaruppa
10.01.2017 в 13:36
Серьёзно? А как же тогда я смотрю с них кино? И торренты качаю? И библиотеку книг и коллекцию книг и музыки организовываю? Автоматом делаю бэкапы на них.
Capricorn404
11.01.2017 в 02:57
Прошу прощения, уважаемый! Не вник сразу в тематику аппарата. Но про велосипед всё-таки не совсем справедливо. С нуля, наверное, реально проще брать готовую Synology, но если есть уже старый комп, то сия статья — вариант второго дыхания ему.
Ещё раз извиняюсь!
agaruppa
11.01.2017 в 03:42
Приятно удивлён вашей вежливостью, но это не стоит извинений. Если есть старый комп то да, но спорно. Вряд ли найдётся вот так старый комп с низким энергопотреблением и в подходящем формфакторе. Я просто переболел всем этим уже. Столько разных решений перепробовал… сейчас нашёл свой почти идеал, я не только о NAS. Автора статьи прошу извинить мой тон, все таки люди стараются и пишут качественные материалы на фоне всего остального.
Capricorn404
11.01.2017 в 07:36
Могу сказать так, что сия статья добавлена мной в избранное, т.к. в ней есть ряд интересных вещей, которые я допилю, когда время и силы будут, в своей реализации. У меня собственно сделан и успешно эксплуатируется первый вариант из предложенных в статье, но без вебморды, и функционально всё пока проще.
Так что велосипед велосипеду рознь.
Asgoret
18.01.2017 в 09:03
Доброго времени суток, коллеги.
А про какую модель Synology Вы говорите Agaruppa?
agaruppa
18.01.2017 в 13:37
У меня их две. 115j и 215 play. Операционка DSM 6
Danila_Sun
11.01.2017 в 00:12
В общем, наверное кому-то понравится такое небольшое рукоблудие и он будет Счастлив! А это — самое Главное 🙂
clicker314
12.01.2017 в 10:59
Советую посмотреть в сторону Asustor. Его сделали выходцы из Synology.
clicker314
12.01.2017 в 11:00
Основной плюс на момент покупки Asustor — наличие HDMI. Многие версии поддерживают 4К.
agaruppa
12.01.2017 в 13:18
Выглядит неплохо. Но зачем там hdma? У меня сервера стоят отдельно, в темной комнате. Организована домашняя сеть и проводная и без. Все устройства в доме могут к ним обращаться и видят весь контент. Наличие hdma предполагает установку поблизости от телевизора и использование в качестве развлекательного центра с функциями сервера. Мне проще эппл тв в телик воткнуть или виндовс стик от Интел.
clicker314
12.01.2017 в 13:53
Ну у меня он в телек воткнут. Управление с мобилки через приложение.
Тоже думал насчет Apple TV — но что-то не было времени понять что это такое 🙁
Поэтому смотрю прямо с асустора. Проблем нет никаких. По сети нормально будет прокачивать фильмы?
agaruppa
12.01.2017 в 21:10
У меня немного по другому. Вся экосистема: телефоны, компьютеры, планшеты и тв от эппл. И два сервера synology. Два телевизора на эппл тв 4 поколения. Сервера выполняют свою работу: файлообменник, cloud, мультимедиа, торренты, бэкапы, rss, фото галерея, заметки, почта, видеобиблиотека, библиотека книг(я туда всю Флибусту положил). В общем доволен как слон. Intel compute stick валяется без дела, я выпилил всю винду из моего дома.
YaS
15.01.2017 в 15:01
Не страшно бэкапить всё на рэйд? Я понимаю,что это рэйд итд. Но сбой в контроллерах итд никто не отменял. Или второй NAS — это зеркалка первого? Сам никак не решусь. Поэтому всё в облаках.
agaruppa
15.01.2017 в 15:56
Есть много возможностей многократного дублирования информации. Если есть сомнения, на NAS есть возможность синхронизации как с другим NAS , так и со многими облачными хранилищами. Есть возможность зеркалирования информации на разных устройствах.
Мне именно Synology нравится тем, что можно расширять функционал устанавливая программы. Есть различные базы данных, библиотеки, серверы и т.д. Никто не мешает подключить независимый жесткий диск через USB. А так на двухдисковом Synology по умолчанию диски работают рэйд, то есть из двух дисков каждый по три терабайта, вам доступно всего три террабайта, ибо серкалируется все, в том числе и OS NAS. Можно безболезненно вытащить один диск и машинка загрузится с другого. Посмотрите обзоры, почитайте о возможностях. В обзорах много не пишут, а возможностей больше чем кажется.
YaS
15.01.2017 в 17:01
А если NAS «помрёт»? Купивши другую модель всё будет plug&play или прийдётся курить мануалы и шаманить? (по опыту просто сдох NAS однажды логически, но без рейда и однодисковый…ничего не помогло,мучался долго) Я давно читаю уже про них..и QNAP. Более интересует проблема переноса дисков с дохлого NAS.
agaruppa
15.01.2017 в 17:03
Просто вставите диск в другую модель этой же фирмы. Операционка на дисках продублирована тоже. NAS просто железка
YaS
15.01.2017 в 18:17
Ок. если они поддерживают перенос,то надо попробовать. Спасибо.
broBudd
16.05.2018 в 17:22
Самая фишка этого варианта — это возможность иметь очень большой RAID
покупать готовый (8-12 дисковый) для дома выйдет очень накладно.
Однако если собрать такой-же вариант на XPEnology — выйдет значительно дешевле.
plus
26.02.2019 в 15:03
почти все комплектующие из статьи были приобретены с aliexpress. Проц копеечный 400 рублей. Мать осталась от старого системника ( был куплен в свое время за 4000 рублей)… весь бюджет проекта без дисков не привысил 5-7 т.р. а теперь покажите мне synology за 7 т.р. с возможностью расширения 4 и более жеских?
P.S позднее был приобретен pci raid, там же, за 700 рублей. и появилась возможность подключения еще 6 дисков. для домашнего хранения за глаза и за уши, включая резервирование и всевозможные бекапы всех домашних устройств.