Xpenology подключение usb диска
Let me preface this post by saying this is extremely experimental and definitely not supported by Synology and is only a test on my XPENology DS3615xs. I will also add that you will need to reboot your box at least once.
So I had a few WD MyPassport 3TB external USB 3.0 hard drives laying around and I really wanted to turn them into a RAID1 group to see what I could do with them. This is really dumb, but trust me, I’ve done worse. So I got to digging.
I really couldn’t find anything on Synology or XPENologys forum, well because this is not a good idea, but I kept digging. After about 30 minutes of digging like a hot dog digging a cool dirt hole, I came across a post by someone who was running into issues going over 20 drives and bingo, I found a diamond in the rough!
- Running DSM 6.1.3 Update 8 (Read below for update)
- Two (2) WD My Passport 3TB USB 3 Drives
- USB 3.1 ports on Mobo
To get started, SSH into your box and run the following command:
Find and change the following lines within this file:
- FROM:
- maxdisks="12"
- usbportcfg="0x300000"
- TO:
- maxdisks="24"
- usbportcfg="0x300000000"
Reboot your box.
When my DSM came back online, I went to the Storage Manager and the two external HDDs now showed up as internal HDDs and I was able to add them to a RAID group. Great Success!
With some surface testing, I was able to get 50-120MB/sec with these two (super) slow external drives and turn them into something somewhat useful, for now.
Update: 11/26/17
Again, even though this isn’t probably the best use of a proper NAS configuration, after some more reading and poking around on the internet this could be a great use case for a Synology “HA” setup as a target to mirror your data to as a ‘Passive’ node on a Synology HA Cluster. An example of this would be a nicely equipped Active (Master) Node and then a node with just enough power to safely replicate your data to and keep safe in case your Active node has a major hardware failure.
Another use case is (old) HDDs mounted in an external enclosure such as a USB 3.1, USB-C or an eSATA enclosure. Note: for eSATA, the eSATA flag would need to be changed in the synoconf.conf file.
Update: 12/5/17
I’ve recently updated to DSM 6.1.4 Update 2 and this no longer works. Not sure what they changed but I am working on a workaround. Will create another updated post when I figure it out.
Xpenology - это та же операционная система Synology NAS, только установленная на обыкновенное компьютерное железо. Инструкций, как установить Xpenology на обычный компьютер, в инете вагон и маленькая тележка, поэтому я не буду на этом останавливаться.
В данной же статье я хочу рассказать, как установить Xpenology в качестве виртуальной машины на сервер ESXi и развернуть на ее базе сервер видеонаблюдения. Конечно, так как это в первую очередь NAS, то можно после установки виртуальной машины хранить на ней файлы других виртуальных машин с этого и других хостов, но, по мне, это будет перебор. Хотя, для экспериментов это вполне рабочий вариант.
Первым делом нужно скачать XPENOLOGY TOOL с сайта.
Выбираем загрузчик (loader) DS3615XS версии 1.03b и DSM 6.2 23739:
Скачиваем два файла: «synoboot_3615.zip» и «DSM_DS3615xs_23739.pat».
Из архива «synoboot_3615.zip» берем файл «synoboot.img» и создаем новый текстовый файл «synoboot.vmdk» следующего содержания:
Далее нам понадобится программа OSFMOUNT, с помощью которой мы смонтируем и поправим загрузчик в «synoboot.img»:
На смонтированном диске редактируем файл grub.cfg:
1) Меняем серийный номер и MAC-адрес (например, на C7AAN09761 и 0A1B2C3D4E5F); если нужно больше одной сетевой, то добавляем строчку с mac2, mac3 и т. д.
2) Комментируем ненужные строки меню
3) Сохраняемся и отмонтируемся.
Создаём виртуальную машину в esxi 6.7:
1) Даем машине 2 ядра и два гигабайта памяти.
2) Удаляем диск, SCSI контроллер и CD/DVD. Если используется загрузчик 3617, то нужно удалить USB контроллер или сменить его тип на USB 3.0.
3) Меняем тип сетевого адаптера на E1000e и даем ему MAC-адрес, такой же, как мы
прописали в grub.cfg, в нашем случае 0A:1B:2C:3D:4E:5F.
Для добавления в созданную виртуалку жесткого диска необходимо добавить в папку с файлами машины наши два файла: synoboot.img и synoboot.vmdk.
После чего в свойствах машины нажимаем «Add hard disk» → «Existing hard disk» и выбираем добавленный диск.
Тип его выбираем SATA, адрес SATA(0:0):
Не забываем поменять тип загрузки на BIOS:
Если все правильно, то через минуту он найдет устройство и предложит подключиться:
Обратите внимание на серийный номер и mac-адрес
Принимаем лицензионное соглашение:
Выключаем нашу виртуалку и добавляем к ней ещё один SATA контроллер и диск SATA (1.0), этот диск должен быть не меньше 15Gb и быть толстого типа (Thick provisioned).
После нажатия «Установить» выбираем «Установка вручную» и выбираем ранее скачанный файл «DSM_DS3615xs_23739.pat»:
Нажимаем «Установить прямо сейчас» и ждем окончания установки.
Потом указываем, что нас нужно только уведомлять о наличии обновлений и снимаем обе галочки. Нам вообще НЕ НУЖНО обновляться, у нас все виртуальное и SMART для нас неактуален.
Следующий этап мы пропускаем, QuickConnect нам не нужен.
После этого первоначальная настройка закончена. При желании можно полазить по настройкам, указать статический ip-адрес, отключить ipv6, включить доступ по SSH и т.д.
На все предложения обновиться отвечаем решительным отказом!
Но сразу ничего не получится, так как в системе ещё нет разделов, на которые можно что-либо устанавливать…
Для создания разделов идем в «Диспетчер хранения» → «Пул ресурсов хранения» → "Создать":
Видим наш 15Gb диск (если бы диск был меньшего размера, он бы не дал создать на нем раздел), который мы дали виртуальной машине (мышкой перетаскиваем его вправо). Соглашаемся с тем, что все данные на этом диске будут уничтожены и отказываемся от проверки диска на ошибки (ещё раз: у нас всё виртуальное, а вот на реальном железе это штука нужная).
Пул ресурсов мы создали, теперь нам нужен раздел на этом пуле, о чём нам сразу и напишут (тут небольшая путаница с переводом: предлагает перейти на вкладку «Том», а на деле нужная вкладка под названием «Раздел»).
Идём в «Раздел» и нажимаем «Создать».
Задаем размер раздела (я использовал все свободное место) и выбираем тип файловой системы (Btrfs - штука, конечно, интересная, но ext4 как-то ближе).
Раздел готов, теперь на него можно что-либо устанавливать (нам нужно установить vm-tools) или создать на нем папку общего доступа (SMB, NFS, FTP…).
Возвращаемся в «Центр пакетов» и вручную устанавливаем «open-vm-tools_x64-6.1_10.2.0-1.spk» (на то, что пакет без цифровой подписи, внимание можно не обращать).
Вот теперь гипервизор может полноценно управлять этой виртуальной машиной (например, правильно выключать).
Теперь можно переходить к тому, ради чего всё это и затевалось: к видеонаблюдению.
Из «Центра пакетов» нужно установить пробную версию «Surveillance Station» на две камеры (На форумах я встречал ссылки на взломанную версию, без ограничений на количество подключённых камер).
Можно сразу нажать «Открыть» и перейти на страницу, отвечающую за видеонаблюдение.
Дальше всё просто: камеры добавляются через «IP-камера», смотреть записи нужно через «Временная шкала», а «Видео в реальном времени», как нетрудно догадаться, для просмотра изображений с камер в реальном времени.
Добавляем первую камеру; если камеры нет в списке знакомых устройств, всегда можно использовать протокол ONVIF или RTSP:
Выбираем разрешение для первичного и вторичного потока и место, куда будут сохраняться записи (у нас пока есть только один раздел в 10Gb).
Задаем, как будем записывать - непрерывно или по движению.
После окончания активации камеры все настройки можно ещё раз подредактировать: например, указать, кто будет отвечать за обнаружение событий (surveillance station или сама камера).
При попытке установить третью камеру система напишет, что лицензии закончились. После этого либо платить, либо искать пакет со взломанной версией.
Для управления «Surveillance station» также можно скачать «Synology Surveillance Station Client» с сайта Synology (работает чуть быстрее, чем через браузер).
Теперь небольшое отступление о том, где хранить записи с видеокамер. По мне, тратить на это драгоценное место СХД слишком расточительно и проще всего добавить в ESXi дополнительный диск необходимого объема. На этом диске можно сделать отдельный datastore или отдать весь диск виртуальной машине через RDM. Конечно, после этого мобильность данной виртуальной машины сведется к нулю. Если это отдельно стоящий ESXi, то никакой проблемы нет, но если это кластер под управлением vCenter, то машина намертво привязывается к определенному хосту.
Мне больше нравится добавлять диск через RDM, при необходимости его можно легко отвязать от виртуалки и переставить в другой сервер, а машину смигрировать, после чего опять привязать этот RDM диск. Такой диск также при желании можно вообще установить в обыкновенный компьютер с Linux, там ведь файловая система ext4.
Так и поступим. Я установил в хост дополнительный диск на 1Tb. В ранних версиях ESXi можно было прямо из меню добавить физический RDM диск, но потом эту опцию зачем-то удалили. Поэтому подключаемся к нашему хосту через SSH и узнаем имя нашего нового диска:
Видим, что нужный нам диск называется:
Команда, которая делает ссылку на RDM диск, выглядит вот так:
В нашем случае это:
Теперь этот диск можно добавить в свойствах виртуальной машины (Add hard disk --> Existing hard disk):
Диск должен быть на втором контроллере SATA (1:1).
А чтобы отвязать RDM диск, нужно удалить его в свойствах машины и удалить файл-ссылку из папки (в нашем случае файл rdmdisk1tb.vmdk).
После включения диск появится в «Диспетчере хранения»:
На базе нового диска создается новый пул ресурсов и новый раздел на этом пуле (все то же самое, как и для диска в 15Gb). Если добавить два RDM диска, то на их базе даже RAID можно сделать.
Теперь имеем два раздела на двух дисках (понятное дело, что на диске можно создать несколько разделов под разные нужды, например, один под файловую помойку, другой для хранения записей с камер).
Следующим шагом переходим в панель управления Surveillance Station. Там идем в пункт «Запись» на вкладку «Хранилище», «Добавить»:
Выбираем «Добавить общую папку» и задаём имя и местоположение:
В свойствах камеры теперь выбираем новое место хранения, и после подтверждения все записи с этой камеры переедут в новое хранилище.
На этом, собственно, и всё. Конечно, можно прописать несколько пользователей с разными правами, настроить правила ротации записей и еще много чего, но обо всем этом можно и в справке прочитать.
Несколько лет назад, при выборе первого хранилища для дома, я смотрел в сторону «коробочных решений» по причине не особой осведомлённости в построении системы хранения на базе открытого ПО и обычного ПК. В тот раз выбор пал на 2-дисковую NAS — Shuttle KD20. Хранилище было компактным и тихим. RAID1 обеспечивал необходимую надёжность, а потребности в высокой производительности и расширенном функционале на тот момент не было. Этот NAS проработал почти 4 года, пока в один прекрасный момент не накрылась линия питания вентилятора. Диски раскалились до 60 градусов и чудом выжили. Я запаял вентилятор напрямую к материнке, но стал подбирать вариант на замену. В качестве второй NAS я выбрал 4-дисковую Synology. Задачи оставались те же, поэтому в функционал DiskStation Manager (DSM) я особо не вникал. Это продолжалось до тех пор, пока я не решил установить домашнее видеонаблюдение на несколько каналов. Не смотря на то, что Synology имеет собственный сервис видеонаблюдения, я остановился на Macroscop — была потребность в расширенном функционале и серьёзной аналитике. На своё счастье, я обнаружил в DSM новый пакет Virtual Machine Manager — гипервизор, с помощью которого я создал виртуальную машину и установил на неё Windows и Macroscop. На запись система работала нормально, встроенный Pentium 1,6 ГГц с трудом, но успевал отрабатывать задачи СХД и виртуальной машины. Но как только активировалась какая-либо аналитика — сервис отваливался по перегрузке процессора. В результате, я был вынужден начать поиски отдельного бюджетного Windows-девайcа с адекватной производительностью для реализации сервера видеонаблюдения, так как Synology необходимого уровня стоит недёшево. В тот самый момент я в очередной раз наткнулся в сети на статьи, посвящённые установке DSM на обычное железо и мой проект XPenology начался…
Стоимость необходимых комплектующих для новой хранилки была соизмерима со стоимостью Intel NUC, который я присматривал для сервера видеонаблюдения. Поэтому я решил отказаться от существующей Synology в пользу брата (и использовать её как удалённый бэкап), а себе собрать систему «всё в одном» на базе DSM.
Хотелки
Из задач, которые должен решать медиасервер, выделим следующие:
- само собой, Samba, раздача медиаконтента по сети, об этом чуть ниже;
- виртуализация различного уровня: пара виртуальных машин, внутри может быть 1С-сервер Linux, Docker-контейнеры;
- чтобы не надо было настраивать каждый домашний узел для сервисов, маленький DNS с зоной что-нибудь.local.
Требования к аппаратной части:
- бесшумность;
- удобная установка/замена HDD;
- компактность.
Повторюсь: очень хотелось бы заменить материнскую плату с процессором, но это не обязательно. Возможно, в дальнейшем заменю только процессор с кулером. Итак, новый корпус, поиск был долгим и сложным. После недельного гуглинга выбор пал на Raijintek Metis. То, что мне подошло по цене/качеству.
Запуск
Прежде чем реализовать всё дома, я долго тренировался на различных платформах. Система без проблем мигрировала с компа на базе Celeron J1900 на сервер с 2 х E5-2680V4, а после на древний экспонат на базе 2 х E5645. Если есть виртуалки, то разумеется необходимо перед установкой ОС на виртуальную машину включать режим совместимости процессора. Вероятно это снижает производительность, т.к. процессор в виртуалке становится не реальный, а универсальный. Но зато, миграция проходит без трудностей и BSOD.
Реализация программной части
Итак, что самое главное хочется от сервера? Чтобы был легко масштабируемый, в ногу со временем, приятый и удобный в использовании/администрировании. Желательно привлекательная веб-морда.
- Вариант 1: поставить Ubuntu Server c панелью управления Ajenty 2 и все необходимое доставлять руками.
- Вариант 2: поставить OpenMediaVault. Морда в наличии, много плагинов/расширений для увеличения функциональности, в основе лежит Debian, соответственно, всегда есть возможность доставить или допилить руками.
- Вариант 3: поставить FreeNAS. Чуть меньше плюшек, но можно доставить все руками, правда — чуть сложней. Базируется на FreeBSD.
- Вариант 4: поставить XPEnology. Огромное количество плюшек, репозиториев с дополнениями. Поддержка виртуальных машин и Docker.
После долгих мучений выбор пал на четвертый вариант. На нем и будем поднимать домашний сервер далее. Почему именно так? Первый вариант хорош сам по себе, но в то же время хочется минимум усилий и максимум возможностей без дополнительного рукоприкладства. К тому же Ajenty не дает гибко обращаться к серверу, так и хочется залезть в консоль и сделать все руками оттуда. А потом зайти в панель и просто любоваться :). Среди оставшихся вариантов победу одержал XPEnology. Предоставляет максимум сервисов при минимуме настроек.
Настройка
Работа через загрузчик Xpenology почти не имеет ограничений по сравнению с оригинальным устройством. Из отличий можно отметить отсутствие функции QuickConnect — нет удалённого доступа к хранилищу через учётную запись Synology. Но у меня внешний IP — это ограничение для моего случая не актуально.
Также некорректно отображается модель процессора и кол-во ядер — информация зашита в загрузчике и всегда будет выглядеть как для DS3615xs: INTEL Core i3-4130 / 2 ядра. Но зато, частота определяется актуальная. Эта особенность не мешает определять и использовать гипервизору реальное кол-во ядер. Но и тут есть ограничения — Virtual Machine Manager увидит не более 8 ядер в системе. Поэтому ставить DSM на многоядерные конфигурации бессмысленно.
С объёмом ОЗУ всё в порядке — определялся и использовался весь объем (на практике до 48ГБ).
Интегрированные сетевые контроллеры определяются без проблем, а вот WiFi у меня не нашёлся. Предполагаю, что эта проблема может решиться добавлением драйверов, но, к сожалению, мои познания в Linux не позволяют мне этого реализовать. Если из читателей этой статьи найдётся человек, который сможет описать инструкцию по добавлению в сборку драйверов на беспроводной контроллер — я буду признателен.
Перед началом использования системы хранения необходимо создать RAID-группы. После перехода на первую Synology я оставил «зеркало», а 2 дополнительных диска пустил на Hot Spare. При переходе на Xpenology выбрал RAID5+HS, но потом добавил 4-ый диск в RAID6. Всё равно крутится и греется — пусть хоть с пользой.
Так как DSM обеспечивает как файловый, так и блочный доступ — перед созданием RAID-массива необходимо определиться с требованиями к типу будущего хранилища.
Я сразу создал несколько LUN для использования на домашнем мини-ПК и ноуте. Файловая шара — это хорошо, а диск с блочным доступом для установки программ — ещё лучше.
Далее создаётся необходимое кол-во LUN и разделов на RAID-группах, папки общего доступа и прочее. Описывать всем известный функционал Synology нет смысла. Все доступные пакеты расширения с описанием функционала доступны на официальном сайте.
Под мои задачи актуальными были следующие пакеты:
Virtual Machine Manager — собственно из-за него вся затея с Xpenology.
Пакет имеет более расширенный функционал, чем я использую, поэтому я решил протестировать его работу на нескольких нодах в режиме High Availability Cluster.
Но, вскоре был разочарован. Для кластера необходимо 3 ноды: активная, пассивная и хранилище. Автоматическая миграция виртуальных машин при выходе из строя активной ноды поддерживается только на виртуальных машинах Synology Virtual DSM — с виндой и прочими ОС не прокатит. Какой смысл на DSM поднимать кластер с виртуальными DSM я так и не понял…
В общем, более чем банальный гипервизор, я этот модуль не раскрыл для себя.
VPN Server — поддерживает PPTP, OpenVPN и L2TP/IPSec
PPTP, как у меня получилось выяснить, поддерживает только одно подключение бесплатно — его я использую для связи с удалённой Synology для бэкапа.
OpenVPN использую для подключения с iPhone и рабочего компьютера, а также для удалённого подключения LUN по iSCSI.
Hyper Backup — удобный, функциональный и, в то же время, лаконичный сервис резервирования.
Можно резервировать как папки так и LUN. Файловый бэкап можно сливать на другую Synology, на другой NAS и в облака. LUN резервируется только локально или удалённо на устройство Synology. Поэтому, если требуется бэкап луна в облако, как я понял, можно вначале его забэкапить в локальную папку, а уже её в облако.
Я использую 3 типа резервирования:
- Резерв на удалённую Synology — туда копируется всё, кроме папки бэкапа (в ней полный бэкап удалённой Synology).
- Бэкап только самого важного на Yandex-диск (через WebDAV)
- Дубль на Google-диск (есть в списке доступных облачных сервисов)
Выбрав метод и указав данные для авторизации на удалённом устройстве, помечаются папки для резервирования.
Далее настраивается расписание и параметры бэкапа.
Если выбрать шифрование, то потребуется ввод пароля на доступ к бэкапу. После создания задачи автоматически выгружается файл-ключ, который может заменить забытый пароль при восстановлении данных.
Шифрование на стороне клиента, на мой взгляд, очень полезно при резервировании в публичное облако. Если с архивом Ваших фото Google может делать всё что угодно, то зашифрованный бэкап тех же фото будет мало кому полезен.
Далее включается/настраивается ротация резервных копий.
Я использую режим Smart Recycle, но можно установить график ротации копий инкрементного резервирования на свой лад.
Модуль Hyper Backup работает только в паре с обратной частью — модулем Hyper Backup Vault
Этот сервис принимает удалённые копии и отвечает за их хранение.
Восстановление данных, приложений и настроек возможно как на текущей системе (при повреждении массива, утере данных и пр.), так и на новой такой же или абсолютно другой Synology или Xpenology. Для восстановления, при создании задачи резервного копирования, необходимо указать, что это не новая задача, а подключение к уже существующей. Hyper Backup увидит на удалённой машине необходимый бэкап и предложит выбрать версию копии по дате и времени.
На данный момент, это пока весь функционал, который мне удалось освоить и использовать.
Домашняя Xpenology продолжает работать без проблем — периодически обновляется DSM и пакеты, вычислительных мощностей с запасом, а по деньгам она обошлась мне в 1,5 раза дешевле Synology DS916+.
Пара фраз о корпусе
Производитель и модель: 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 Гбайт.
Настройка DNS
Открываем DNS Server во вкладке «Зоны», сразу жмем «Создать», «Основная зона», вводим имя зоны. Далее двойным кликом открываем и вносим необходимые записи.
Пример настройки DNS в XPEnology
Далее открываем вторую вкладку «Разрешение». Включаем службы разрешения. Включаем серверы пересылки и вводим адреса вышестоящих DNS-серверов, к которым следует обращаться, если в своей базе данные отсутствуют. На очередной вкладке можно посмотреть журнал, а на следующей — создать ключи. Далее вкладка «Представление». Переходим и создаем запись. Приоритет будет выставляться в порядке создания. Далее вводим имя представления, есть опция ограничения IP-служб. Для настройки отдельных серверов пересылки переходим во вкладку «Выберите зону» и выбираем нужные зоны для этой записи. В последней вкладке, «Настройки», можно настроить размер журнала, TTL кеша, кеш, число рекурсивных клиентов и максимальное число TCP-подключений.
Хочется выразить огромную благодарность разработчику. В общем, очень полезная штуковина. Рекомендую!
Ради самообразования поставим к Transmission еще uTorrent-веб, пусть TorrentMonitor грузит через Transmission, а для админских качалок без ограничений будем качать uTorrent’ом.
TorrentMonitor
Итак, для всяких веб-приложений, включая TorrentMonitor, подготовим веб-службы с виртуальными узлами.
TorrentMonitor распаковываем в соответствующий хост (у меня это torrent.homeserver.local ) имя каталога tm-latest. Не заморачивался особо, распаковал архив с TorrentMonitor’ом и прямо эту папку указал в virtual host. Настраиваем БД по желанию. В моем варианте MariaDB-server + phpMyAdmin, оба пакета устанавливаются из центра приложений XPEnology. Для особо экзотических есть SQLite, меня, правда, производительность не устроила. Как работать с phpMyAdmin, информации в интернетах полно, поэтому не буду заострять внимание.
На самом деле там все просто. Заводим аккаунты на поддерживаемых трекерах. Указываем параметры подключения к торрент-клиенту. И наконец, добавляем сериал для мониторинга, выбираем директорию скачивания, и все готово. В программе есть тест на работоспособность. Повторюсь, что в целом очень легко настраивается.
С этим разобрались, переходим к uTorrent WebUI. Здесь можно пойти тем же путем. А можно поднять контейнер с Ubuntu 14.04 в Docker и запустить внутри uTorrent WebUI, что я и сделаю.
Интерфейс uTorrent WebUI
Docker-контейнер с указанием подключения томов Docker-контейнер с указанием подключения портов Консоль управления в контейнере Ubuntu
Далее заходим по SSH и качаем архив с сайта TorrentMonitor.
Распаковываем по пути /var/www/html/utorrent . Ставим LAMP, правим конфиги Apache 2. Все это сто раз рассказано в интернетах, поэтому трудностей возникнуть не должно. Итак, торренты качаются, сериалы мониторятся. Теперь надо бы все это дело более-менее прилично раздавать по сети. В качестве медиасервера будем использовать Plex Media Server. Преимуществ масса. Самое главное — сам сканирует папки, качает обложки, сортирует сериалы по сезонам и сериям, музыку по исполнителям и альбомам. Качает к фильмам трейлеры, описание, список актеров, рейтинги. И это далеко не предел. Внутри из коробки доступен DLNA, но использовать в качестве DLNA-сервера мы будем внешний. Устанавливаем его также из «Центра приложений». Если позволяет сеть, то можно организовать доступ к Plex-серверу извне, что сделает его доступным из сети Интернет, и ты сможешь делиться медиатекой с друзьями. Клиентские приложения есть практически под любое устройство.
Пример веб-клиента Plex Media Server
После установки Plex’a добавляем каталоги с указанием содержимого. Отдельно рекомендую указать папку, в которую скачиваются торренты по умолчанию, а также добавить каталоги, куда скачивание идет через TorrentMonitor. Когда количество контента перевалит уже за терабайт, будет проще разбираться с файлами, чем искать все в «файлопомойке».
Александр «Plus» Рак
Участник сообщества OmskLUG. Заместитель начальника отдела сопровождения информационных систем ГКУ «Ресурсы Ямала».
Мне там посоветовали попробовать XPEnology, которую я несколько раз безуспешно пытался установить на своё "железо". Поэтому решил изучить альтернативные системы, в числе которых были: FreeNAS, Nas4Free (XigmaNAS), Openmediavault. К сожалению, ничего из вышеперечисленного меня не устроило:
1.FreeNAS оказался слишком требовательным к ресурсам, ему требуется минимум 8GB оперативы, жрёт память как не в себя + какой-то непонятный, замудрёный jail. Сложилось впечатление что FreeNAS это система не для домашнего использования.
2.Nas4Free (XigmaNAS) - система "легче", чем FreeNAS, но при этом имеет довольно стрёмный унылый интерфейс, сразу трудно разобраться чего как там настраивать. Установка плагинов - сплошные танцы с бубном, т.е. гики разберутся, но в целом как то все сложно там, желания разобраться не появилось.
3. Openmediavault. Поставил и почти сразу снёс. Напоминает Nas4Free.
А теперь лирическое отступление. Впервые я познакомился с оригинальным Synology NAS 10 лет назад. На тот момент операционная система DSM мне показалась несколько тормозной, скорее всего из-за того что сам NAS был относительно недорогим и у него внутри было не самое производительное "железо". Но, по крайней мере, DSMка была понятной и удобной в использовании для среднестатистического пользователя. Я там даже IP-видеонаблюдение быстро умудрился настроить с помощью родного плагина.
И вот теперь, спустя 10 лет, я снова возвращаюсь к Synology, точнее к XPEnology - Linux загрузчику, разработанному с целью эмулировать оригинальный загрузчик Synology, позволяющий операционной системе Synology Disk Station Manager (DSM) работать на сторонних аппаратных средствах и эмулировать определённые модели устройств Diskstation. Было чертовски интересно - как оно там теперь всё работает?
В данном случае буду эмулировать модель Synology DS918+, за исключением того что в моей бюджетной мат.плате ASRock J3455B-ITX всего 2 SATA разъема, а не 4.
В XPEnology самое сложное это установить систему, если пройти этот нелёгкий путь, дальше будет всё хорошо.
Основная проблема с установкой заключается в том что для разного "железа" требуется опытным путём подобрать рабочий дистрибутив, отредактировать загрузчик, для этого нужно потратить приличное время на изучение форумов, мануалов и прочее.
Отмечу самые важные моменты из того что мне удалось понять, наступив на разные "грабли" и набив множество шишек:
1. Перед установкой необходимо обязательно настроить BIOS. Система загружается в Legacy mode с отключенным видеорежимом.
2. В BIOSe так же требуется отключить энергосберегающие функции CPU
3. Вероятно, в зависимости от конкретного типа мат.платы, нужно еще донастроить BIOS. Гуглим форумы.
4. Флешка, на которую пишем загрузчик с момента начала установки должна быть постоянно и навсегда подключена в USB-порт. Теперь она является частью ОС, без неё система не загрузится.
5. Установка идёт долго, может полчаса, а может и дольше. Так как у нас отключен видеорежим, может показаться что ничего не происходит, активность HDD тоже наблюдается не всегда. Нужно покорно ждать, если за час ничего не произошло - значит что-то пошло не так.
6. Если установка прошла успешно, система автоматически получит новый IP адрес. Можно отслеживать его появление через меню домашнего маршрутизатора или той штуковины, которая у вас в сети раздаёт IP адреса.
Настройки BIOS для мат.платы ASRock J3455B-ITX выглядят так:
Прошивка обновлена до последней доступной версии
Вкладка "Advanced". Параметр "CPU C States Support" установлен в положение "Disabled"
Там же находим пункт CSM
И конфигурируем как показано ниже, это одна из важнейших настроек
После установки Synology DSM без проблем настроил все что мне требуется - сетевой доступ к дискам (SMB и FTP), файлокачалку Download Station, DLNA-сервер мультимедия, систему видеонаблюдения Surveillance Station (бесплатные лицензии для двух IP камер), подружил с ИБП APC Back UPS CS650. Никаких проблем нет, всё удобно ставится и хорошо работает. При этом сама система "легкая" - потребляет минимум ресурсов, процессор не загружает.
Если кто-нибудь надумает собирать домашний сервер, настоятельно рекомендую озаботиться приобретением приличного корпуса с 2-4 HDD отсеками быстрой замены. Для NAS это актуально.
Сборка платформы
1,5А-вентилятор снизил температуру дисков до 36-40 градусов. После доработки вытяжки из шкафа, уверен, что температура еще существенно упадёт.
Один SSD 2,5" под кэш я установил на стандартное крепление с одной стороны дисковой корзины. Его температура не превышала 30-32 градуса, и это при том, что он никак активно не охлаждается.
В качестве диска под пакеты DSM и быстрого раздела я установил M.2 SATA SSD в слот на материнской плате. Накопитель нагревался до 50 градусов, не смотря на прямой обдув. Я решил проблему установкой на него нескольких радиаторов — температура снизилась на 10 градусов.
У меня 2 постоянно активных USB-устройства: загрузчик XPenology и ключ Guardant от Macroscop. Чтобы не занимать внешние разъёмы я пристроил эти устройства внутри корпуса.
Готовое хранилище с высокой производительностью процессора и максимально компактными размерами со скрипом, но вписалось в свободные 6 юнитов.
Synology High Availability Cluster
У меня вызывал интерес сервис High Availability Manager, который оказался не совместим с сервисом Virtual Machine Manager, так как тоже делает кластер, но уже по другому.
Для тестирования я поднял Xpenology на двух серверах на базе 2 x Xeon E5645. Сервера для этого кластера должны быть идентичными, IP-адреса статическими, второй порт каждого сервера соединён друг с другом напрямую (можно и через коммутатор, но эффективней так).
После подключения второй ноды тестируется подключение Heartbeat. Далее назначается имя кластера и статический локальный адрес. Во время слияния нод, конфигурация пассивной ноды приводится к состоянию активной, синхронизируются приложения, хранилище и данные. Обе ноды отваливаются для доступа по сети, и после создания — кластер доступен по своему новому адресу.
В зависимости от объема существующих данных, полная синхронизация массивов может занять немало времени, но кластер доступен к работе без отказоустойчивости уже через 10 минут после начала слияния.
После того как вторая нода будет полной копией первой, активируется режим высокой доступности.
Для проверки работы отказоустойчивости я создал LUN, подключил его по iSCSI и запустил объёмную задачу чтения и записи со своего ПК, совместно с проигрыванием видеоролика.
В момент активности я обесточил главный сервер. LUN не отвалился, процесс копирования не прервался, но приостановился секунд на 10-15 — это время потребовалось пассивному серверу взять роль активного и запустить упавшие службы. Воспроизведение также приостановилось на несколько секунд. После кратковременного простоя копирование данных и проигрывание видео продолжилось в штатном режиме без необходимости перезапускать процесс. Такой «провал» в большинстве случаев будет не заметен пользователям, если только не ведется воспроизведение видео без буферизации или запущены какие-либо другие процессы, требующие непрерывного доступа к хранилищу.
После включения первой ноды, она переходит в режим пассивного сервера. Запускается фоновый процесс синхронизации, после завершения которого режим высокой доступности снова восстанавливается.
Для замены ноды, в случае полного выхода из строя, необходимо освободить пассивный сервер.
Процедура привязки пассивного сервера аналогична процедуре создания кластера, вначале синхронизация — затем High Availability. Только при одном исключении — добавление происходит уже из интерфейса кластера, а не активного сервера.
Из минусов такого решения — высокая избыточность, ну а плюс — честная отказоустойчивость.
Основные затраты выпадают на диски, но для любителей RAID10 самое оно! Зазеркалировать две ноды с RAID5 или RAID6 — по дискам будет почти одно и то же. А вот отказоустойчивости прибавится кратно.
Понятное дело, что это не уникальный функционал, но зато «из коробки» и не требует особого опыта и знаний — только веб-интерфейс. А, учитывая, что Xpenology работает на любом железе, получается весьма интересное, производительное и отказоустойчивое решение для личного использования.
Как ты догадался по названию, сегодня мы будем строить домашний 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 Гбайт.
Сборка платформы
1,5А-вентилятор снизил температуру дисков до 36-40 градусов. После доработки вытяжки из шкафа, уверен, что температура еще существенно упадёт.
Один SSD 2,5" под кэш я установил на стандартное крепление с одной стороны дисковой корзины. Его температура не превышала 30-32 градуса, и это при том, что он никак активно не охлаждается.
В качестве диска под пакеты DSM и быстрого раздела я установил M.2 SATA SSD в слот на материнской плате. Накопитель нагревался до 50 градусов, не смотря на прямой обдув. Я решил проблему установкой на него нескольких радиаторов — температура снизилась на 10 градусов.
У меня 2 постоянно активных USB-устройства: загрузчик XPenology и ключ Guardant от Macroscop. Чтобы не занимать внешние разъёмы я пристроил эти устройства внутри корпуса.
Готовое хранилище с высокой производительностью процессора и максимально компактными размерами со скрипом, но вписалось в свободные 6 юнитов.
Взлетаем
Итак, перво-наперво идем на сайт xpenology.me в раздел downloads и скачиваем набор для развертывания.
XPEnoboot — это образ загрузочного диска для установки и загрузки/перезагрузки сервера.
DSM — сама система. Synology Assistant — опционально, программа обнаруживает серверы XPEnology/Synology, установленные или готовые к установке узлы. Я устанавливал через веб-интерфейс — как говорится, на вкус и цвет все фломастеры разные.
ISO-образ нужно распаковать на флешку и использовать при каждом перезапуске сервера, что не совсем удобно. Либо подарить флешку серверу и сделать ее приоритетной при загрузке. Есть второй путь. В предыдущих выпусках журнала «Хакер» я писал про организацию PXE-сервера с различными вариантами загрузки. Если есть такой сервис, то можно с легкостью отдать это ему. За загрузку в XPEnology отвечают два файла (как и в любом линукс-дистрибутиве): zImage и rd.gz. Располагаем их в директории PXE-сервера, в меню дописываем:
Рекомендую следующие списки репозиториев:
На всякий случай ко всему нужно иметь рабочую систему Ubuntu Server. Поэтому первым делом ставлю Docker и добавляю контейнер Ubuntu.
Меню с приложениями XPEnology
Другие статьи в выпуске:
Если нужна виртуализация, в XPEnology есть VirtualBox. Кто хочет Archipel, есть Docker (ссылка для любителей CentOS). Понятно, что внутри хоть KVM, хоть еще что можно крутить. У меня таким образом в Ubuntu-контейнере крутится веб-клиент uTorrent.
Вот так легко и непринужденно управляем контейнерами в XPEnology.
Скриншот работы Docker-контейнера в XPEnology
Из центра пакетов следом за «Докером» рекомендую подборку:
- DNS Server (для настройки домашней зоны, опционально);
- Plex Media Server;
- DLNA Server (опционально, в Plex’е уже есть);
- Download Station — менеджер закачек на самом сервере;
- MariaDB;
- PHP PEAR;
- Midnight Commander;
- phpMyAdmin;
- Transmission;
- VirtualBox;
- Tor;
- Python;
- антивирус на выбор.
Заключение
Конечно, это далеко не предел для такой системы, как DSM (XPEnology). Здесь можно наворотить и мониторинг, и Proxy, и сервер резервного копирования как для обычных систем, так и для Apple-устройств. На лету можно установить CMS-ки, такие как площадка DokuWiki, Joomla, форум PHPBB, Drupal, BitTorrent Sync, IP-телефонию Asterisk, UniFI, VirtualBox и еще очень много всего. Возможности этой системы просто поражают именно потому, что все сделано с красивыми рюшечками и кнопочками в интерфейсе.
В общем, если нужно на лету быстро расширить функциональность, это не составит проблем. Для домашнего сервера очень даже то. Правда, не у каждого есть дома PXE, поэтому рекомендую приобрести маленькую флешку и запихать загрузчик на нее. В общем, удачи в установках, если что — пиши на почту, всегда рад помочь!
P.S. Надеюсь, ты не потратил время зря ;). Всем спасибо!
Подготовка загрузчика
Для того, чтобы установить DSM нужен загрузчик, который представит железо в качестве СХД Synology.
В интернете много инструкций на эту тему, поэтому вдаваться в подробности не буду, но если появятся желающие — могу описать детали подготовки загрузочного устройства.
После установки валидной пары серийник/MAC и прочих параметров, образ для DS3615 заливается на любое устройство с которого можно грузиться. Можно использовать SATA DOM, но так как у меня SATA-порты на перечёт — я остановился на классическом варианте — USB флешке.
В BIOS необходимо удалить все загрузочные устройства кроме USB, а в параметрах SATA включить функцию HotPlug, чтобы новые диски определялись «на горячую», не дожидаясь перезагрузки.
Читайте также: