Привет, SE7EN! Хочу представить вашему вниманию обзор моей домашней лаборатории, которую я выстроил для отработки навыков, необходимых современному DevOps-инженеру. Сначала кратко пройдемся по «железу», а затем обсудим перспективы дальнейшего развития проекта.
Серверная часть
Основой моего стенда стали сервера в форм-факторе SuperMicro 5017C-MF. В моем распоряжении четыре устройства: одно базируется на системной плате X9SCL-F, остальные три — на X10SLL-F. Основное различие между ними заключается в поддержке процессорных архитектур: плата 9-го поколения работает с CPU первого и второго поколений, тогда как 10-е поколение совместимо с 3-м и 4-м.
Визуальные отличия представлены ниже:




Конфигурация серверов:
— Сервер #1 (консольный): X9SCL-F, Xeon E3-1220v2, 8GB RAM, 60GB SSD (система) + 8TB HDD (NFS-хранилище)
— Серверы #2, 3, 4 (воркеры): X10SLL-F, Xeon E3-1220v3, 16GB RAM, 60GB SSD (система)
Сетевая инфраструктура
В качестве сетевого коммутатора был выбран Tenda-TEG1016M. Он привлек меня достаточным числом гигабитных портов и поддержкой VLAN, что крайне актуально для моих будущих задач. Кроме того, девайс отличается компактностью и добротной сборкой.


Источник бесперебойного питания
Для электропитания я использую «ветерана» — APC PowerStack 450. Несмотря на почтенный возраст, этот ИБП отлично поддается настройке и мониторингу через штатный COM-порт с помощью утилиты apcupsd в Linux. Будьте готовы к тому, что при покупке такой «ретро-техники» придется повозиться со сбросом счетчика жизненного цикла АКБ — здесь выручат форумные архивы и консольный софт вроде minicom. Я провел небольшую кастомизацию: добавил блок питания 220v->12v для коммутатора, чтобы не занимать дефицитные розетки C-13. Разумеется, прежде чем внедрять это решение, я провел стресс-тест ИБП при 100% нагрузке на сервера. Аппарат оснащен системами защиты от перегрузок и предоставляет подробную телеметрию. Номинальная мощность составляет 280 Вт, пиковая — 450 Вт.



«Серверный» шкаф
Поскольку я собирал систему из подручных средств, концепция шкафа менялась несколько раз. В итоге получилась достаточно элегантная и функциональная конструкция.

Конструктив выполнен из ЛДСП по индивидуальным размерам. В качестве направляющих использованы мебельные шариковые рельсы с механизмом Push-to-Open — это позволяет легко выдвигать сервера без необходимости их полного демонтажа. Коммутатор закреплен на напечатанных на 3D-принтере кронштейнах, а кабельный менеджмент организован с помощью аккуратных пластиковых площадок и стяжек.




Благодаря использованию направляющих длиной 450 мм, обслуживать «железо» стало крайне удобно — достаточно просто выкатить нужный узел.


Итоги
Проект развивался в течение полугода, пережив три итерации. Главная сложность заключалась в проектировании самого шкафа — первые прототипы требовали усиления стальными уголками. Текущая версия удачна тем, что систему можно масштабировать, просто надстраивая ячейки друг на друга. В планах — оптимизация NFS-трафика и установка пылезащитной сетки на лицевую панель.
Почему я не купил готовый шкаф? Предложения на вторичном рынке зачастую были либо невыгодны по цене с учетом логистики, либо не подходили по конструктиву. Вдобавок, штатные «ушки» для стоек вызывали у меня опасения в плане надежности фиксации, поэтому я решил сконструировать решение самостоятельно.
Что по затратам?
Шкаф: ~5 000 руб. (ЛДСП, рельсы, фурнитура).
Сервера: ~25 000 руб. (комплектующие, кулеры, SSD) + 16 000 руб. (HDD).
Сетевое и ИБП: ~6 000 руб. (коммутатор, ИБП, батареи).
Мелочевка: ~2 000 руб.
Итого: вполне приемлемый бюджет для создания отказоустойчивой инфраструктуры, на базе которой можно развернуть Nextcloud, SeaFile или другие сервисы, необходимые для обучения и разработки. Спасибо за внимание, всем удачи в собственных проектах!


