Mini PC вместо башни: компактный домашний сервер
Год назад я переехал с большого серверного корпуса на Mini PC. Спойлер: назад не тянет. Рассказываю, как дошёл до жизни такой и что из этого вышло. Думаю, многим знакомо: ты собираешь мощный сервер «на вырост», покупаешь дорогую материнку, ставишь Xeon, набиваешь памятью, а потом половина железа простаивает, и ты платишь за электричество как за отопление небольшой квартиры.
Всё началось с боли. Мой старый сервер — полноразмерный Corsair Obsidian 750D, материнка на Socket 2011, 64 ГБ DDR3, пара Xeon E5-2670 — жрал электричества как дизельный генератор. Я повесил ваттметр — бытовой, из Леруа Мерлен, за 800 рублей. Цифры меня добили: 180-220 Вт в простое. Это когда сервер ничего не делает, просто стоит с включённым питанием. Под нагрузкой — под 350-400 Вт. В месяц выходило около 130 кВт·ч только на сервер — это как холодильник и стиралка вместе взятые. По нашим тарифам — тыща с лишним рублей ежемесячно. За год — больше 15 тысяч. Я сидел и смотрел на счёт за электричество и думал: «Зачем мне эта печка, если я использую 10% её мощности?» И это я молчу про шум. Два вентилятора Noctua на 120 мм (кстати, недешёвые), блок питания Corsair RM850x, кулеры на процессорах — всё это гудело так, что сервер пришлось вынести в коридор. Зимой в коридоре было тепло, летом — адский дубак от кондиционера, который гонял холодный воздух мимо сервера. Жена ругалась, что по ночам гул слышен в спальне. Пришлось сделать дополнительную шумоизоляцию двери в коридор.
Я долго упирался. Ну как же — настоящий сервер должен быть большим, с вентиляторами на 120 мм, с RAID-контроллером, с кучей слотов расширения. А Mini PC — это игрушка, на ней серьёзные вещи не поднять. Я так думал лет пять. Пока в один прекрасный день не сел и не посчитал реальную загрузку своего сервера. Оказалось, что из 12 ядер Xeon у меня в среднем загружено 2-3. Из 64 ГБ оперативки занято 12-16. Все эти SATA-диски, RAID-массивы, PCIe-слоты — они просто пылятся и жрут энергию. Я держу двухпроцессорный сервер ради трёх LXC-контейнеров с nginx, AdGuard и WireGuard. Абсурд.
Первым делом я взял HP EliteDesk 800 G3. Процессор i5-7500T, 16 ГБ DDR4, 256 ГБ NVMe. Нашёл на авито за 5500 рублей. Продавец — парень, который обновлял парк в офисе и продавал старые компы оптом. Я приехал, посмотрел — состояние отличное, даже царапин нет. Включил — и офигел от тишины. Ваттметр показывал 15 Вт в простое. ПЯТНАДЦАТЬ. Это в 12 раз меньше, чем мой старый монстр. Вместе с SSD — 18 Вт. Я просто сидел и смотрел на показания прибора. Не мог поверить. Первая мысль: «Наверное, он сломан и не тянет нагрузку». Поставил stress-тест — 45 Вт под полной загрузкой всех ядер. Старый сервер на стрессе выходил за 350-400 Вт. Разница — почти в 10 раз. Я перепроверил ваттметр на другом приборе — показывает корректно. Этого момента я и испугался, и обрадовался одновременно.
Я поставил на него Proxmox. Процесс знакомый до боли — скачать ISO, записать на флешку через Rufus, загрузиться, выбрать диск, настроить сеть. Установка заняла 15 минут. Завёл LXC-контейнеры — nginx как реверс-прокси, AdGuard Home для фильтрации DNS на всей сети (реклама исчезла на всех устройствах, включая телевизор), WireGuard для доступа к домашней сети из вне, uptime-kuma для мониторинга внешних сайтов. Всё встало как родное. Сначала думал, что 16 ГБ памяти не хватит — у меня поверх LXC ещё Docker крутится с InfluxDB и Grafana. Смотрю htop — занято 6 ГБ из 16. И это с запасом. Сижу, смотрю на цифры и думаю: «И ради этого я таскал двухпроцессорный монстр с 64 ГБ?» Единственное, что я не мог запустить — это тяжелые VM с Windows 10 для тестирования софта. Но для них я оставил старый сервер в спящем режиме. Включаю раз в месяц по необходимости — SSH-сигнал wakeonlan, пара часов работы, выключение.
Через месяц я взял второй — Lenovo M720q Tiny. Процессор i3-8100T, 8 ГБ, 240 ГБ SSD, нашёл за 4000 рублей тоже на авито. Соединил их в кластер Proxmox. Настройка кластера заняла минут 20 — установка, создание кластера на первом узле, генерация токена, присоединение второго узла, настройка репликации конфигов. Всё через веб-интерфейс, без единой консольной команды. Два mini PC вместе жрут меньше, чем один 120-мм вентилятор старого сервера на минимальных оборотах. Репликация LXC-контейнеров между узлами, живая миграция, отказоустойчивость — всё работает из коробки. Я специально тестировал: выдернул питание из первого узла. Через 10 секунд контейнеры поднялись на втором. Ни один сервис не упал — только небольшой таймаут на DNS-запросах (AdGuard переезжал на другой узел, кеш сбросился).
Что мне особенно нравится — размер. Корпус HP EliteDesk — 18x18x3.4 см. Lenovo — примерно такой же. Они помещаются на полке за монитором друг на друге. Ставятся вертикально на специальную подставку (в комплекте у HP есть, у Lenovo — нет, пришлось на 3D-принтере напечатать). Не слышно вообще — кулер почти не крутится, потому что TDP процессоров 35 и 35 Вт соответственно, и в простое они потребляют копейки. Пыли собирают меньше. И выглядят аккуратно — не как серверная стойка в квартире, а как роутер или медиаплеер. Когда приходят гости, никто не спрашивает «что это за гудящий шкаф стоит в коридоре».
Из минусов: память в некоторых моделях распаяна — перед покупкой проверять обязтельно. У HP EliteDesk 800 G3 оба слота SO-DIMM, легко апгрейдить до 32 ГБ. А у моего Lenovo M720q — один слот распаян на 4 ГБ, второй свободный, максимум можно поставить 16 ГБ (одну планку на 16 ГБ). Слотов расширения нет — только USB 3.0 и M.2 для NVMe. Если нужен RAID, 10-гигабитная сеть, внешние GPU — мимо. Но для 90% домашних задач Mini PC — идеал. Я бы сказал, для 95%. Реально, что ещё нужно? nginx, БД, Docker, несколько VM — всё влезает.
Сейчас у меня три mini PC в кластере. Третий — Dell Wyse 5070 на Celeron J4105 с 8 ГБ, купил за 3000 рублей. Этот аппарат жрёт 8 Вт в простое. Абсолютный рекорд среди всего, что я видел. Общий consumption кластера из трёх машин — 45 Вт под нагрузкой, около 25 Вт в простое. В месяц электричество обходится в 300 рублей вместо прежних полутора тысяч. Окупились за полгода чистой экономией на электричестве. Все три mini PC вместе с сетевым свитчем MikroTik и ИБП стоят на полке 60×30 см. Вся серверная инфраструктура поместилась на одной полке IKEA. И это не шутка.
Что я советую: если ты всё ещё сидишь на большом сервере для домашних экспериментов — попробуй хотя бы один Mini PC для начала. Не пожалеешь. Бери модели с процессорами T-series (TDP 35 Вт) или U-series (15 Вт). Проверяй возможность апгрейда памяти до покупки. Выбирай с NVMe — разница с SATA SSD в повседневной работе заметна невооружённым глазом. Для кластера нужно минимум два узла — тогда можно делать живую миграцию контейнеров и обновлять Proxmox без простоя сервисов. Ну и сеть — хотя бы гигабит, лучше два (у некоторых моделей есть второй Ethernet-порт через USB-док).
Теперь мой «сервер» свободно помещается в рюкзак вместе с ноутбуком. Если надо переехать — снял три коробочки с полки, положил в сумку, поехал. Попробуй такое с полноразмерным корпусом. Я, когда делал ремонт, просто забрал кластер к родителям на неделю и запустил там через 4G-модем. Никто даже не заметил, что сервер переехал на 200 километров. А в новую квартиру я сразу купил полку под Mini PC — больше никаких башен под столом.
Ещё один важный момент — охлаждение. У большого сервера вентиляторы всегда шумят, даже на минималках. У Mini PC в простое вентилятор либо не крутится вообще, либо работает на минимальных оборотах — его не слышно. Летом в жару я переживал, что они перегреются. Поставил термодатчики — температура процессоров в самую жаркую погоду не превышала 72 градуса под нагрузкой. Это отличный показатель. Корпуса металлические, работают как радиаторы. Некоторые ставят Mini PC на алюминиевые пластины для дополнительного охлаждения — я не стал заморачиваться, и так всё в норме.
Из того, что я понял за год: переход на Mini PC — это не про экономию места. Это про смену подхода к домашней инфраструктуре. Вместо того чтобы держать один монстр-сервер, который делает всё и жрёт как не в себя, ты строишь распределённую систему из маленьких и эффективных узлов. Один узел сдох — остальные работают. Один апгрейдишь — остальные несут нагрузку. Это более гибкая архитектура, и она заставляет тебя думать о надёжности с самого начала. Плюс каждый конкретный Mini PC можно заменить за час — достаточно переставить NVMe-диск в другой такой же корпус. С большим сервером такой номер не пройдёт.
В планах — докупить ещё один HP EliteDesk на AMD Ryzen для экспериментов с GPU-вычислениями и, возможно, собрать маленький кластер Kubernetes на mini PC. Но это уже следующая история.
Я веду табличку расходов на электроэнергию с момента перехода. Сравниваю старые счета с новыми. За 9 месяцев экономия составила около 11 тысяч рублей. То есть все три Mini PC окупились не за полгода, как я изначально прикинул, а быстрее. Два младших узла (Wyse и Lenovo) окупились уже за 4 месяца. По сути, они сейчас работают бесплатно, и каждый сэкономленный рубль — чистый профит. Если у тебя старый сервер жрёт больше 100 Вт в простое — считай деньги. Возможно, переход на Mini PC окупится быстрее, чем ты думаешь. Я бы на твоём месте взял ваттметр и замерил реальное потребление своего сервера. Цифры могут тебя неприятно удивить.