На мой взгляд, одни из лучших NAS — это Synology. И по большей степени это благодаря их софту Synology DSM . Чтобы поставить эту ОС на любое x86 железо существует проект Xpenology.
Себе я сделал NAS на Synology DSM из старенького Intel NUC DE3815TYBE c 4 GB ОЗУ DDR3L Kingston KVR16LS11/4 и SSD Kingston A400 на 120 GB для установки ОС. Так же есть возможность установить ОС на HDD, предназначенный для хранения данных, но я решил выделить для этого отдельный SSD.
Итак, весь комплект:
На usb флешку ставится загрузчик, и она всегда должна быть вставлена в nuc.
Итак, приступим. Скачиваем образ IMG для флешки.
Образы всегда будут доступны тут, и всегда свежие: https://xpenology.com/forum/topic/7848-links-to-loaders/
Я пробовал образы, начиная с самых последних и шел ниже по списку, и все отказывались грузиться после установки DSM на моем NUC. Заработал образ DS3615xs 6.1 Jun’s Mod V1.02b.img, скачанный по этой ссылке
Теперь скачанный образ нужно отредактировать под параметры нашей флешки. Для этого распаковываем его и открываем файл DS3615xs 6.1 Jun’s Mod V1.02b.img через программу OSFMount. Ее можно скачать тут
Жмем Mount new:
И выбираем synoboot.img. Жмем Next:
На следующем шаге выбираем раздел на 15 МБ и жмем Next:
Далее убираем галочку с Read-only drive и жмем Mount:
Будет смонтирован новый раздел:
Теперь нам нужно отредактировать файл grub.cfg в каталоге grub. Но перед этим нужно узнать VID и PID флешки, которая будет загрузочной. Для этого я использовал программу ChipGenius, скачать можно тут.
Находим нашу флешку и жмем на нее. В нижнем окошке выйдет информация, включающая VID и PID:
Теперь в смонтированном разделе открываем grub.cfg в каталоге grub через Notepad++ (скачать можно тут) и меняем строки
на значения vid и pid своей флешки:
Сохраняем grub.cfg и размонтируем образ:
Теперь нужно записать отредактированный образ DS3615xs 6.1 Jun’s Mod V1.02b.img на флешку с помощью Rufus. Скачать можно тут
Просто выбираем в руфусе нужную флешку, затем образ DS3615xs 6.1 Jun’s Mod V1.02b.img и жмем Старт:
После успешной записи образа вставляем эту флешку в NUC и включаем его. На экране появится загрузчик и автоматически запустится первый пункт.
И после этого выйдет вот такая надпись:
Скрины загрузчика не мои, взял с xpenology.com
Теперь нужно зайти на http://find.synology.com/ чтобы найти наш nuc
Жмем подключиться и соглашаемся с лицензионным соглашением:
Далее нам будет предложено установить операционную систему. Жмем Установить:
На следующем этапе я нажал Установка вручную:
И выбрал файл DSM_DS3615xs_15284.pat,скачанный отсюда
Жмем зеленую кнопку Установить прямо сейчас, нас предупредят о форматировании подключенного накопителя:
И начнется установка DSM:
После установки устройство будет перезагружено и пойдет обратный отсчет 10 минут:
Где-то на 7 минуте у меня открылось окно с предложением создать учетную запись администратора. Создаем:
На следующем этапе вышло предложение настроить Автоматическое обновление и расписание проверок жестких дисков. Я выбрал ручное обновление, так как с новой версией DSM, с большой долей вероятности, наш NAS окирпичится без нужной версии загрузчика:
Далее нас просят настроить QuickConnect для удаленного доступа через сервера Synology. Для этого нужно прописать серийный номер и mac от реального Synology Diskstation в grub.cfg. Я нажал Пропустить этот шаг:
И после система скажет, что все настроено:
И будет открыт рабочий стол DSM:
Первым делом я добавил репозиторий с дополнениями от сообщества: https://synocommunity.com/
Для этого переходим в Центр Пакетов > Настройки > Источники пакетов и жмем Добавить, введя название и адрес репозитория http://packages.synocommunity.com/:
После добавления будет доступен весь список кастомных дополнений, включая Transmission:
Но чтобы установить какой-либо аддон, нужно смонтировать свободный раздел диска. Я был немного удивлен, когда зайдя в Диспетчер хранения > Разделы кнопка создать была неактивна. Хотя на моем SSD еще свободно около 100 ГБ. В общем, чтобы смонтировать раздел я зашел в Диспетчер хранения > RAID Group и создал как бы raid, но не raid, выбрав в типе raid Basic. И уже после этого во вкладке Разделы я смог добавить раздел на 100 ГБ.
Так же я поставил галочку на Запретить доступ к предыдущим версиям samba в Панель управления > Файловые службы > SMB и выключил ненужную мне службу bonjour
После этих манипуляций можно устанавливать нужные вам дополнения. Я установил Transmission через Центр пакетов > Сообщество и Monitorrent
Для Monitorrent нет пользовательского дополнения Synology, но зато есть докер контейнер на Docker Hub. А в Synology DSM есть дополнение Docker, позволяющее без особого труда установить вообще любые контейнеры.
Сначала нужно установить его через Центр пакетов:
Запустив, переходим в Реестр и ищем Monitorrent:
Официальный тот что снизу, от werwolfby. Во время установки был прописан порт контейнера Monitorrent 6687, я так же прописал его в поле Локальный порт и запустил. Перейдя по адресу DSM http://192.168.0.31:6687/ открылся Monitorrent:
Стандартный пароль monitorrent
Так же я установил Plex сервер через Центр пакетов и вручную обновил версию, так как на этой версии DSM Plex почему-то был версии 1.16, хотя доступна 1.18 и она без каких-либо проблем сейчас работает.
В итоге получилось отличное сетевое хранилище с моим собственным железом и с низким энергопотреблением.
В моем NUC только 1 sata порт, но есть разъем mini pci-e. Для установки HDD я заказал вот такую плату с 2 sata 3.0 и с чипом ASM1061 на всем известной площадке:
Пока что тестирую новый NAS с Synology DSM в ожидании этой платы, а основные функции сейчас выполняет мой D-Link DNS-320, о восстановлении которого я писал уже очень давно:
Восстановление D-Link DNS-320
Он, кстати, иногда не запускает Transmission после перезагрузки. Приходится заходить на web ui и запускать вручную. В остальном же работает безотказно после того восстановления в 2016 году.
И напоследок, в Home Assistant легко добавить мониторинг состояния Synology DSM. Для этого в sensors.yaml:
В итоге имеем вот такую карточку для мониторинга:
Как раз SMART мониторинг состояния дисков через Home Assistant был для меня одной из главных особенностей в выборе ОС для своего NAS. Можно настроить простую автоматизацию на отправку уведомления при изменении статуса, чтобы быть в курсе, если диск будет пора менять.
Как ты догадался по названию, сегодня мы будем строить домашний 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. То, что мне подошло по цене/качеству.
Пара фраз о корпусе
Классный дизайн и цвет отлично смотрятся практически везде, а стоимость весьма демократична. К слову, мне такой корпус обошелся всего в 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 и скачиваем набор для развертывания.
WWW
XPEnologyXPEnoboot DS3615xs 5.2-5644.4 ISODSM_5.2-5644
XPEnoboot — это образ загрузочного диска для установки и загрузки/перезагрузки сервера.
DSM — сама система. Synology Assistant — опционально, программа обнаруживает серверы XPEnology/Synology, установленные или готовые к установке узлы. Я устанавливал через веб-интерфейс — как говорится, на вкус и цвет все фломастеры разные.
ISO-образ нужно распаковать на флешку и использовать при каждом перезапуске сервера, что не совсем удобно. Либо подарить флешку серверу и сделать ее приоритетной при загрузке. Есть второй путь. В предыдущих выпусках журнала «Хакер» я писал про организацию PXE-сервера с различными вариантами загрузки. Если есть такой сервис, то можно с легкостью отдать это ему. За загрузку в XPEnology отвечают два файла (как и в любом линукс-дистрибутиве): zImage и rd.gz. Располагаем их в директории PXE-сервера, в меню дописываем:
Из меню понятно расположение файлов в подкаталоге xpenology, относительно корня TFTP-сервера. Информация была найдена на сайте xpenology.com. Рекомендую ознакомиться.
Первый вариант не сработал. Пробую по-другому. Распаковываю ISO, беру оттуда файл меню isolinux.cfg, копирую менюшку в свое меню PXE, с поправкой пути до файла ядра zImage. Копирую zImage на PXE-сервер. Вот этот вариант сработал как надо, после начала установки даже pat-файл операционной системы не потребовался. Сервер сам скачал его с сайта synology.com, что не может не улыбнуть :). В процессе установки сервер попросит ввести учетные данные администратора. После установки получаем полностью готовый к работе сервер Synology на обычном железе. Тем, кто не знаком с этой ОС, очень рекомендую! Огромное сообщество. Как результат — большое количество репозиториев, которые в разы расширяют штатную функциональность.
Рекомендую следующие списки репозиториев:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»2 года назад
Synology DSM это операционная система выпускаемая в комплекте с NAS одноименной компании. Фактически ваше персональное облако с простым интерфейсом.
DiskStation Manager (DSM) представляет собой интуитивную операционную веб-систему, работающую на всех NAS-серверах Synology — говорится на их сайте.
Там же можно и посмотреть возможности этой WebOS — https://www.synology.com/ru-ru/dsm/live_demo
DSM ставится с помощью дополнительного загрузчика, практически на любое устройство (с совместимым оборудованием), загрузчик разрабатывается сообществом XPEnology https://xpenology.com/forum/forum/4-russian/
Установка возможна на x86-x64 совместимые системы, на виртуальные машины ESXI, Hyper-V, VirtualBox. Разница в установке только в конфигурации каждой выбранной виртуальной машины и выбора загрузчика.
Расскажу вам как устанавливать на PC, для этого необходимо:
1. USB Flash любого обьема (250MB достаточно) всегда должна быть вставлена в PC
2. Образ IMG для флешки (ds3615 v1.02b на момент написания) — https://mega.nz/#F!yQpw0YTI!DQqIzUCG2RbBtQ6YieScWg
3. Утилита для разворачивания образа (использовал https://rufus.akeo.ie/?locale=ru_RU)
4. Утилита для редактирования образа (использовал OSFMount https://www.osforensics.com/tools/mount-disk-images.html)
5. Утилита для определения PID&VID флешки (http://flashboot.ru/files/file/448/) — либо в диспетчере устройств посмотрите.
Все действия вы выполняете на свой страх и риск!
Скачиваете образ, монтируете в утилите OSFMount для записи раздел 15МБ.
На смонтированном диске находим папку grub а в ней файл grub.cfg
Открываем файл с помощью нормального блокнота (например Notepad++)
Находим строку с:
set vid=0x058f
set pid=0x6387
set sn=C7LWN09761
set mac1=0011322CA785
Меняем vid и pid на те которые на вашей флешке. Сохраняем grub.cfg размонтируем образ.
Так же можем изменить серийный номер устройства и мак адрес на валидные что бы работал удаленный доступ с любого места.
Разворачиваем отредактированный образ на флешку с помощью Rufus.
Вставляем флешку в компьютер и загружаемся с нее (компьютер должен подключен к вашей локальной сети и очень желательно что бы получил IP от вашего роутера)
Ничего не нажимаем, загрузится первый пункт меню
Все отлично — система готова к установке.
Во время установки на жесткий диск установленный в компьютере будет форматирован иВ установлена файловая система (около 2GB) — остальное пространство будет не размечено и доступна в последствии для работы.
Заходим на в браузере на сайт http://find.synology.com
Находим ваше устройство в сети (либо можете подключится по IP:5000)
И с помощью мастера установки (либо онлайн скачается файл прошивки, либо вручную, скачать здесь) установить WebOS на ваш компьютер.
После перезагрузки по полученному IP будет доступна DiskStation Manager (DSM)
А дальше все по вашему желанию.
Сразу же установил свой любимый monitorrent
https://pikabu.ru/story/monitorrent__avtomaticheskiy_zagruzchik_torrentov_4812706
Дополнительный репозитарий: https://synocommunity.com/ с полезным софтом https://synocommunity.com/packages
Так же можно установить контейнеры Docker коих великое множество.
Использовались материалы этого форума: https://xpenology.com/forum/topic/7973-tutorial-installmigrate-dsm-52-to-61x-juns-loader/
Вот вам дискусов в ленту 🙂 stardiscus.com
Используемые источники:
- https://kvvhost.ru/2019/12/18/synology-nuc/
- https://xakep.ru/2017/01/09/home-nas-server/
- https://pikabu.ru/story/nas_server_na_lyubom_zheleze_s_softom_synology_5437965