В первой части я довольно кратко рассказал о самой сборке, которая позволяет сделать компьютер, на котором можно запустить unRAID для создания NAS и MikroTik RouterOS в виртуальной машине KVM в качестве замены обычном роутеру.
В комментариях получились довольно полезные дискуссии, по результатам которых нужно исправлять ошибки в первоначальной сборке и писать уже третью часть! Кое-что из предложенного я опробую на себе и, надеюсь, напишу третью часть.
Для начальной установки придется подключить к серверу монитор, клавиатуру и мышь.
Установка unRAID
Идем на сайт и устанавливаем unRAID на USB-флешку (которую я забыл добавить в таблицу). Рекомендации по флешкам стандартные: нормальный бренд и физический размер побольше (для лучшего охлаждения). С этой флешки будет загружаться unRAID, так что ваши SSD полностью уйдут под кэш. Более подробная официальная информация тут.
Не забудьте включить в BIOS поддержку VT-d и VT-x!
Подключаем флешку к серверу и запускаем его в GUI-режиме.
Стандартное имя и пароль: root без пароля.
Версия на момент написания: 6.7.2
После запуска ОС, убедитесь, что все подключенное железо обнаружено. Система должна увидеть все ваши диски (диски отображаются на вкладке Main), два Ethernet-контроллера и Wi-Fi карту (а это удобно посмотреть в Tools -> System Devices).
Проблема с SATA-контроллерами Marvell
Из-за какого-то бага в драйвере контроллеров Marvell, они не работают после включения VT-d в unRAID версии 6.7.х.
Я выбрал самое простое решение: добавил iommu=pt к строке параметров, передаваемой ядру Linux при загрузке. Это делается на вкладке Main (далее кликаем по устройству "Flash"). Также, можно изначально изменить конфиг на флешке: boot/syslinux/syslinux.cfg

Про Intel vPro
Я не рекомендую искать железо, поддерживающее vPro/AMT.
Во-первых, для нормальной работы удаленного рабочего стола, нужно подключать HDMI-dummy или DP-dummy plug, иначе встроенная видеокарта не будет инициализироваться без подключенного монитора.
Во-вторых, качество клиентского софта от Intel крайне низкое.
В-третьих, ту же функциональность для домашнего использования вы достигните беспроводным или проводным удлинителем HDMI/DP и при этом не будете никак ограничены в выборе железа.
Настройка сети
Идем Settings -> Network Settings. Как вы уже догадались, один из интерфейсов будет смотреть в локальную сеть, второй — в интернет. Для начала, определитесь с тем, который будет подключен к вашей локальной сети. На моей матплате на разъемах есть наклейки с MAC-адресами, именно так я и понял, кто есть кто.
В двух словах что нужно сделать: назначить каждый интерфейс членом двух отдельных L2-мостов и установить статический IP-адрес на том, который подключен к локальной сети. На смотрящем в интернет интерфейсе IP-адрес не нужен, им будет заниматься RouterOS.
Вот, что должно у вас получиться:

- 192.168.1.2 — адрес, по которому будет доступен unRAID
- 192.168.0.1 — адрес RouterOS
- 192.168.1.3 — адрес DNS-сервера pi.hole
Можно оставить назначение адреса для eth0 по DHCP, но тогда при любых проблемах в RouterOS мы не сможем получить доступ к unRAID и нужно будет подключать монитор и клавиатуру к серверу.
После настройки сети, можно перейти на удаленную настройку, вручную установив IP-адрес у LAN-клиента.
Настройка хранилища
Для запуска виртуальной машины, понадобится хранилище, так что пришло время его настроить. Не буду подробно описывать, так как это довольно просто: вам нужно присвоить роли жестким дискам — одному Disk 1, другому — Parity.
В первой части я написал, что достаточно одного SSD, но на самом деле это не так: лучше взять два одинаковых и создать из них cache-pool, так данные на них будут защищены на случай выхода одного из строя. Также, в unRAID нет механизма резервного копирования данных с кэша. Более подробно все описано тут.
Получиться должно так (извините, я еще не купил второй SSD):

Также, сразу можно настроить расписание проверки четности и переноса данных из кэша. Делается это на странице Settings -> Scheduler.
Четность достаточно проверять раз в два месяца, а переносить данные из кэша — ежедневно ночью.
Сразу можно настроить ресурсы, доступные по сети во вкладке Shares:

Из-за того, что у меня всего один диск для кэша, domains — unprotected. У вас все должно быть зеленое.
Устанавливаем RouterOS
Для начала нужно скачать установочный iso-образ отсюда (выберете x86 Stable CD Image) и положить его в \\Tower\isos.
Теперь пришло время создать виртуальную машину.
Включите поддержку в Settings -> VM Manager. После этого появится новая вкладка — VMs, перейдите в нее.
Нажмите Add VM, далее — Linux.
- Выделите всего одно ядро
- Памяти достаточно выделить 128 или 256 мегабайт
- Machine —
i440fx-3.1 - BIOS —
SeaBIOS - В пункте OS Install ISO выберете скачанный образ (
/mnt/user/isos/mikrotik-6.46.iso) - Primary vDisk Size — 256M
- Primary vDisk Bus —
SATA - Network Bridge — br0
- Добавьте второй сетевой интерфейс и выберете br1
- Если в Other PCI Devices не отображается ваша Wi-Fi карта, ничего страшного — пропишем ручками в конфиге, если отображается — поставьте галочку
- Пока уберите галочку Start VM after creation и нажмите Create
Запомните, какие MAC-адреса какие интерфейсы получат, для того, чтобы в дальнейшем сопоставлять их в RouterOS.
По какой-то причине у меня не всегда работало нормально автоматическое назначение портов для разных VM, поэтому откройте получившийся XML-конфиг и поправьте строчку с настройкой VNC на что-то подобное:
<graphics type='vnc' port='5900' autoport='no' websocket='5700' listen='0.0.0.0' keymap='en-us'>
<listen type='address' address='0.0.0.0'/>
</graphics>Если у вас, как у меня, не появлялся Wi-Fi адаптер в Other PCI Devices, впишите его вручную. Для этого нужно узнать его адрес на шине PCI. Проще всего это сделать в Tools -> System Devices, там будет строчка:
IOMMU group 23: [168c:003c] 0b:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network AdapterЧто в моем случае превращается в:

(извините, парсер MD у хабра почему-то глючит на этом отрывке, пришлось вставить картинкой)
Можно запускать VM и подключаться к ней по VNC. Установка RouterOS очень проста! После приглашения к выбору пакетов, проще всего выбрать все клавишей a и закончить установку клавишей i, отказавшись от сохранения старой конфигурации и согласившись с форматированием диска.

После перезагрузки вводим в качестве логина admin, пароль — ��устой.
Наберите /interface print и убедитесь, что система видит все три ваших сетевых интерфейса (я делал скриншот с уже настроенной системы, где имена отличаются от дефолтных):

На этом этапе можно скачать winbox, подключиться к RouterOS по MAC адресу и дальнейшую настройку выполнять через GUI.
Считаю, что детальная настройка RouterOS выходит за рамки этой статьи, тем более что в интернете мануалов очень много, так что предлагаю вам для начала сделать стандартный Quick Setup:

Можно подключить кабель с интернетом к свободному порту и переключить LAN-клиента на автоматическое получение IP-адреса, а также проверить работоспособность Wi-Fi. Убедившись, что все работает, можно покупать и вводить лицензионный ключ RouterOS.
Добавление VM с Linux
Для работы в более привычном окружении, создадим еще одну виртуальную машину, на которой запустим ваш любимый %distro_name%
Все так же скачайте ISO-образ и положите его в isos
Заходите в уже привычную вкладку VMs, далее Add VM, абсолютное большинство настроек теперь можно оставить дефолтными.
- BIOS —
SeaBIOS - В пункте OS Install ISO выберете скачанный образ
- Primary vDisk Size — что-то в районе 10-20 ГБ
- Unraid Share — путь к каталогу, который хотите сделать доступным для VM, в моем случае
/mnt/user/shared/ - Unraid Mount tag
shared - Network Bridge — br0
- Пока уберите галочку Start VM after creation и нажмите Create
Все так же в конфиге правим настройку VNC сервера:
<graphics type='vnc' port='5901' autoport='no' websocket='5701' listen='0.0.0.0' keymap='en-us'>
<listen type='address' address='0.0.0.0'/>
</graphics>Установите систему, она должна получить IP по DHCP и иметь доступ к интернету.
Чтобы сделать доступным каталог ФС на хосте, добавьте в /etc/fstab следующую строку:
shared /mnt/shared 9p trans=virtio,version=9p2000.L 0 0Теперь вы можете использовать привычные сервисы на привычной Linux-машине, которая будет легко переносима на другое железо!
Если все нормально работает и корректно включается-выключается, то можно покупать и вводить ключ для unRAID. Не забывайте, что он привязывается к GUID флеш-накопителя (хотя, его можно переносить). Также, без лицензии не будет работать автоматический запуск VM.
��инал
Спасибо, что дочитали до конца!
Старался не писать много, но все равно статься на мой взгляд получилась довольно длинной. Остальные фичи unRAID довольно просты в настройке на мой взгляд, тем более, что все настраивается мышкой.
Хорошие идеи, что можно установить на VM есть здесь. Думаю, что у каждого свои потребности и вывести какой-то универсальный список нельзя. Хотя, pi.hole, конечно, можно советовать абсолютно всем :)
Надеюсь, меня хватит на продолжение!
