Homelab Tour
В последнее время, помимо чтения r/homelab, я подсел на видео "Homelab Tour", где пользователи рассказывают о своих серверных комнатах, своём оборудовании и опыте. Я обожаю, когда пользователи делятся подобным контентом, рассказывают о своих умных домах и всяких железках. Мне это интересно и очень огорчает, что в ИРЛ кругу никто не разделяет мой интерес. Даже в рабочей обстановке, из-за специфики моей работы, никто не скажет мне: "usr, давай-ка будем использовать всю мощь ZFS, чтобы хранить данные" Нет, бизнес выбирает SaaS, где мои права ограничиваются двумя кликами и звонком в техподдержку. Грустно, не правда ли?
Именно поэтому я решил поделиться тут своим скромным опытом, связанным с самохостингом.
Ну, и не буду лукавить, что этот текст — часть моей борьбы с синдромом самозванца. Да! Чертовски легко почувствовать себя УГ, когда видишь огромные серверные шкафы с оборудованием промышленного класса в качестве домашней лаборатории в подвале.
На твоём коммутаторе меньше 8 портов — Виктор Барт смотрит на тебя как на УГ
Конечно, мне всегда любопытно поиграться с крутыми железками. И в то же время меня забавляет, когда такие огромные серверные шкафы используют условно для синхронизации фотографий с котятами.
Итак, начнём тур!
Мат. плата: Supermicro X7DWT
Процессор: 2хXeon E5420 4x2.5 ГГц , Sockets LGA771
ОЗУ: 32 Гб ECC
Диск: 960 Гб SSD (Kingston A400 SA400S37), RAIDZ0 2x1024 Гб HDD (Seagate Barracuda ST1000LM048)
ОС: YunoHost
Корзина на 4 диска 2.5
Этот сервер работает под управлением YunoHost. Мне нравится эта операционная система. Администрирование никогда ещё не было столь простым. YunoHost позволяет развертывать приложения, управлять пользователями, доменами, SSL-сертификатами и прочее.
Несмотря на удобство, частенько всё же приходится лезть в терминал. И мне также по нраву, что он сохраняет гибкость. Я могу вмешаться и исправить/поменять что-то на своё усмотрение.
У него приятная панель управления приложениями:

В панели задействована технология единого входа (англ. Single Sign On). Я считаю эту технологию не совсем безопасной практикой, но штука удобная. Правда, у меня она всё равно не работает из-за браузерного приложения Temporary Containers.
В работу этого сервера я стараюсь не вмешиваться. А эксперименты чаще провожу на втором сервере.
HP Compaq 6000 Pro SFF
Мат. плата: hp 3048h
Процессор: Intel Core 2 Quad Q9650 4x3 ГГц, Sockets LGA775
ОЗУ: 12 Гб DDR3
ОС: Debian
Корзина на 6 дисков 2.5
Как ты, наверное, заметил, у этого старичка сменился процессор. Изначально думал установить на него Xeon E5450, но HP оказался жутко капризным к перемычкам.
У линейки Compaq любопытный форм-фактор корпуса. А его модульность как плюс, так и минус. С одной стороны, здорово, что его секции так компонуются. Но попробуй теперь в 2023 году найти для него комплектующие.
Раньше на этом сервере был установлен TrueNAS, потом TrueNAS SCALE. Но со временем меня стала бесить та ограниченность, которой придерживается iXsystems. В итоге я просто установил Debian и в ручном режиме настроил всё необходимое.
В те времена он служил в качестве хранилища, в основном для торрентов (разумеется, только легальных дистрибутивов Linux и всякого хлама). И приблизительно за два года, я подозреваю, активные торрент-раздачи убили RAIDZ-массив напрочь.
Теперь я оптимизировал раздачи и на постоянной основе раздаю только редкие раздачи и минимальный набор необходимого в повседневности софта. Остальное удаляю, как только рейтинг раздачи вырастает до трёх. Помимо этого он используется для docker-контейнеров и виртуальных машин. Ну, и также выступает в качестве хранилища. На нём я в большей степени запускаю приложения для личного использования, в то время как на первом сервере преобладают публичные сервисы.
Использовать Docker я начал не так давно: два-три года назад. Сразу же образовалась задача автоматизации обновлений, так как в ручном режиме это было утомительно. Эту задачу успешно закрыл Watchtower.
Планировал попробовать запустить на этом сервере Proxmox, но есть ряд сомнений. В первую очередь, мне кажется, он слабоват для подобного. Во-вторых, я скептически отношусь к системам виртуализации, это ведь лишняя прослойка, в которой всё может пойти не по плану. Я наслышан о стабильности Proxmox, но... сомнения не покидают меня.
Обновление 23.10.23: Так уж сложилось, что в процессе написания этой заметки, я всё переиграл и заменил этот сервер на другой вариант. И мало того, я перенёс часть общей инфраструктуры в Proxmox.
Мат. плата: ASRock 960GM-GS3 FX
Процессор: AMD FX-6100 6x3.3 ГГц , Sockets AM3+
ОЗУ: 16 Гб DDR3
Диск: RAIDZ0 2x1024 Гб SSD (DEXP C100 C100SMYM1024), 1024 Гб HDD (Seagate ST1000LM035)
ОС: Proxmox
Создал отдельные виртуальные машины для Yggdrasil, Docker-контейнеров, Windows. Пришлось конечно в какой-то степени оптимизировать некоторые приложения в пользу производительности, однако опыт с Proxmox того стоит.
Orange Pi PC
Процессор: ARM Cortex-A7 4x1.6 ГГц
ОЗУ: 1 Гб DDR3
Диск: MicroSD INOI 32 ГБ Class 10
ОС: Armbian
Тут всё скучно, на нём крутится Yggdrasil. Это устройство лежало у меня без дела. И таким образом я решил его задействовать. До этого на нём был установлен AdGuard Home, но об этом ниже.
К слову о Yggdrasil, не перестаю радоваться, насколько это крутая технология. Активно использую дома и на работе. Возможность объединить то, что инфраструктурно не позволяет это сделать — настоящее чудо.
Обновление 23.10.23: Сервер отключен.
В качестве роутера у меня теперь мини-ПК на базе материнской платы GA-C1037UN-EU под управлением OpenWrt.
Корпус Inwin BQ660 Mini-ITX
Мат. плата: GIGABYTE 1037U GA-C1037UN-EU
Процессор: Intel Celeron 1037U 2x1.8 ГГц, Sockets FCBGA1023
ОЗУ: 4 Гб
Диск: 120 Гб SSD
ОС: OpenWrt
С момента предыдущей статьи я сменил тариф на гигабитный, и у меня появился второй провайдер. Прежний роутер был уже не в состоянии справиться с нагрузкой.
На этом же роутере я пробовал поиграться с OPNsense и... проиграл, меня он разочаровал. В сравнении с OpenWrt у него скудная документация, набор пакетов, возможностей, и что гораздо более разочаровывающее, вокруг него слабое сообщество.
Было бы любопытно поиграться с Banana Pi BPI-R3, но я как-то пропустил тот момент, когда компактные одноплатники перестали быть бюджетными устройствами. Хотя аппаратный стек у него потрясный.
А кстати, в качестве коммутатора у меня самое бюджетное устройство TP-Link LS1008G. Были напрасные сомнения на его счёт. Проводил тесты инструментом iperf3 и результат меня успокоил. Потери в пределах 4%.
Отдельно хотел бы поговорить о схеме DNS-серверов. Мой провайдер совершает MITM-атаку на DNS, то есть с моего хоста, расположенного в сети провайдера не уходят в мир dns-query пакеты. Точнее они не доходят до целевых DNS-серверов, к которым я обращаюсь. Вместо этого к целевым серверам приходят аналогичные запросы от DNS-серверов провайдера и целевой сервер отвечает DNS-серверу провайдера, приславшему запрос.
Раньше была настоящая пытка настраивать "обходные пути", с появлением DoT всё стало проще. Сейчас использую домашний роутер в качестве сервера Stubby и перенаправляю локальные запросы на него, а уже он в свою очередь отправляет их во внешку в зашифрованном виде.

На этом, пожалуй, и всё. Ну ладно-ладно, у меня же новый системник. Я не могу не рассказать о нём. Хотя... К чему слова, когда есть формат neofetch.
Мат. плата: MS-7C96 1.0
Процессор: AMD Ryzen 5 2600 12х3.4 ГГц, Sockets AM4
ОЗУ: 32 Гб
Видеокарта: AMD ATI Radeon RX 5600
Диск: 1024 Гб NVMe
ОС: Manjaro
Планы на будущее.
- Обустроить место под оборудование. Серверная стойка стоит внушительных денег. Пожалуй, я ограничусь журнальным столиком на колёсиках. Но в будущем стоит задуматься о шумовой изоляции.
- Мне в срочном порядке нужен ИБП. Уже приходилось работать с Ippon. И у меня сложилось неплохое мнение. Выбор пока остановлю на них.
- Позаботиться о пожарной безопасности. FINFIRE предоставляет интересные решения в виде самосрабатывающих модулей пожаротушения, которые активируются при контакте с открытым огнем. А область применения совместима с электрическим и электронным оборудованием.