Как ты догадался по названию, сегодня мы будем строить домашний NAS-сервер. Уже больше пяти лет у меня обитает маленький старенький зверек в корпусе In Win BQ656 Black Mini-ITX 80W USB/Audio/Fan + External remote control. Внутри у него вот такой процессор: AMD Athlon(tm) Dual Core Processor 4050e, с показанием BogoMips в 4200. Хоть и крошка, зато мало ест и умеет виртуализацию, что немаловажно. Подробные характеристики можно посмотреть где угодно :). К слову, уже после сборки захотелось поменять его на чуть более крутой Athlon 64 X2 6000+. Купить такой можно на Авито за 500–700 рублей. Все это дело мы подняли на материнке Minix780G-SP128M.

Не фонтан, конечно, — всего четыре 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 на обычном железе. Тем, кто не знаком с этой ОС, очень рекомендую! Огромное сообщество. Как результат — большое количество репозиториев, которые в разы расширяют штатную функциональность.

Рекомендую следующие списки репозиториев:

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


21 комментарий

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

А ты знал? 10 фактов о Python

Python — язык программирования с достаточно низким порогом вхождения, поэтому его часто вы…