Xpenology - это та же операционная система Synology NAS, только установленная на обыкновенное компьютерное железо. Инструкций, как установить Xpenology на обычный компьютер, в инете вагон и маленькая тележка, поэтому я не буду на этом останавливаться.
В данной же статье я хочу рассказать, как установить Xpenology в качестве виртуальной машины на сервер ESXi и развернуть на ее базе сервер видеонаблюдения. Конечно, так как это в первую очередь NAS, то можно после установки виртуальной машины хранить на ней файлы других виртуальных машин с этого и других хостов, но, по мне, это будет перебор. Хотя, для экспериментов это вполне рабочий вариант.
Частично эта статья основана на Tutorial: Install DSM 6.2 on ESXi 6.7
Первым делом нужно скачать XPENOLOGY TOOL с сайта.
Выбираем загрузчик (loader) DS3615XS версии 1.03b и DSM 6.2 23739:
![](https://habrastorage.org/getpro/habr/upload_files/cbc/633/501/cbc6335014d675ad46e2531438c81f4c.png)
Скачиваем два файла: «synoboot_3615.zip» и «DSM_DS3615xs_23739.pat».
Из архива «synoboot_3615.zip» берем файл «synoboot.img» и создаем новый текстовый файл «synoboot.vmdk» следующего содержания:
# Disk DescriptorFile
version=1
CID=6ccf51e5
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"
# Extent description
RW 102400 VMFS "synoboot.img" 0
# The Disk Data Base
#DDB
ddb.adapterType = "lsilogic"
ddb.deletable = "true"
ddb.encoding = "UTF-8"
ddb.longContentID = "7e24a756b77e33e24ac940cc6ccf51e5"
ddb.thinProvisioned = "1"
ddb.uuid = "60 00 C2 9a ee da ca 33-df 5e 04 3f 80 55 f9 62"
ddb.virtualHWVersion = "10"
Далее нам понадобится программа OSFMOUNT, с помощью которой мы смонтируем и поправим загрузчик в «synoboot.img»:
![](https://habrastorage.org/getpro/habr/upload_files/e83/21b/a5b/e8321ba5b40a4d6d5c2c2559a2aa337e.png)
![](https://habrastorage.org/getpro/habr/upload_files/b0b/fca/618/b0bfca618d2b984b096117038563b2d3.png)
![](https://habrastorage.org/getpro/habr/upload_files/0f1/692/594/0f1692594406c190f5f2ba2e0098eb72.png)
![](https://habrastorage.org/getpro/habr/upload_files/e5a/e60/0ba/e5ae600baf760fe0eb6f56a568c4785a.png)
На смонтированном диске редактируем файл grub.cfg:
1) Меняем серийный номер и MAC-адрес (например, на C7AAN09761 и 0A1B2C3D4E5F); если нужно больше одной сетевой, то добавляем строчку с mac2, mac3 и т. д.
![](https://habrastorage.org/getpro/habr/upload_files/026/05d/1ec/02605d1ec2f7e6579ac7994a7fab0d9e.png)
2) Комментируем ненужные строки меню
![](https://habrastorage.org/getpro/habr/upload_files/a3a/c4c/5ab/a3ac4c5aba3d383e20cf46da6a6cf7f5.png)
3) Сохраняемся и отмонтируемся.
Создаём виртуальную машину в esxi 6.7:
![](https://habrastorage.org/getpro/habr/upload_files/4ed/f41/d32/4edf41d32f04c70f959cbfd7134d646c.png)
1) Даем машине 2 ядра и два гигабайта памяти.
2) Удаляем диск, SCSI контроллер и CD/DVD. Если используется загрузчик 3617, то нужно удалить USB контроллер или сменить его тип на USB 3.0.
3) Меняем тип сетевого адаптера на E1000e и даем ему MAC-адрес, такой же, как мы
прописали в grub.cfg, в нашем случае 0A:1B:2C:3D:4E:5F.
![](https://habrastorage.org/getpro/habr/upload_files/1ac/2b8/e82/1ac2b8e8291f14ee1932fd113904094e.png)
Для добавления в созданную виртуалку жесткого диска необходимо добавить в папку с файлами машины наши два файла: synoboot.img и synoboot.vmdk.
![](https://habrastorage.org/getpro/habr/upload_files/039/fe6/8f2/039fe68f2e5e1b0a3749cb90b6408729.png)
После чего в свойствах машины нажимаем «Add hard disk» → «Existing hard disk» и выбираем добавленный диск.
![](https://habrastorage.org/getpro/habr/upload_files/888/ef6/627/888ef6627ad9eb0deddca25b860f3537.png)
Тип его выбираем SATA, адрес SATA(0:0):
![](https://habrastorage.org/getpro/habr/upload_files/800/a46/7f2/800a467f2140cc242f933c8ef1c5081b.png)
Не забываем поменять тип загрузки на BIOS:
![](https://habrastorage.org/getpro/habr/upload_files/07d/d8c/1fd/07dd8c1fd61387966a4e131177a82c4b.png)
Запускаемся и видим приглашение найти это устройство через сайт find.synology.com. Так и поступим (можно также воспользоваться программой Synology Assistant, но только версии не старше 6.2-24922, более поздние версии не находят).
![](https://habrastorage.org/getpro/habr/upload_files/99a/ba7/aa7/99aba7aa72b626f61ef0adf259fd05dd.png)
![](https://habrastorage.org/getpro/habr/upload_files/1ae/6c2/9ac/1ae6c29acc737263425557188d127959.png)
Если все правильно, то через минуту он найдет устройство и предложит подключиться:
![Обратите внимание на серийный номер и mac-адрес Обратите внимание на серийный номер и mac-адрес](https://habrastorage.org/getpro/habr/upload_files/738/285/e90/738285e90f47aafcf599f91dda46990a.png)
Принимаем лицензионное соглашение:
![](https://habrastorage.org/getpro/habr/upload_files/317/9ce/f1f/3179cef1f8b830a914e56a621a3028a0.png)
И видим сообщение, что жесткий диск не найден. На самом деле так и должно быть: диск, который мы добавляли до этого - это только загрузчик. Если бы мы делали это на настоящем компьютере, то этот образ (synoboot.img) мы записали бы на флешку и грузились бы с неё.
![](https://habrastorage.org/getpro/habr/upload_files/c84/187/116/c84187116d79cccc879fec8c8b1bf5c2.png)
Выключаем нашу виртуалку и добавляем к ней ещё один SATA контроллер и диск SATA (1.0), этот диск должен быть не меньше 15Gb и быть толстого типа (Thick provisioned).
![](https://habrastorage.org/getpro/habr/upload_files/1bf/1f1/701/1bf1f1701af794e464ca2f95cd02f937.png)
Снова идем на сайт find.synology.com и ищем наше устройство. Теперь, после принятия лицензионного соглашения, он предлагает «Установить»:
![](https://habrastorage.org/getpro/habr/upload_files/cd6/fec/516/cd6fec5166f4b6c8cd99745c5b013f03.png)
После нажатия «Установить» выбираем «Установка вручную» и выбираем ранее скачанный файл «DSM_DS3615xs_23739.pat»:
![](https://habrastorage.org/getpro/habr/upload_files/19b/c2b/93f/19bc2b93fd181c139043d541a4f47279.png)
Нажимаем «Установить прямо сейчас» и ждем окончания установки.
![](https://habrastorage.org/getpro/habr/upload_files/1a2/989/978/1a2989978884a121638827650a9dc1c6.png)
После установки снова ищем устройство через сайт find.synology.com и подключаемся. Первым делом нужно будет задать имя устройства, пользователя и пароль:
![](https://habrastorage.org/getpro/habr/upload_files/b00/97c/d7d/b0097cd7d1abb1b94c6365feff338c02.png)
Потом указываем, что нас нужно только уведомлять о наличии обновлений и снимаем обе галочки. Нам вообще НЕ НУЖНО обновляться, у нас все виртуальное и SMART для нас неактуален.
![](https://habrastorage.org/getpro/habr/upload_files/af6/982/376/af69823760cec6745aaf0771bf13bde4.png)
Следующий этап мы пропускаем, QuickConnect нам не нужен.
![](https://habrastorage.org/getpro/habr/upload_files/125/be3/795/125be379560adfe83131c1354cc171d0.png)
После этого первоначальная настройка закончена. При желании можно полазить по настройкам, указать статический ip-адрес, отключить ipv6, включить доступ по SSH и т.д.
На все предложения обновиться отвечаем решительным отказом!
![](https://habrastorage.org/getpro/habr/upload_files/e26/212/92e/e2621292e411d75189208950f7087f26.png)
Остался один небольшой шаг: так как это виртуальная машина, нам необходимо установить vm-tools, чтобы гипервизор мог полноценно ею управлять. Поэтому идем на сайт spk.4sag.ru/?fulllist=true и качаем оттуда «open-vm-tools_x64-6.1_10.2.0-1.spk», после чего вручную устанавливаем пакет через «Центр пакетов»:
![](https://habrastorage.org/getpro/habr/upload_files/b5f/48c/166/b5f48c1662e53a0d60f4685d2223d91e.png)
Но сразу ничего не получится, так как в системе ещё нет разделов, на которые можно что-либо устанавливать…
![](https://habrastorage.org/getpro/habr/upload_files/78f/bd1/8a6/78fbd18a6f2f6e50256c46ce5208ad91.png)
Для создания разделов идем в «Диспетчер хранения» → «Пул ресурсов хранения» → "Создать":
![](https://habrastorage.org/getpro/habr/upload_files/0f1/f13/75e/0f1f1375ee4822a39f4278a705d8ec51.png)
![](https://habrastorage.org/getpro/habr/upload_files/60b/a9c/7d8/60ba9c7d8a01d0015e257e1debd54644.png)
Видим наш 15Gb диск (если бы диск был меньшего размера, он бы не дал создать на нем раздел), который мы дали виртуальной машине (мышкой перетаскиваем его вправо). Соглашаемся с тем, что все данные на этом диске будут уничтожены и отказываемся от проверки диска на ошибки (ещё раз: у нас всё виртуальное, а вот на реальном железе это штука нужная).
![](https://habrastorage.org/getpro/habr/upload_files/daa/046/344/daa046344b58f3926b05d73d170cb0c2.png)
![](https://habrastorage.org/getpro/habr/upload_files/754/3bc/bbf/7543bcbbf0b37e6493d005b1ef01d3d8.png)
Пул ресурсов мы создали, теперь нам нужен раздел на этом пуле, о чём нам сразу и напишут (тут небольшая путаница с переводом: предлагает перейти на вкладку «Том», а на деле нужная вкладка под названием «Раздел»).
![](https://habrastorage.org/getpro/habr/upload_files/fb0/c61/e63/fb0c61e634e8a70ab35c76073a61d1a1.png)
Идём в «Раздел» и нажимаем «Создать».
![](https://habrastorage.org/getpro/habr/upload_files/c07/5b4/f19/c075b4f192a77637ed8127e8537afe3e.png)
Задаем размер раздела (я использовал все свободное место) и выбираем тип файловой системы (Btrfs - штука, конечно, интересная, но ext4 как-то ближе).
![](https://habrastorage.org/getpro/habr/upload_files/5e2/b47/f80/5e2b47f806eddb283306dfafd9d9e3d6.png)
![](https://habrastorage.org/getpro/habr/upload_files/2f2/e11/210/2f2e11210a53c90cc1f3a8f4d8022f86.png)
Раздел готов, теперь на него можно что-либо устанавливать (нам нужно установить vm-tools) или создать на нем папку общего доступа (SMB, NFS, FTP…).
Возвращаемся в «Центр пакетов» и вручную устанавливаем «open-vm-tools_x64-6.1_10.2.0-1.spk» (на то, что пакет без цифровой подписи, внимание можно не обращать).
![](https://habrastorage.org/getpro/habr/upload_files/ae9/3e8/a5b/ae93e8a5bc5e65360d53bda333eb149b.png)
Вот теперь гипервизор может полноценно управлять этой виртуальной машиной (например, правильно выключать).
Теперь можно переходить к тому, ради чего всё это и затевалось: к видеонаблюдению.
Из «Центра пакетов» нужно установить пробную версию «Surveillance Station» на две камеры (На форумах я встречал ссылки на взломанную версию, без ограничений на количество подключённых камер).
![](https://habrastorage.org/getpro/habr/upload_files/3b5/a35/962/3b5a3596208874929f6e1febd7a60f3b.png)
![](https://habrastorage.org/getpro/habr/upload_files/ddf/128/b6c/ddf128b6cdec7b8c2c9de867f2393e8b.png)
Можно сразу нажать «Открыть» и перейти на страницу, отвечающую за видеонаблюдение.
![](https://habrastorage.org/getpro/habr/upload_files/d6a/6d8/818/d6a6d8818b4b6a56e4781ad89a8f3ea0.png)
Дальше всё просто: камеры добавляются через «IP-камера», смотреть записи нужно через «Временная шкала», а «Видео в реальном времени», как нетрудно догадаться, для просмотра изображений с камер в реальном времени.
Добавляем первую камеру; если камеры нет в списке знакомых устройств, всегда можно использовать протокол ONVIF или RTSP:
![](https://habrastorage.org/getpro/habr/upload_files/39f/e4e/9b5/39fe4e9b51b6ecedc88e4e445b583706.png)
Выбираем разрешение для первичного и вторичного потока и место, куда будут сохраняться записи (у нас пока есть только один раздел в 10Gb).
![](https://habrastorage.org/getpro/habr/upload_files/8b5/19f/132/8b519f1324d13742b6a14374d1c6f465.png)
Задаем, как будем записывать - непрерывно или по движению.
![](https://habrastorage.org/getpro/habr/upload_files/332/5ff/8aa/3325ff8aa11bcd8c7a6b06873d571000.png)
После окончания активации камеры все настройки можно ещё раз подредактировать: например, указать, кто будет отвечать за обнаружение событий (surveillance station или сама камера).
![](https://habrastorage.org/getpro/habr/upload_files/025/d5e/d58/025d5ed58831013d095e6dcbe42f4654.png)
При попытке установить третью камеру система напишет, что лицензии закончились. После этого либо платить, либо искать пакет со взломанной версией.
![](https://habrastorage.org/getpro/habr/upload_files/49e/389/e3b/49e389e3b75209da61ae611627ec88b0.png)
![](https://habrastorage.org/getpro/habr/upload_files/1ca/035/acd/1ca035acd3f5c71b9934f7e04571769a.png)
Для управления «Surveillance station» также можно скачать «Synology Surveillance Station Client» с сайта Synology (работает чуть быстрее, чем через браузер).
Теперь небольшое отступление о том, где хранить записи с видеокамер. По мне, тратить на это драгоценное место СХД слишком расточительно и проще всего добавить в ESXi дополнительный диск необходимого объема. На этом диске можно сделать отдельный datastore или отдать весь диск виртуальной машине через RDM. Конечно, после этого мобильность данной виртуальной машины сведется к нулю. Если это отдельно стоящий ESXi, то никакой проблемы нет, но если это кластер под управлением vCenter, то машина намертво привязывается к определенному хосту.
Мне больше нравится добавлять диск через RDM, при необходимости его можно легко отвязать от виртуалки и переставить в другой сервер, а машину смигрировать, после чего опять привязать этот RDM диск. Такой диск также при желании можно вообще установить в обыкновенный компьютер с Linux, там ведь файловая система ext4.
Так и поступим. Я установил в хост дополнительный диск на 1Tb. В ранних версиях ESXi можно было прямо из меню добавить физический RDM диск, но потом эту опцию зачем-то удалили. Поэтому подключаемся к нашему хосту через SSH и узнаем имя нашего нового диска:
ls -l /vmfs/devices/disks
![](https://habrastorage.org/getpro/habr/upload_files/a2c/3b6/a51/a2c3b6a5112d063890492ef4029ca08e.png)
Видим, что нужный нам диск называется:
t10.ATA_____WDC_WD10EZRX2D00DC0B0_________________________WD2DWMC301654272
Команда, которая делает ссылку на RDM диск, выглядит вот так:
vmkfstools -z /vmfs/devices/disks/diskname /vmfs/volumes/datastorename/vmfolder/vmname.vmdk
В нашем случае это:
vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD10EZRX2D00DC0B0_________________________WD2DWMC301654272 /vmfs/volumes/esxi04ds1/DS3615XS/rdmdisk1tb.vmdk
![](https://habrastorage.org/getpro/habr/upload_files/ce9/2ea/ed7/ce92eaed79bb8dcbf310c6d8b33aa222.png)
Теперь этот диск можно добавить в свойствах виртуальной машины (Add hard disk --> Existing hard disk):
![](https://habrastorage.org/getpro/habr/upload_files/74d/eac/fc2/74deacfc215a12e7a5006e8ccae130ca.png)
Диск должен быть на втором контроллере SATA (1:1).
А чтобы отвязать RDM диск, нужно удалить его в свойствах машины и удалить файл-ссылку из папки (в нашем случае файл rdmdisk1tb.vmdk).
![](https://habrastorage.org/getpro/habr/upload_files/722/1f2/5e7/7221f25e7e74752428d9ff564d13a15c.png)
После включения диск появится в «Диспетчере хранения»:
![](https://habrastorage.org/getpro/habr/upload_files/d9d/e5d/a91/d9de5da91574bdf1dc73404465786414.png)
На базе нового диска создается новый пул ресурсов и новый раздел на этом пуле (все то же самое, как и для диска в 15Gb). Если добавить два RDM диска, то на их базе даже RAID можно сделать.
Теперь имеем два раздела на двух дисках (понятное дело, что на диске можно создать несколько разделов под разные нужды, например, один под файловую помойку, другой для хранения записей с камер).
![](https://habrastorage.org/getpro/habr/upload_files/8cc/5d2/2f0/8cc5d22f0cdaa7d56ef1aed53de8b501.png)
Следующим шагом переходим в панель управления Surveillance Station. Там идем в пункт «Запись» на вкладку «Хранилище», «Добавить»:
![](https://habrastorage.org/getpro/habr/upload_files/9e0/534/12a/9e053412a044acff1eedd8a6ac603c5f.png)
Выбираем «Добавить общую папку» и задаём имя и местоположение:
![](https://habrastorage.org/getpro/habr/upload_files/d57/7c8/63e/d577c863e7f3b8e5eedff92777fa24a9.png)
В свойствах камеры теперь выбираем новое место хранения, и после подтверждения все записи с этой камеры переедут в новое хранилище.
![](https://habrastorage.org/getpro/habr/upload_files/7a8/184/028/7a818402838a0de3610a985f187ecd0a.png)
На этом, собственно, и всё. Конечно, можно прописать несколько пользователей с разными правами, настроить правила ротации записей и еще много чего, но обо всем этом можно и в справке прочитать.