"Коротко:
<br />
Взял Beelink EQ12 на Intel N100 за ~120 долларов. Поставил Proxmox, запустил 3 LXC-контейнера и 2 лёгкие ВМ. Потребление упало с 90 до 10-12 ватт. Шума нет. Всё работает полгода без единого внепланового перезапуска. Если твой старый сервер стоит дома и трещит вентиляторами — читай дальше.<br />
<h2>Откуда вообще взялась идея</h2>
<p>У меня дома стоял старый десктоп на Core i5-4570. Сервер в прямом смысле — там жили Pi-hole, WireGuard, Gitea и пара мониторинговых контейнеров. Работало стабильно. Но машина потребляла около 90 ватт в покое, шумела вентиляторами, и каждый раз когда я в 3 ночи ложился спать, думал: «за что я плачу в счёте за свет».</p>
<p>Полгода назад наткнулся на обзоры мини-ПК на Intel N100. Почитал, посмотрел цифры по потреблению — не поверил. 8-12 ватт для полноценного x86 сервера? Это меньше чем лампочка. Решил проверить сам.</p>
<p>Расскажу не про «купил-поставил-всё заработало», а про реальные полгода эксплуатации. С граблями, с ограничениями, с цифрами из розетки. Потому что документация которая отвечает на вопрос «что» но не «почему» — это то что меня бесит больше всего.</p>
<h2>Что такое Intel N100: по сути</h2>
<p>N100 — это чип из линейки Alder Lake-N. Четыре ядра Gracemont без Performance-ядер — только E-cores. Intel позиционировал его как замену Celeron для встроенных систем, промышленных компьютеров и тонких клиентов. Сообщество homelab его подхватило по другой причине — соотношение производительности к потреблению.</p>
<p>E-cores — не урезанные ядра. Это архитектурно другой подход: ядра оптимизированы для работы в диапазоне частот 800 MHz — 3.4 GHz с минимальным потреблением на низких нагрузках. В покое процессор буквально сидит на 800 MHz и ест считанные ватты. Под нагрузкой поднимается до 3.4 GHz и там работает нормально для серверных задач.</p>
<table>
<thead>
<tr>
<th>Характеристика</th>
<th>Intel N100</th>
<th>Core i5-4570 (мой старый)</th>
<th>Примечание</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ядра / потоки</td>
<td>4 / 4</td>
<td>4 / 4</td>
<td>Одинаково</td>
</tr>
<tr>
<td>Базовая частота</td>
<td>0.8 GHz</td>
<td>3.2 GHz</td>
<td>N100 агрессивно снижает</td>
</tr>
<tr>
<td>Boost частота</td>
<td>3.4 GHz</td>
<td>3.6 GHz</td>
<td>Примерно одинаково</td>
</tr>
<tr>
<td>TDP</td>
<td>6 Вт</td>
<td>84 Вт</td>
<td>В 14 раз меньше</td>
</tr>
<tr>
<td>Реальное потребление системы в покое</td>
<td>8-12 Вт</td>
<td>85-95 Вт</td>
<td>Измерял ваттметром</td>
</tr>
<tr>
<td>Поддержка AES-NI</td>
<td>Да</td>
<td>Да</td>
<td>WireGuard летит</td>
</tr>
<tr>
<td>Поддержка VT-x / VT-d</td>
<td>Да</td>
<td>Да</td>
<td>Нужно включить в BIOS</td>
</tr>
<tr>
<td>Quick Sync (видео)</td>
<td>Есть (Gen12 iGPU)</td>
<td>Нет</td>
<td>Для Jellyfin полезно</td>
</tr>
<tr>
<td>Максимум RAM</td>
<td>16 GB (один слот)</td>
<td>32 GB (два слота)</td>
<td>Это главный лимит N100</td>
</tr>
<tr>
<td>Тип памяти</td>
<td>DDR5-4800 / LPDDR5</td>
<td>DDR3</td>
<td>—</td>
</tr>
</tbody>
</table>
<p>Смотришь на базовую частоту 0.8 GHz и думаешь: это шутка? Нет. Это режим глубокого простоя. Для серверных задач важна частота под нагрузкой, а не в покое. При нагрузке N100 поднимается до 3.4 GHz и там работает нормально.</p>
<p>Вот тут ключевое: N100 построен на архитектуре x86. Не ARM. Не RISC-V. Любой Docker-образ для linux/amd64 запустится без эмуляции и без магических флагов. В 2 ночи во время инцидента это дорогого стоит.</p>
<h2>Что я взял и сколько это стоило</h2>
<p>Выбирал между тремя вариантами: Beelink EQ12, Minisforum UN100 и GMKtec M5. Смотрел на наличие двух M.2 слотов, два сетевых порта и алюминиевый корпус — последнее для пассивного охлаждения корпуса при долгой работе.</p>
<p>Взял Beelink EQ12 Pro с 16 GB RAM и 500 GB <a class="wpil_keyword_link" href="https://it-apteka.com/tag/nvme/" target="_blank" rel="noopener" title="nvme" data-wpil-keyword-link="linked" data-wpil-monitor-id="2933">NVMe</a>. Добавил второй <a class="wpil_keyword_link" href="https://it-apteka.com/tag/ssd/" target="_blank" rel="noopener" title="ssd" data-wpil-keyword-link="linked" data-wpil-monitor-id="2934">SSD</a> Kingston NV3 1TB для данных ВМ.</p>
<table>
<thead>
<tr>
<th>Компонент</th>
<th>Что взял</th>
<th>Цена (на момент покупки)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Мини-ПК</td>
<td>Beelink EQ12 Pro (N100, 16 GB, 500 GB NVMe)</td>
<td>~120-140 USD</td>
</tr>
<tr>
<td>Дополнительный SSD</td>
<td>Kingston NV3 1TB M.2 2242</td>
<td>~50 USD</td>
</tr>
<tr>
<td>ИБП</td>
<td>APC BE600M1 (был в наличии)</td>
<td>0 (уже был)</td>
</tr>
<tr>
<td>Итого</td>
<td>—</td>
<td>~170-190 USD</td>
</tr>
</tbody>
</table>
<p>Для сравнения: мой старый i5-4570 потреблял ~93 Вт в среднем. При тарифе 0.18 EUR/кВтч это около 146 EUR в год только за электричество. Мини-ПК окупился за 13-14 месяцев только на счёте за свет.</p>
<h3>Размеры и физические параметры</h3>
<p>Beelink EQ12 Pro: 126 x 113 x 40 мм. Вес около 600 грамм. Корпус — алюминий с пластиковыми вставками. Активный кулер есть, но маленький — под нагрузкой издаёт тихий шелест примерно как USB-хаб. В закрытой комнате ночью почти не слышно.</p>
<p>Для сравнения — мой старый сервер: ATX-корпус полного размера, три 80мм вентилятора, плюс система охлаждения процессора. Ночью слышно через закрытую дверь.</p>
<h2>Что запущено и схема работы</h2>
<pre class="mermaid">%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Beelink EQ12 Pro - N100 16GB RAM"] --> B["Proxmox VE 8.x"]
B --> C["LXC 101: Pi-hole - 256MB"]
B --> D["LXC 102: WireGuard - 128MB"]
B --> E["LXC 103: Gitea - 512MB"]
B --> F["VM 200: Home Assistant OS - 2GB"]
B --> G["VM 201: Debian - Prometheus+Grafana - 1GB"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style B fill:#f8fafc,stroke:#64748b,stroke-width:2px,color:#1e293b
style C fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style D fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style E fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style F fill:#fefce8,stroke:#f97316,stroke-width:1px,color:#9a3412
style G fill:#fefce8,stroke:#f97316,stroke-width:1px,color:#9a3412
</pre>
<p>LXC-контейнеры едят меньше памяти, чем полные ВМ — это ключевое при лимите в 16 GB. Pi-hole сидит в 256 MB, WireGuard в 128 MB, Gitea 512 MB. Home Assistant требует полноценную ВМ — там 2 GB. <a class="wpil_keyword_link" href="https://it-apteka.com/tag/debian/" target="_blank" rel="noopener" title="Debian" data-wpil-keyword-link="linked" data-wpil-monitor-id="2935">Debian</a> для мониторинга — 1 GB. В постоянной нагрузке занято около 4.5 GB из 16. Остальное Proxmox использует как кеш файловой системы — не простаивает.</p>
<p>Почему LXC, а не Docker на хосте напрямую? Proxmox даёт изоляцию, удобное управление снапшотами и бэкапами для каждого сервиса отдельно. Если Pi-hole что-то сломалось — откатил только его, не трогая остальные. Docker напрямую на хосте так не умеет.</p>
<h2>Установка Proxmox: что надо знать заранее</h2>
<p>Proxmox на <a href="https://it-apteka.com/potreblenie-jelektrojenergii-domashnego-servera-n100-ryzen-optiplex-i-synology-v-cifrah/" title="Потребление электроэнергии домашнего сервера: N100, Ryzen, OptiPlex и Synology в цифрах" target="_blank" rel="noopener" data-wpil-monitor-id="3040">N100 ставится как на обычное железо</a> — никаких специальных плясок. Но есть несколько моментов которые сэкономят тебе время.</p>
<h3>Системные требования</h3>
<table>
<thead>
<tr>
<th>Компонент</th>
<th>Минимум</th>
<th>Рекомендую</th>
<th>Моя конфигурация</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU</td>
<td>N100 (любой вариант)</td>
<td>N100 с VT-d в BIOS</td>
<td>Beelink EQ12 Pro</td>
</tr>
<tr>
<td>RAM</td>
<td>8 GB</td>
<td>16 GB</td>
<td>16 GB DDR5</td>
</tr>
<tr>
<td>Системный диск</td>
<td>32 GB SSD</td>
<td>256+ GB NVMe</td>
<td>500 GB NVMe (OS + VM)</td>
</tr>
<tr>
<td>Диск для данных</td>
<td>Необязательно</td>
<td>Отдельный NVMe</td>
<td>1 TB NVMe Kingston NV3</td>
</tr>
<tr>
<td>Версия Proxmox VE</td>
<td>9.0</td>
<td>Последняя 9.x</td>
<td>9.1 на момент написания</td>
</tr>
</tbody>
</table>
<p>На момент публикации актуальна Proxmox VE 8.x. Перед установкой проверь <a href="https://www.proxmox.com/en/downloads" target="_blank" rel="nofollow noopener">свежие релизы на официальном сайте</a> — версии обновляются регулярно.</p>
<h3>Шаг 1. Включи виртуализацию в BIOS</h3>
<p>Без этого шага всё остальное не имеет смысла. Войди в BIOS при загрузке — на Beelink это Delete. Найди Advanced — CPU Configuration. Включи Intel Virtualization Technology и Intel VT for Directed I/O (VT-d). Без VT-d PCIe passthrough работать не будет — если планируешь прокидывать USB-устройства или сетевые карты в ВМ, нужен именно VT-d.</p>
<p>На Beelink EQ12 по умолчанию <a class="wpil_keyword_link" href="https://it-apteka.com/category/virtualise/" target="_blank" rel="noopener" title="Виртуализация" data-wpil-keyword-link="linked" data-wpil-monitor-id="2932">виртуализация</a> включена, но VT-d иногда нет. Проверь оба пункта.</p>
<h3>Шаг 2. Скачай ISO и запиши на флешку</h3>
<p>Иди на <a href="https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso" target="_blank" rel="nofollow noopener">proxmox.com</a>, скачай ISO актуальной версии. Запиши через <a href="https://etcher.balena.io/" target="_blank" rel="nofollow noopener">Balena Etcher</a> на флешку от 8 GB. Важно: пиши в режиме DD, не как загрузочный том <a class="wpil_keyword_link" href="https://it-apteka.com/category/windows-server/" target="_blank" rel="noopener" title="Windows Server" data-wpil-keyword-link="linked" data-wpil-monitor-id="2937">Windows</a> — иначе UEFI может не увидеть флешку.</p>
<h3>Шаг 3. Установка</h3>
<p>Загрузись с флешки. Установщик графический, стандартный. Выбери диск, задай пароль root, укажи hostname, IP-адрес, шлюз и <a class="wpil_keyword_link" href="https://it-apteka.com/tag/dns/" target="_blank" rel="noopener" title="DNS" data-wpil-keyword-link="linked" data-wpil-monitor-id="2938">DNS</a>. Сразу задавай <a title="MikroTik CHR: статический IP, DHCP сервер, SNAT и маршрутизация через Proxmox" href="https://it-apteka.com/mikrotik-chr-staticheskij-ip-dhcp-server-snat-i-marshrutizacija-cherez-proxmox/" target="_blank" rel="noopener" data-wpil-monitor-id="2925">статический IP — DHCP для сервера</a> который работает 24/7 это источник неожиданностей в 3 ночи.</p>
<p>Если у тебя два NVMe диска — ставь Proxmox на первый (меньший или тот что будет системным), второй оставь для данных ВМ. Разделять системный диск и диски с данными ВМ — хорошая практика, она упрощает переезд и бэкапы.</p>
<h3>Шаг 4. Убери subscription-напоминание</h3>
<pre><code class="language-bash">
# После установки - отключи subscription nag-screen
# Это законно для домашнего использования, подписка нужна для Enterprise
sed -i.bak "s/data.status !== 'Active'/false/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
</code></pre>
<h3>Шаг 5. Переключи репозитории на no-subscription</h3>
<p>По умолчанию Proxmox смотрит на Enterprise-репозитории. Без подписки обновления оттуда не придут — ты будешь сидеть на старой версии. Переключи на no-subscription репозитории.</p>
<pre><code class="language-bash">
# Отключи enterprise репо
echo "# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
# Отключи ceph enterprise если не используешь
echo "# deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list
# Добавь no-subscription репо
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Обнови систему
apt update && apt dist-upgrade -y
</code></pre>
<h3>Шаг 6. Добавь второй диск как хранилище</h3>
<p>Если у тебя два NVMe — второй нужно добавить в Proxmox как хранилище для ВМ.</p>
<pre><code class="language-bash">
# Посмотри какие диски есть
lsblk
# Создай раздел на втором диске (замени /dev/nvme1n1 на свой диск)
fdisk /dev/nvme1n1
# Нажми n, p, Enter, Enter, Enter, w
# Отформатируй
mkfs.ext4 /dev/nvme1n1p1
# Добавь точку монтирования
mkdir -p /mnt/data
# Добавь в fstab (замени UUID на свой из blkid)
blkid /dev/nvme1n1p1
echo "UUID=ТВОЙ-UUID /mnt/data ext4 defaults 0 2" >> /etc/fstab
mount -a
</code></pre>
<p>После этого в веб-интерфейсе: Datacenter — Storage — Add — Directory. Путь /mnt/data, выбери типы: Disk image, Container, <a class="wpil_keyword_link" href="https://it-apteka.com/category/rezervnoe-kopirovanie/" target="_blank" rel="noopener" title="Резервное копирование" data-wpil-keyword-link="linked" data-wpil-monitor-id="2940">Backup</a>. Теперь ВМ можно создавать на втором диске.</p>
<h3>Шаг 7. Скачай шаблоны LXC и создай первый контейнер</h3>
<pre><code class="language-bash">
# Обнови список шаблонов
pveam update
# Посмотри доступные шаблоны
pveam available | grep -E "debian|ubuntu|alpine"
# Скачай шаблон Debian 12
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
</code></pre>
<p>Дальше через веб-интерфейс: Create CT, выбери шаблон, задай ресурсы. Для Pi-hole достаточно 1 vCPU, 256 MB RAM, 4 GB диск. Unprivileged container — да, если нет специфических требований.</p>
<h2>Потребление электричества: реальные цифры</h2>
<p>Вот тут самое интересное. Замерял ваттметром розеточным — не программным из /proc. Программные данные врут примерно на 15-20% в меньшую сторону потому что не учитывают потери блока питания и фоновые процессы BIOS.</p>
<table>
<thead>
<tr>
<th>Режим работы</th>
<th>Beelink EQ12 Pro (N100)</th>
<th>Старый i5-4570 (ATX)</th>
<th>Разница</th>
</tr>
</thead>
<tbody>
<tr>
<td>Idle — Proxmox без ВМ</td>
<td>8-9 Вт</td>
<td>85-88 Вт</td>
<td>-77 Вт</td>
</tr>
<tr>
<td>Типичная нагрузка (3 LXC + 2 VM, CPU ~10-15%)</td>
<td>11-14 Вт</td>
<td>92-98 Вт</td>
<td>-82 Вт</td>
</tr>
<tr>
<td>Средняя нагрузка (активные запросы, CPU ~30-40%)</td>
<td>15-18 Вт</td>
<td>100-110 Вт</td>
<td>-87 Вт</td>
</tr>
<tr>
<td>Пиковая нагрузка (apt upgrade во всех ВМ, CPU ~90%)</td>
<td>22-26 Вт</td>
<td>110-125 Вт</td>
<td>-90 Вт</td>
</tr>
</tbody>
</table>
<h3>Расчёт экономии за год</h3>
<p>Тариф в Финляндии на момент подсчёта — около 0.12-0.20 EUR/кВтч в зависимости от времени суток. Считаю по среднему 0.15 EUR/кВтч и 24/7 работе.</p>
<table>
<thead>
<tr>
<th>Машина</th>
<th>Среднее потребление</th>
<th>кВтч/год</th>
<th>Стоимость/год (0.15 EUR)</th>
</tr>
</thead>
<tbody>
<tr>
<td>i5-4570</td>
<td>93 Вт</td>
<td>815 кВтч</td>
<td>~122 EUR</td>
</tr>
<tr>
<td>N100</td>
<td>12 Вт</td>
<td>105 кВтч</td>
<td>~16 EUR</td>
</tr>
<tr>
<td>Экономия</td>
<td>81 Вт</td>
<td>710 кВтч</td>
<td>~106 EUR/год</td>
</tr>
</tbody>
</table>
<p>170 долларов на железо. Окупаемость за счёт экономии электричества — примерно 14-16 месяцев. После этого мини-ПК начинает зарабатывать. Это без учёта стоимости охлаждения помещения летом — старый сервер грел комнату ощутимо, N100 нет.</p>
<h2>Производительность: где хватает, где нет</h2>
<p>Честный разговор про ограничения важнее красивых цифр в маркетинге.</p>
<h3>Что N100 делает хорошо — и почему</h3>
<p>Сетевые сервисы — Pi-hole, AdGuard Home, CoreDNS, Unbound — N100 вообще не заметит. DNS-запрос обрабатывается за микросекунды, даже 10 000 запросов в секунду для N100 это не нагрузка. WireGuard с AES-NI hardware acceleration работает на полной скорости гигабитного линка без задержек. Я гонял iperf3 через WireGuard-туннель — 900+ Mbit/s, CPU при этом на 8-12%.</p>
<p>Веб-приложения с небольшой базой пользователей: Gitea, Vaultwarden, Nextcloud (без тяжёлых превью), Bitwarden, Home Assistant. При 3-5 одновременных сессиях всё работает быстро. Gitea с 20+ репозиториями отвечает нормально. Nextcloud с 5 пользователями без проблем.</p>
<p><a title="Автоматическое обновление Docker контейнеров: полное руководство и примеры" href="https://it-apteka.com/avtomaticheskoe-obnovlenie-docker-kontejnerov-polnoe-rukovodstvo-i-primery/" target="_blank" rel="noopener" data-wpil-monitor-id="2924">Docker и LXC контейнеры</a> запускаются быстро. Node.js, Python Flask/FastAPI, Go-приложения работают без вопросов. Если приложение нетребовательное к CPU и нормально написано — N100 справится.</p>
<p>Транскодинг через Intel Quick Sync — один поток 1080p без проблем. Jellyfin с одним активным пользователем работает без заиканий. Quick Sync снимает нагрузку с CPU и перекладывает на iGPU.</p>
<h3>Где N100 начинает задыхаться</h3>
<p>Компиляция больших проектов. 4 E-core под компиляцию ядра Linux: на моей старой машине i5-4570 ядро собиралось за 12 минут, на N100 — за 38. В 3 раза медленнее. Для продакшн CI/CD это критично. Для домашнего лаба где ты компилируешь раз в неделю — переживёшь.</p>
<p>Множество тяжёлых ВМ одновременно. Главный лимит — не CPU, а RAM. 16 GB и один слот — потолок. Если хочешь 8 полноценных ВМ с 2 GB каждая — 16 GB просто не хватит. LXC-контейнеры в 2-3 раза эффективнее по памяти — используй их где возможно.</p>
<p><a title="Руководство по оптимизации PostgreSQL и MySQL: 5 реальных примеров с готовыми скриптами" href="https://it-apteka.com/rukovodstvo-po-optimizacii-postgresql-i-mysql-5-realnyh-primerov-s-gotovymi-skriptami/" target="_blank" rel="noopener" data-wpil-monitor-id="2928">PostgreSQL или MySQL</a> с большой нагрузкой. Для домашней Gitea с 5 пользователями — нормально. Для базы с тысячами транзакций в секунду — нет. N100 физически имеет медленную однопоточную производительность E-cores по сравнению с P-cores десктопных процессоров. Базы данных очень чувствительны к задержкам на отдельных запросах.</p>
<p>4K транскодинг нескольких потоков. Один 4K поток через Quick Sync — окей. Два-три одновременных 4K потока или конвертация 4K HDR в 1080p SDR на двух потоках параллельно уже создаёт заметные задержки.</p>
<h3>Тест: что реально запущено и как себя чувствует</h3>
<table>
<thead>
<tr>
<th>Сервис</th>
<th>Тип</th>
<th>RAM выделено</th>
<th>RAM факт</th>
<th>CPU в покое</th>
<th>Ощущения</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pi-hole</td>
<td>LXC Debian 12</td>
<td>256 MB</td>
<td>~120 MB</td>
<td>0.5-1%</td>
<td>Летает</td>
</tr>
<tr>
<td>WireGuard</td>
<td>LXC Alpine 3.19</td>
<td>128 MB</td>
<td>~80 MB</td>
<td>0.1-0.5%</td>
<td>Без замечаний</td>
</tr>
<tr>
<td>Gitea</td>
<td>LXC Debian 12</td>
<td>512 MB</td>
<td>~350 MB</td>
<td>0.5-2%</td>
<td>Нормально</td>
</tr>
<tr>
<td>Home Assistant OS</td>
<td>VM KVM</td>
<td>2 GB</td>
<td>~1.4 GB</td>
<td>2-5%</td>
<td>Нормально</td>
</tr>
<tr>
<td>Debian (Prometheus + Grafana)</td>
<td>VM KVM</td>
<td>1 GB</td>
<td>~800 MB</td>
<td>1-3%</td>
<td>Нормально</td>
</tr>
</tbody>
</table>
<p>В обычный день CPU загружен на 5-15%. Памяти занято 4.5-5.5 GB из 16. Узкое место — не CPU и не RAM, а скорость NVMe при одновременных тяжёлых I/O операциях. Когда Gitea делает <a class="wpil_keyword_link" href="https://it-apteka.com/tag/git/" target="_blank" rel="noopener" title="Git" data-wpil-keyword-link="linked" data-wpil-monitor-id="2941">git</a> clone большого репозитория, а в это время Proxmox снимает снапшот ВМ — вот тут иногда замечаешь небольшие задержки.</p>
<h2>Портовый и сетевой расклад</h2>
<table>
<thead>
<tr>
<th>Порт / интерфейс</th>
<th>Назначение</th>
<th>Примечание</th>
</tr>
</thead>
<tbody>
<tr>
<td>enp1s0 (2.5 GbE Realtek 8125)</td>
<td>Основная сеть, Proxmox management</td>
<td>Главный порт</td>
</tr>
<tr>
<td>enp2s0 (1 GbE Intel)</td>
<td>Резерв / отдельный VLAN</td>
<td>Пока не использую</td>
</tr>
<tr>
<td>USB 3.0 x2</td>
<td>Внешний диск для бэкапов</td>
<td>USB-HDD 2TB WD</td>
</tr>
<tr>
<td>M.2 NVMe slot 1</td>
<td>500 GB — OS Proxmox + системные ВМ</td>
<td>Родной диск</td>
</tr>
<tr>
<td>M.2 NVMe slot 2</td>
<td>1 TB Kingston — данные ВМ, бэкапы</td>
<td>Добавил сам</td>
</tr>
<tr>
<td>HDMI + DP</td>
<td>Не используются</td>
<td>Headless после установки</td>
</tr>
</tbody>
</table>
<p>Два сетевых интерфейса открывают интересный сценарий: поставить OPNsense или pfSense в ВМ и сделать из мини-ПК полноценный домашний роутер с файрволом. N100 для этого более чем достаточен — гигабитный линк через soft routing с фильтрацией пакетов CPU тянет без потоотделения.</p>
<h2>Безопасность: что настроил сразу</h2>
"Не
<br />
Proxmox по умолчанию открыт широко. Веб-интерфейс на порту 8006 доступен всем в локальной <a class="wpil_keyword_link" href="https://it-apteka.com/category/networks/" target="_blank" rel="noopener" title="Сети" data-wpil-keyword-link="linked" data-wpil-monitor-id="2936">сети</a>. Если машина смотрит в <a title="10 ошибок при настройке домашнего Wi-Fi, из-за которых тормозит интернет" href="https://it-apteka.com/10-oshibok-pri-nastrojke-domashnego-wi-fi-iz-za-kotoryh-tormozit-internet/" target="_blank" rel="noopener" data-wpil-monitor-id="2927">интернет или в домашней</a> сети есть IoT-устройства — базовую защиту ставь в первый день.<br />
<h3>SSH hardening</h3>
<pre><code class="language-bash">
# Отключи аутентификацию по паролю - только ключи
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# Перезапусти SSH
systemctl restart sshd
# Проверь что настройки применились
sshd -T | grep -E "permitrootlogin|passwordauthentication"
</code></pre>
<p>Добавь свой публичный ключ до того как закрываешь аутентификацию по паролю. Иначе потеряешь доступ по SSH и придётся идти к монитору.</p>
<pre><code class="language-bash">
# Добавь свой публичный ключ (выполняй с рабочей машины)
ssh-copy-id root@IP_PROXMOX
# Или вручную на сервере
mkdir -p ~/.ssh
echo "ssh-ed25519 AAAA... твой_ключ" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
</code></pre>
<h3>Встроенный файрвол Proxmox</h3>
<p>Proxmox имеет встроенный файрвол на основе iptables. Включи его в Datacenter — Firewall — Options — Firewall: Yes. По умолчанию он в режиме ACCEPT на Datacenter уровне — настрой правила.</p>
<pre><code class="language-bash">
# Посмотри текущие правила
cat /etc/pve/firewall/cluster.fw
# Пример конфига кластерного файрвола
# Редактируй через веб-интерфейс или напрямую в файле
# Проверь что файрвол активен
pve-firewall status
</code></pre>
<p>Минимальный набор правил: разреши 22 (SSH) только из твоей подсети, 8006 (Proxmox UI) только с твоего IP, заблокируй всё остальное входящее. Исходящий трафик обычно не ограничивают.</p>
<h3>Fail2ban для защиты SSH</h3>
<pre><code class="language-bash">
apt install fail2ban -y
cat > /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
maxretry = 5
findtime = 600
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemd
EOF
systemctl enable fail2ban
systemctl start fail2ban
# Проверь статус
fail2ban-client status sshd
</code></pre>
<h3>Автоматические обновления безопасности</h3>
<pre><code class="language-bash">
# Установи unattended-upgrades для автоматических security-обновлений
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
# Проверь конфиг
cat /etc/apt/apt.conf.d/50unattended-upgrades | grep -v "^//"
</code></pre>
<h2>Резервное копирование</h2>
<p>Правило, которое я выучил в продакшне: бэкап которого ты не проверял — не бэкап. В Proxmox встроен планировщик, используй его.</p>
<table>
<thead>
<tr>
<th>Что бэкапить</th>
<th>Частота</th>
<th>Хранение</th>
<th>Метод</th>
</tr>
</thead>
<tbody>
<tr>
<td>Все ВМ и LXC</td>
<td>Ежедневно в 02:00</td>
<td>7 последних</td>
<td>vzdump snapshot</td>
</tr>
<tr>
<td>Конфиги Proxmox (/etc/pve)</td>
<td>После каждого изменения</td>
<td>Git-репозиторий</td>
<td>rsync + git commit</td>
</tr>
<tr>
<td>Данные Gitea</td>
<td>Ежедневно</td>
<td>30 копий</td>
<td>Gitea built-in dump</td>
</tr>
<tr>
<td>Home Assistant snapshots</td>
<td>Еженедельно</td>
<td>4 копии</td>
<td>HA Backup addon</td>
</tr>
</tbody>
</table>
<pre><code class="language-bash">
# Ручной бэкап конкретного контейнера
vzdump 101 --storage backup --mode snapshot --compress zstd
# Бэкап всех ВМ и контейнеров
vzdump --all --storage backup --mode snapshot --compress zstd
# Список бэкапов
pvesm list backup
# Восстановление контейнера из бэкапа (через веб или CLI)
# pct restore 101 /mnt/data/dump/vzdump-lxc-101-*.tar.zst --storage local-lvm
</code></pre>
<p>Настрой расписание в веб-интерфейсе: Datacenter — Backup — Add. Выбери все ВМ и контейнеры, время 02:00, хранилище — твой backup storage, retention 7 days. Проверяй что бэкапы создаются — раз в месяц смотри папку /mnt/data/dump/ или папку на USB-диске.</p>
<h2>Мониторинг: что смотреть</h2>
<p>Prometheus + Grafana в отдельной ВМ. Данные с хоста через node_exporter, с Proxmox через <a href="https://github.com/prometheus-pve/prometheus-pve-exporter" target="_blank" rel="nofollow noopener">prometheus-pve-exporter</a>.</p>
<pre><code class="language-bash">
# Установка node_exporter на хост Proxmox
# Проверь актуальную версию на https://github.com/prometheus/node_exporter/releases
NODE_EXPORTER_VERSION="1.9.0"
wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar xvf node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
cp node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64/node_exporter /usr/local/bin/
chmod +x /usr/local/bin/node_exporter
# Создай systemd unit
cat > /etc/systemd/system/node_exporter.service << 'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nobody
ExecStart=/usr/local/bin/node_exporter --collector.systemd
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now node_exporter
# Проверь что работает
curl -s localhost:9100/metrics | head -20
</code></pre>
<p>На графиках вижу: потребление CPU по ядрам, RAM, температуру процессора, I/O дисков, сетевой трафик, аптайм. Температура N100 в обычной нагрузке 45-55 градусов. Под полной нагрузкой — до 72-75. Тротлинга за полгода ни разу не было.</p>
<p>Встроенный <a class="wpil_keyword_link" href="https://it-apteka.com/category/monitoring/" target="_blank" rel="noopener" title="Мониторинг" data-wpil-keyword-link="linked" data-wpil-monitor-id="2939">мониторинг</a> Proxmox тоже полезен — Node — Summary показывает текущую нагрузку, CPU, память, IOPS. Для быстрой проверки достаточно.</p>
<h2>Обновление Proxmox: безопасная процедура</h2>
<p>Обновлять нужно регулярно — особенно патчи безопасности ядра. Делай это по процедуре, не вслепую.</p>
<pre><code class="language-bash">
# Шаг 1: Посмотри что будет обновлено
apt update
apt list --upgradable 2>/dev/null
# Шаг 2: Проверь что нет активных миграций или бэкапов
pveperf
qm list # Убедись что критичные ВМ можно перезапустить
# Шаг 3: Обнови
apt dist-upgrade -y
# Шаг 4: Если обновилось ядро - перезагрузись
# Проверь версию текущего и нового ядра
dpkg -l | grep proxmox-kernel
</code></pre>
<p>Как откатиться при проблемах: Proxmox при обновлении ядра сохраняет предыдущую версию в GRUB. При загрузке выбери Advanced options — предыдущее ядро. Это работает.</p>
<p>Если обновление сломало что-то серьёзное и предыдущее ядро не помогает — восстановление из бэкапа. Поэтому бэкап конфигов Proxmox (/etc/pve) важен так же, как бэкапы ВМ.</p>
<h2>Осложнения: что пошло не так</h2>
"Это
<br />
Не для того чтобы напугать. Для того чтобы ты знал куда смотреть если что-то пойдёт не так. Большинство проблем решаются за 10-15 минут если знаешь причину.<br />
<table>
<thead>
<tr>
<th>Проблема</th>
<th>Причина</th>
<th>Решение</th>
<th>Команда</th>
</tr>
</thead>
<tbody>
<tr>
<td>Proxmox не видит второй NVMe</td>
<td>NVMe slot 2 отключён в BIOS</td>
<td>BIOS — Advanced — Storage — NVMe2 — Enabled</td>
<td>lspci | grep -i nvme</td>
</tr>
<tr>
<td>Веб-интерфейс недоступен после перезагрузки</td>
<td>DHCP назначил другой IP</td>
<td>Зарезервировать IP на роутере или задать статику</td>
<td>ip addr show</td>
</tr>
<tr>
<td>Home Assistant ВМ зависает при suspend</td>
<td>QEMU suspend несовместим с HAOS</td>
<td>VM Options — Disable suspend, Start on boot: yes</td>
<td>qm config 200</td>
</tr>
<tr>
<td>LXC не может монтировать NFS</td>
<td>Unprivileged container без nfs модуля</td>
<td>В конфиг LXC: features: nesting=1,mount=nfs</td>
<td>cat /etc/pve/lxc/101.conf</td>
</tr>
<tr>
<td>Высокая I/O нагрузка при бэкапе — ВМ тормозит</td>
<td>vzdump mode:stop замораживает ВМ</td>
<td>Установить mode:snapshot + QEMU guest agent</td>
<td>vzdump 200 —mode snapshot</td>
</tr>
<tr>
<td>Realtek NIC исчезает после обновления ядра</td>
<td>Драйвер r8169 иногда конфликтует</td>
<td>apt install r8168-dkms или обновить Proxmox</td>
<td>dmesg | grep r81</td>
</tr>
<tr>
<td>Container не стартует — нет памяти</td>
<td>Другие ВМ заняли доступную RAM</td>
<td>Уменьшить RAM для других, включить balloon</td>
<td>free -h && cat /proc/meminfo</td>
</tr>
</tbody>
</table>
<p>Самая неприятная история — Realtek NIC после обновления ядра. Сеть пропала, машина стала недоступна. Пришлось подключать монитор и клавиатуру. Причина: модуль r8169 из нового ядра иногда не видит Realtek 8125 в EQ12. Установка r8168-dkms из Proxmox репозитория решила проблему.</p>
<pre><code class="language-bash">
# Если Realtek NIC пропал после обновления ядра
# Подключись через монитор/клавиатуру
# Установи драйвер
apt install r8168-dkms -y
# Принудительно загрузи модуль
rmmod r8169 2>/dev/null || true
modprobe r8168
# Проверь интерфейс
ip link show
# Если интерфейс есть но без IP
dhclient enp1s0
# или для статики
ip addr add 192.168.1.X/24 dev enp1s0
ip route add default via 192.168.1.1
</code></pre>
<p>Теперь перед обновлением ядра я делаю резервную копию конфигов сети и проверяю что r8168-dkms установлен и актуален.</p>
<h2>Альтернативы: что ещё рассматривал</h2>
<p>Мини-ПК на N100 — не единственный вариант для домашнего лаба. Честное сравнение того, что я смотрел перед покупкой.</p>
<table>
<thead>
<tr>
<th>Вариант</th>
<th>Цена (примерно)</th>
<th>Плюсы</th>
<th>Минусы</th>
<th>Кому подходит</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mini PC на N100 (Beelink EQ12, GMKtec)</td>
<td>~120-150 USD</td>
<td>8-12 Вт, тихий, x86, AES-NI</td>
<td>16 GB RAM лимит, один слот</td>
<td>Большинство домашних лабов</td>
</tr>
<tr>
<td>Mini PC на Ryzen 7730U/7530U</td>
<td>~220-300 USD</td>
<td>До 64 GB RAM, быстрее CPU</td>
<td>25-50 Вт, дороже</td>
<td>Много ВМ, нужно RAM больше 16 GB</td>
</tr>
<tr>
<td>Raspberry Pi 5 (8 GB)</td>
<td>~80 USD</td>
<td>Дёшево, экономично, GPIO</td>
<td>ARM, не все Docker-образы, 8 GB лимит</td>
<td>Лёгкие задачи, IoT, обучение</td>
</tr>
<tr>
<td>Dell Optiplex i5-6xxx SFF б/у</td>
<td>~40-70 USD</td>
<td>Дёшево, 32 GB RAM, PCIe слот</td>
<td>60-80 Вт в покое, шум, старое железо</td>
<td>Нужно PCIe, бюджет минимальный</td>
</tr>
<tr>
<td>HP EliteDesk 800 G4 Mini б/у</td>
<td>~80-120 USD</td>
<td>Компактный, 32 GB, Enterprise-железо</td>
<td>25-40 Вт в покое, сложнее с Linux</td>
<td>Нужна надёжность, больше RAM</td>
</tr>
<tr>
<td>Intel NUC 12 Pro б/у</td>
<td>~150-200 USD</td>
<td>32 GB RAM, быстрый Thunderbolt</td>
<td>30-40 Вт, дороже б/у</td>
<td>Нужна производительность + компактность</td>
</tr>
</tbody>
</table>
<p>Raspberry Pi я не рассматривал серьёзно именно из-за ARM. Звучит странно, но в 2 ночи когда что-то сломалось, ты не хочешь читать «platform: linux/arm64 not supported» в логах Docker. На x86 это не проблема — тянешь любой образ и он работает.</p>
<p>Если нужно больше 16 GB RAM или тяжёлые ВМ Windows — смотри на Ryzen-неттопы. Ryzen 7730U с 64 GB RAM это уже другая история по цене и потреблению, но и возможности другие. Для типичного домашнего лаба с несколькими сервисами N100 закрывает 90% задач.</p>
<h2>Полгода спустя: честный итог</h2>
<p>Машина проработала 183 дня без единого внепланового перезапуска. Были только плановые перезагрузки при обновлении ядра — 3 раза за полгода. До этого мой i5-4570 требовал перезагрузки раз в несколько недель: то обновление, то зависание сервиса, то сам Linux что-то не то делал.</p>
<p>Что поменялось:</p>
<ul>
<li>Шум: пропал. N100 под нагрузкой — тихий шелест который не слышно с метра. Ночью в комнате тихо.</li>
<li>Тепло: старый i5-4570 грел помещение заметно — маленький сервер в шкафу добавлял 1-2 градуса. N100 нет.</li>
<li>Электричество: счёт заметно меньше. Экономия около 8-9 EUR в месяц — небольшая сумма, но приятная.</li>
<li>Надёжность: без сюрпризов. Всё работает как ожидается.</li>
<li>Обслуживание: меньше. Маленькая машина с пассивным охлаждением корпуса и маленьким кулером требует меньше внимания чем ATX-корпус с тремя вентиляторами.</li>
</ul>
<p>Что не изменилось или ухудшилось:</p>
<ul>
<li>Компиляция больших проектов медленнее. Для домашнего лаба не критично.</li>
<li>Лимит RAM в 16 GB. Для моих задач хватает, но масштабировать некуда.</li>
<li>История с Realtek NIC потрепала нервы один раз.</li>
<li>Один слот RAM — нельзя перейти на dual-channel для лучшей производительности памяти.</li>
</ul>
<p>Если бы покупал сейчас — взял бы снова. Возможно посмотрел бы на модели с двумя слотами RAM и чипом Intel для сетевого адаптера вместо Realtek. Но для типичного домашнего лаба это попадание в точку.</p>
<h2>Troubleshooting: частые проблемы</h2>
<table>
<thead>
<tr>
<th>Симптом</th>
<th>Что проверить</th>
<th>Команда диагностики</th>
</tr>
</thead>
<tbody>
<tr>
<td>ВМ/LXC не стартует</td>
<td>Достаточно ли RAM и места на диске</td>
<td>free -h && df -h</td>
</tr>
<tr>
<td>Низкая производительность VM</td>
<td>CPU pinning, balloon memory, virtio-scsi</td>
<td>top внутри VM, iostat -xz</td>
</tr>
<tr>
<td>Сеть не работает в LXC</td>
<td>Bridge настройки, veth интерфейс</td>
<td>ip link show && brctl show</td>
</tr>
<tr>
<td>Proxmox веб недоступен</td>
<td>Сервис pveproxy запущен?</td>
<td>systemctl status pveproxy</td>
</tr>
<tr>
<td>Высокая температура CPU</td>
<td>Загрязнение кулера или перегруженный CPU</td>
<td>sensors && top</td>
</tr>
<tr>
<td>NVMe диск не виден</td>
<td>BIOS: включён ли слот</td>
<td>lspci | grep -i nvme</td>
</tr>
<tr>
<td>После обновления ядра нет сети</td>
<td>Драйвер r8169/r8168</td>
<td>dmesg | grep -E «r81|eth|enp»</td>
</tr>
<tr>
<td>Бэкап не создаётся, ошибка lock</td>
<td>Предыдущий vzdump завис</td>
<td>ls /var/lock/vzdump.lck && rm если процесса нет</td>
</tr>
</tbody>
</table>
<h3>Полезные команды для диагностики</h3>
<pre><code class="language-bash">
# Состояние всех ВМ и контейнеров
qm list
pct list
# Текущая нагрузка хоста
pvesh get /nodes/$(hostname)/status --output-format yaml
# Температура процессора
cat /sys/class/thermal/thermal_zone0/temp | awk '{print $1/1000 "C"}'
# Нагрузка на диски
iostat -xz 1 5
# Журнал Proxmox
journalctl -u pvedaemon -n 50 --no-pager
# Свободная память с деталями
free -h
cat /proc/meminfo | grep -E "MemFree|MemAvailable|Cached|Buffers"
# Проверь что все сервисы Proxmox запущены
systemctl list-units pve* --all --no-pager
# Список бэкапов
pvesm list backup 2>/dev/null || ls -lh /mnt/data/dump/
# Проверь виртуализацию
grep -m1 vmx /proc/cpuinfo && echo "VT-x OK" || echo "VT-x не найден"
dmesg | grep -i "IOMMU" | head -5
</code></pre>
<h2>FAQ</h2>
<h3>Сколько виртуальных машин потянет N100?</h3>
<p>Зависит от задач. LXC-контейнеры: 8-10 лёгких одновременно без проблем. Полноценных KVM-ВМ с 2 GB RAM каждая — 4-5, упрёшься в лимит 16 GB. ВМ с 512 MB — до 8-10 если задачи не CPU-интенсивные. Узкое место всегда RAM, не CPU. LXC в 2-3 раза эффективнее по памяти — используй где возможно.</p>
<h3>Можно ли использовать N100 как роутер вместо MikroTik?</h3>
<p>Да, популярный сценарий. OPNsense или pfSense на N100 с двумя LAN-портами — полноценный домашний роутер с файрволом, VLAN, VPN, IDS/IPS. Производительности хватает для гигабитного линка. Beelink EQ12 с двумя портами (2.5 GbE + 1 GbE) под это и создан. Из минусов: в случае сбоя Proxmox ты остаёшься без сети полностью — подумай об этом если критична доступность.</p>
<h3>N100 vs N150: стоит ли переплачивать?</h3>
<p>N150 — следующее поколение той же линейки Alder Lake-N. Чуть быстрее, более новые iGPU, та же идеология. Если цена отличается на 20-30 USD — можно взять N150. Если разница больше 50 USD — N100 для большинства домашних задач хватит. Для сравнения: N150 даёт прирост примерно 15-20% по CPU производительности, потребление почти такое же.</p>
<h3>Как проверить что виртуализация включена?</h3>
<pre><code class="language-bash">
# Проверить поддержку VT-x
grep -m1 vmx /proc/cpuinfo && echo "VT-x OK" || echo "VT-x отключен"
# Проверить что KVM загружен
lsmod | grep kvm
# Должно показать kvm и kvm_intel
# Проверить VT-d (IOMMU)
dmesg | grep -i "IOMMU enabled"
# Или
cat /proc/cmdline | grep iommu
</code></pre>
<h3>Что делать если нужно больше 16 GB RAM?</h3>
<p>N100 поддерживает только один слот, максимум 16 GB — это архитектурное ограничение чипа. Единственный вариант масштабирования — другое железо. Смотри на Ryzen 7730U, 7530U мини-ПК: два слота, до 64 GB DDR5, реальное потребление 25-50 Вт. Цена в 1.5-2 раза выше чем N100. Для задач где действительно нужно 32+ GB — это оправданная инвестиция.</p>
<h3>Нужен ли ИБП для мини-ПК?</h3>
<p>Если <a title="Docker volumes: как хранить данные контейнеров и не потерять их после prune" href="https://it-apteka.com/docker-volumes-kak-hranit-dannye-kontejnerov-i-ne-poterjat-ih-posle-prune/" target="_blank" rel="noopener" data-wpil-monitor-id="2926">хранишь важные данные</a> — да. При внезапном отключении питания NVMe диск может потерять данные в write-back буфере. APC Back-UPS 600VA при потреблении N100 в 12 Вт даёт около 40-50 минут автономии. Этого достаточно чтобы Proxmox успел корректно завершить работу по событию power failure. Настрой NUT (Network UPS Tools) для автоматического shutdown при потере питания.</p>
<h3>Как проверить что бэкапы работают?</h3>
<pre><code class="language-bash">
# Проверь что бэкапы создаются
ls -lth /mnt/data/dump/ | head -20
# Проверь размер последних бэкапов - он должен быть ненулевым
du -sh /mnt/data/dump/vzdump-*
# Проверь журнал задания бэкапа
journalctl -u vzdump -n 50 --no-pager
# Тест восстановления - создай тестовый контейнер из бэкапа
# Делай это раз в 1-2 месяца чтобы убедиться что бэкапы рабочие
pct restore 999 /mnt/data/dump/vzdump-lxc-101-latest.tar.zst --storage local-lvm
pct start 999
# Проверь что всё работает
pct destroy 999
</code></pre>
<h2>Что в итоге</h2>
<p>Мини-ПК на N100 закрыл задачу полностью. 183 дня аптайма, тихая работа, минимальный счёт за электричество. Если у тебя дома стоит старый сервер который работает 24/7 и потребляет 80-100 ватт ради трёх-четырёх лёгких сервисов — посчитай стоимость электричества за год. Скорее всего мини-ПК окупится за 1-1.5 года только на экономии.</p>
<p>Единственное что сделал бы иначе — сразу проверил бы работу второго NVMe-слота до покупки второго SSD, и уточнил производителя сетевого чипа. Час с монитором и клавиатурой чтобы включить параметр в BIOS или разбираться с драйвером Realtek после обновления ядра — это потеря времени которую легко избежать.</p>
"Если
<br />
Пиши в комментариях. За полгода эксплуатации N100 на Proxmox я видел достаточно граблей чтобы помочь с большинством типичных проблем.<br />
Коротко: что получилось
Взял Beelink EQ12 на Intel N100 за ~120 долларов. Поставил Proxmox, запустил 3 LXC-контейнера и 2 лёгкие ВМ. Потребление упало с 90 до 10-12 ватт. Шума нет. Всё работает полгода без единого внепланового перезапуска. Если твой старый сервер стоит дома и трещит вентиляторами — читай дальше.
Откуда вообще взялась идея
У меня дома стоял старый десктоп на Core i5-4570. Сервер в прямом смысле — там жили Pi-hole, WireGuard, Gitea и пара мониторинговых контейнеров. Работало стабильно. Но машина потребляла около 90 ватт в покое, шумела вентиляторами, и каждый раз когда я в 3 ночи ложился спать, думал: «за что я плачу в счёте за свет».
Полгода назад наткнулся на обзоры мини-ПК на Intel N100. Почитал, посмотрел цифры по потреблению — не поверил. 8-12 ватт для полноценного x86 сервера? Это меньше чем лампочка. Решил проверить сам.
Расскажу не про «купил-поставил-всё заработало», а про реальные полгода эксплуатации. С граблями, с ограничениями, с цифрами из розетки. Потому что документация которая отвечает на вопрос «что» но не «почему» — это то что меня бесит больше всего.
Что такое Intel N100: по сути
N100 — это чип из линейки Alder Lake-N. Четыре ядра Gracemont без Performance-ядер — только E-cores. Intel позиционировал его как замену Celeron для встроенных систем, промышленных компьютеров и тонких клиентов. Сообщество homelab его подхватило по другой причине — соотношение производительности к потреблению.
E-cores — не урезанные ядра. Это архитектурно другой подход: ядра оптимизированы для работы в диапазоне частот 800 MHz — 3.4 GHz с минимальным потреблением на низких нагрузках. В покое процессор буквально сидит на 800 MHz и ест считанные ватты. Под нагрузкой поднимается до 3.4 GHz и там работает нормально для серверных задач.
| Характеристика |
Intel N100 |
Core i5-4570 (мой старый) |
Примечание |
| Ядра / потоки |
4 / 4 |
4 / 4 |
Одинаково |
| Базовая частота |
0.8 GHz |
3.2 GHz |
N100 агрессивно снижает |
| Boost частота |
3.4 GHz |
3.6 GHz |
Примерно одинаково |
| TDP |
6 Вт |
84 Вт |
В 14 раз меньше |
| Реальное потребление системы в покое |
8-12 Вт |
85-95 Вт |
Измерял ваттметром |
| Поддержка AES-NI |
Да |
Да |
WireGuard летит |
| Поддержка VT-x / VT-d |
Да |
Да |
Нужно включить в BIOS |
| Quick Sync (видео) |
Есть (Gen12 iGPU) |
Нет |
Для Jellyfin полезно |
| Максимум RAM |
16 GB (один слот) |
32 GB (два слота) |
Это главный лимит N100 |
| Тип памяти |
DDR5-4800 / LPDDR5 |
DDR3 |
— |
Смотришь на базовую частоту 0.8 GHz и думаешь: это шутка? Нет. Это режим глубокого простоя. Для серверных задач важна частота под нагрузкой, а не в покое. При нагрузке N100 поднимается до 3.4 GHz и там работает нормально.
Вот тут ключевое: N100 построен на архитектуре x86. Не ARM. Не RISC-V. Любой Docker-образ для linux/amd64 запустится без эмуляции и без магических флагов. В 2 ночи во время инцидента это дорогого стоит.
Что я взял и сколько это стоило
Выбирал между тремя вариантами: Beelink EQ12, Minisforum UN100 и GMKtec M5. Смотрел на наличие двух M.2 слотов, два сетевых порта и алюминиевый корпус — последнее для пассивного охлаждения корпуса при долгой работе.
Взял Beelink EQ12 Pro с 16 GB RAM и 500 GB NVMe. Добавил второй SSD Kingston NV3 1TB для данных ВМ.
| Компонент |
Что взял |
Цена (на момент покупки) |
| Мини-ПК |
Beelink EQ12 Pro (N100, 16 GB, 500 GB NVMe) |
~120-140 USD |
| Дополнительный SSD |
Kingston NV3 1TB M.2 2242 |
~50 USD |
| ИБП |
APC BE600M1 (был в наличии) |
0 (уже был) |
| Итого |
— |
~170-190 USD |
Для сравнения: мой старый i5-4570 потреблял ~93 Вт в среднем. При тарифе 0.18 EUR/кВтч это около 146 EUR в год только за электричество. Мини-ПК окупился за 13-14 месяцев только на счёте за свет.
Размеры и физические параметры
Beelink EQ12 Pro: 126 x 113 x 40 мм. Вес около 600 грамм. Корпус — алюминий с пластиковыми вставками. Активный кулер есть, но маленький — под нагрузкой издаёт тихий шелест примерно как USB-хаб. В закрытой комнате ночью почти не слышно.
Для сравнения — мой старый сервер: ATX-корпус полного размера, три 80мм вентилятора, плюс система охлаждения процессора. Ночью слышно через закрытую дверь.
Что запущено и схема работы
%%{init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#ffffff',
'primaryTextColor': '#1e293b',
'primaryBorderColor': '#94a3b8',
'lineColor': '#64748b',
'fontSize': '15px',
'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
},
'flowchart': {'curve': 'linear', 'nodeSpacing': 50, 'rankSpacing': 50}
}}%%
flowchart TD
A["Beelink EQ12 Pro - N100 16GB RAM"] --> B["Proxmox VE 8.x"]
B --> C["LXC 101: Pi-hole - 256MB"]
B --> D["LXC 102: WireGuard - 128MB"]
B --> E["LXC 103: Gitea - 512MB"]
B --> F["VM 200: Home Assistant OS - 2GB"]
B --> G["VM 201: Debian - Prometheus+Grafana - 1GB"]
style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
style B fill:#f8fafc,stroke:#64748b,stroke-width:2px,color:#1e293b
style C fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style D fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style E fill:#f0fdf4,stroke:#22c55e,stroke-width:1px,color:#15803d
style F fill:#fefce8,stroke:#f97316,stroke-width:1px,color:#9a3412
style G fill:#fefce8,stroke:#f97316,stroke-width:1px,color:#9a3412
LXC-контейнеры едят меньше памяти, чем полные ВМ — это ключевое при лимите в 16 GB. Pi-hole сидит в 256 MB, WireGuard в 128 MB, Gitea 512 MB. Home Assistant требует полноценную ВМ — там 2 GB. Debian для мониторинга — 1 GB. В постоянной нагрузке занято около 4.5 GB из 16. Остальное Proxmox использует как кеш файловой системы — не простаивает.
Почему LXC, а не Docker на хосте напрямую? Proxmox даёт изоляцию, удобное управление снапшотами и бэкапами для каждого сервиса отдельно. Если Pi-hole что-то сломалось — откатил только его, не трогая остальные. Docker напрямую на хосте так не умеет.
Установка Proxmox: что надо знать заранее
Proxmox на N100 ставится как на обычное железо — никаких специальных плясок. Но есть несколько моментов которые сэкономят тебе время.
Системные требования
| Компонент |
Минимум |
Рекомендую |
Моя конфигурация |
| CPU |
N100 (любой вариант) |
N100 с VT-d в BIOS |
Beelink EQ12 Pro |
| RAM |
8 GB |
16 GB |
16 GB DDR5 |
| Системный диск |
32 GB SSD |
256+ GB NVMe |
500 GB NVMe (OS + VM) |
| Диск для данных |
Необязательно |
Отдельный NVMe |
1 TB NVMe Kingston NV3 |
| Версия Proxmox VE |
9.0 |
Последняя 9.x |
9.1 на момент написания |
На момент публикации актуальна Proxmox VE 8.x. Перед установкой проверь свежие релизы на официальном сайте — версии обновляются регулярно.
Шаг 1. Включи виртуализацию в BIOS
Без этого шага всё остальное не имеет смысла. Войди в BIOS при загрузке — на Beelink это Delete. Найди Advanced — CPU Configuration. Включи Intel Virtualization Technology и Intel VT for Directed I/O (VT-d). Без VT-d PCIe passthrough работать не будет — если планируешь прокидывать USB-устройства или сетевые карты в ВМ, нужен именно VT-d.
На Beelink EQ12 по умолчанию виртуализация включена, но VT-d иногда нет. Проверь оба пункта.
Шаг 2. Скачай ISO и запиши на флешку
Иди на proxmox.com, скачай ISO актуальной версии. Запиши через Balena Etcher на флешку от 8 GB. Важно: пиши в режиме DD, не как загрузочный том Windows — иначе UEFI может не увидеть флешку.
Шаг 3. Установка
Загрузись с флешки. Установщик графический, стандартный. Выбери диск, задай пароль root, укажи hostname, IP-адрес, шлюз и DNS. Сразу задавай статический IP — DHCP для сервера который работает 24/7 это источник неожиданностей в 3 ночи.
Если у тебя два NVMe диска — ставь Proxmox на первый (меньший или тот что будет системным), второй оставь для данных ВМ. Разделять системный диск и диски с данными ВМ — хорошая практика, она упрощает переезд и бэкапы.
Шаг 4. Убери subscription-напоминание
# После установки - отключи subscription nag-screen
# Это законно для домашнего использования, подписка нужна для Enterprise
sed -i.bak "s/data.status !== 'Active'/false/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
Шаг 5. Переключи репозитории на no-subscription
По умолчанию Proxmox смотрит на Enterprise-репозитории. Без подписки обновления оттуда не придут — ты будешь сидеть на старой версии. Переключи на no-subscription репозитории.
# Отключи enterprise репо
echo "# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list
# Отключи ceph enterprise если не используешь
echo "# deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise" > /etc/apt/sources.list.d/ceph.list
# Добавь no-subscription репо
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Обнови систему
apt update && apt dist-upgrade -y
Шаг 6. Добавь второй диск как хранилище
Если у тебя два NVMe — второй нужно добавить в Proxmox как хранилище для ВМ.
# Посмотри какие диски есть
lsblk
# Создай раздел на втором диске (замени /dev/nvme1n1 на свой диск)
fdisk /dev/nvme1n1
# Нажми n, p, Enter, Enter, Enter, w
# Отформатируй
mkfs.ext4 /dev/nvme1n1p1
# Добавь точку монтирования
mkdir -p /mnt/data
# Добавь в fstab (замени UUID на свой из blkid)
blkid /dev/nvme1n1p1
echo "UUID=ТВОЙ-UUID /mnt/data ext4 defaults 0 2" >> /etc/fstab
mount -a
После этого в веб-интерфейсе: Datacenter — Storage — Add — Directory. Путь /mnt/data, выбери типы: Disk image, Container, Backup. Теперь ВМ можно создавать на втором диске.
Шаг 7. Скачай шаблоны LXC и создай первый контейнер
# Обнови список шаблонов
pveam update
# Посмотри доступные шаблоны
pveam available | grep -E "debian|ubuntu|alpine"
# Скачай шаблон Debian 12
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
Дальше через веб-интерфейс: Create CT, выбери шаблон, задай ресурсы. Для Pi-hole достаточно 1 vCPU, 256 MB RAM, 4 GB диск. Unprivileged container — да, если нет специфических требований.
Потребление электричества: реальные цифры
Вот тут самое интересное. Замерял ваттметром розеточным — не программным из /proc. Программные данные врут примерно на 15-20% в меньшую сторону потому что не учитывают потери блока питания и фоновые процессы BIOS.
| Режим работы |
Beelink EQ12 Pro (N100) |
Старый i5-4570 (ATX) |
Разница |
| Idle — Proxmox без ВМ |
8-9 Вт |
85-88 Вт |
-77 Вт |
| Типичная нагрузка (3 LXC + 2 VM, CPU ~10-15%) |
11-14 Вт |
92-98 Вт |
-82 Вт |
| Средняя нагрузка (активные запросы, CPU ~30-40%) |
15-18 Вт |
100-110 Вт |
-87 Вт |
| Пиковая нагрузка (apt upgrade во всех ВМ, CPU ~90%) |
22-26 Вт |
110-125 Вт |
-90 Вт |
Расчёт экономии за год
Тариф в Финляндии на момент подсчёта — около 0.12-0.20 EUR/кВтч в зависимости от времени суток. Считаю по среднему 0.15 EUR/кВтч и 24/7 работе.
| Машина |
Среднее потребление |
кВтч/год |
Стоимость/год (0.15 EUR) |
| i5-4570 |
93 Вт |
815 кВтч |
~122 EUR |
| N100 |
12 Вт |
105 кВтч |
~16 EUR |
| Экономия |
81 Вт |
710 кВтч |
~106 EUR/год |
170 долларов на железо. Окупаемость за счёт экономии электричества — примерно 14-16 месяцев. После этого мини-ПК начинает зарабатывать. Это без учёта стоимости охлаждения помещения летом — старый сервер грел комнату ощутимо, N100 нет.
Производительность: где хватает, где нет
Честный разговор про ограничения важнее красивых цифр в маркетинге.
Что N100 делает хорошо — и почему
Сетевые сервисы — Pi-hole, AdGuard Home, CoreDNS, Unbound — N100 вообще не заметит. DNS-запрос обрабатывается за микросекунды, даже 10 000 запросов в секунду для N100 это не нагрузка. WireGuard с AES-NI hardware acceleration работает на полной скорости гигабитного линка без задержек. Я гонял iperf3 через WireGuard-туннель — 900+ Mbit/s, CPU при этом на 8-12%.
Веб-приложения с небольшой базой пользователей: Gitea, Vaultwarden, Nextcloud (без тяжёлых превью), Bitwarden, Home Assistant. При 3-5 одновременных сессиях всё работает быстро. Gitea с 20+ репозиториями отвечает нормально. Nextcloud с 5 пользователями без проблем.
Docker и LXC контейнеры запускаются быстро. Node.js, Python Flask/FastAPI, Go-приложения работают без вопросов. Если приложение нетребовательное к CPU и нормально написано — N100 справится.
Транскодинг через Intel Quick Sync — один поток 1080p без проблем. Jellyfin с одним активным пользователем работает без заиканий. Quick Sync снимает нагрузку с CPU и перекладывает на iGPU.
Где N100 начинает задыхаться
Компиляция больших проектов. 4 E-core под компиляцию ядра Linux: на моей старой машине i5-4570 ядро собиралось за 12 минут, на N100 — за 38. В 3 раза медленнее. Для продакшн CI/CD это критично. Для домашнего лаба где ты компилируешь раз в неделю — переживёшь.
Множество тяжёлых ВМ одновременно. Главный лимит — не CPU, а RAM. 16 GB и один слот — потолок. Если хочешь 8 полноценных ВМ с 2 GB каждая — 16 GB просто не хватит. LXC-контейнеры в 2-3 раза эффективнее по памяти — используй их где возможно.
PostgreSQL или MySQL с большой нагрузкой. Для домашней Gitea с 5 пользователями — нормально. Для базы с тысячами транзакций в секунду — нет. N100 физически имеет медленную однопоточную производительность E-cores по сравнению с P-cores десктопных процессоров. Базы данных очень чувствительны к задержкам на отдельных запросах.
4K транскодинг нескольких потоков. Один 4K поток через Quick Sync — окей. Два-три одновременных 4K потока или конвертация 4K HDR в 1080p SDR на двух потоках параллельно уже создаёт заметные задержки.
Тест: что реально запущено и как себя чувствует
| Сервис |
Тип |
RAM выделено |
RAM факт |
CPU в покое |
Ощущения |
| Pi-hole |
LXC Debian 12 |
256 MB |
~120 MB |
0.5-1% |
Летает |
| WireGuard |
LXC Alpine 3.19 |
128 MB |
~80 MB |
0.1-0.5% |
Без замечаний |
| Gitea |
LXC Debian 12 |
512 MB |
~350 MB |
0.5-2% |
Нормально |
| Home Assistant OS |
VM KVM |
2 GB |
~1.4 GB |
2-5% |
Нормально |
| Debian (Prometheus + Grafana) |
VM KVM |
1 GB |
~800 MB |
1-3% |
Нормально |
В обычный день CPU загружен на 5-15%. Памяти занято 4.5-5.5 GB из 16. Узкое место — не CPU и не RAM, а скорость NVMe при одновременных тяжёлых I/O операциях. Когда Gitea делает git clone большого репозитория, а в это время Proxmox снимает снапшот ВМ — вот тут иногда замечаешь небольшие задержки.
Портовый и сетевой расклад
| Порт / интерфейс |
Назначение |
Примечание |
| enp1s0 (2.5 GbE Realtek 8125) |
Основная сеть, Proxmox management |
Главный порт |
| enp2s0 (1 GbE Intel) |
Резерв / отдельный VLAN |
Пока не использую |
| USB 3.0 x2 |
Внешний диск для бэкапов |
USB-HDD 2TB WD |
| M.2 NVMe slot 1 |
500 GB — OS Proxmox + системные ВМ |
Родной диск |
| M.2 NVMe slot 2 |
1 TB Kingston — данные ВМ, бэкапы |
Добавил сам |
| HDMI + DP |
Не используются |
Headless после установки |
Два сетевых интерфейса открывают интересный сценарий: поставить OPNsense или pfSense в ВМ и сделать из мини-ПК полноценный домашний роутер с файрволом. N100 для этого более чем достаточен — гигабитный линк через soft routing с фильтрацией пакетов CPU тянет без потоотделения.
Безопасность: что настроил сразу
Не пропускай этот раздел
Proxmox по умолчанию открыт широко. Веб-интерфейс на порту 8006 доступен всем в локальной
сети. Если машина смотрит в
интернет или в домашней сети есть IoT-устройства — базовую защиту ставь в первый день.
SSH hardening
# Отключи аутентификацию по паролю - только ключи
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# Перезапусти SSH
systemctl restart sshd
# Проверь что настройки применились
sshd -T | grep -E "permitrootlogin|passwordauthentication"
Добавь свой публичный ключ до того как закрываешь аутентификацию по паролю. Иначе потеряешь доступ по SSH и придётся идти к монитору.
# Добавь свой публичный ключ (выполняй с рабочей машины)
ssh-copy-id root@IP_PROXMOX
# Или вручную на сервере
mkdir -p ~/.ssh
echo "ssh-ed25519 AAAA... твой_ключ" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Встроенный файрвол Proxmox
Proxmox имеет встроенный файрвол на основе iptables. Включи его в Datacenter — Firewall — Options — Firewall: Yes. По умолчанию он в режиме ACCEPT на Datacenter уровне — настрой правила.
# Посмотри текущие правила
cat /etc/pve/firewall/cluster.fw
# Пример конфига кластерного файрвола
# Редактируй через веб-интерфейс или напрямую в файле
# Проверь что файрвол активен
pve-firewall status
Минимальный набор правил: разреши 22 (SSH) только из твоей подсети, 8006 (Proxmox UI) только с твоего IP, заблокируй всё остальное входящее. Исходящий трафик обычно не ограничивают.
Fail2ban для защиты SSH
apt install fail2ban -y
cat > /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
maxretry = 5
findtime = 600
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = systemd
EOF
systemctl enable fail2ban
systemctl start fail2ban
# Проверь статус
fail2ban-client status sshd
Автоматические обновления безопасности
# Установи unattended-upgrades для автоматических security-обновлений
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
# Проверь конфиг
cat /etc/apt/apt.conf.d/50unattended-upgrades | grep -v "^//"
Резервное копирование
Правило, которое я выучил в продакшне: бэкап которого ты не проверял — не бэкап. В Proxmox встроен планировщик, используй его.
| Что бэкапить |
Частота |
Хранение |
Метод |
| Все ВМ и LXC |
Ежедневно в 02:00 |
7 последних |
vzdump snapshot |
| Конфиги Proxmox (/etc/pve) |
После каждого изменения |
Git-репозиторий |
rsync + git commit |
| Данные Gitea |
Ежедневно |
30 копий |
Gitea built-in dump |
| Home Assistant snapshots |
Еженедельно |
4 копии |
HA Backup addon |
# Ручной бэкап конкретного контейнера
vzdump 101 --storage backup --mode snapshot --compress zstd
# Бэкап всех ВМ и контейнеров
vzdump --all --storage backup --mode snapshot --compress zstd
# Список бэкапов
pvesm list backup
# Восстановление контейнера из бэкапа (через веб или CLI)
# pct restore 101 /mnt/data/dump/vzdump-lxc-101-*.tar.zst --storage local-lvm
Настрой расписание в веб-интерфейсе: Datacenter — Backup — Add. Выбери все ВМ и контейнеры, время 02:00, хранилище — твой backup storage, retention 7 days. Проверяй что бэкапы создаются — раз в месяц смотри папку /mnt/data/dump/ или папку на USB-диске.
Мониторинг: что смотреть
Prometheus + Grafana в отдельной ВМ. Данные с хоста через node_exporter, с Proxmox через prometheus-pve-exporter.
# Установка node_exporter на хост Proxmox
# Проверь актуальную версию на https://github.com/prometheus/node_exporter/releases
NODE_EXPORTER_VERSION="1.9.0"
wget https://github.com/prometheus/node_exporter/releases/download/v${NODE_EXPORTER_VERSION}/node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
tar xvf node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64.tar.gz
cp node_exporter-${NODE_EXPORTER_VERSION}.linux-amd64/node_exporter /usr/local/bin/
chmod +x /usr/local/bin/node_exporter
# Создай systemd unit
cat > /etc/systemd/system/node_exporter.service << 'EOF'
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=nobody
ExecStart=/usr/local/bin/node_exporter --collector.systemd
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now node_exporter
# Проверь что работает
curl -s localhost:9100/metrics | head -20
На графиках вижу: потребление CPU по ядрам, RAM, температуру процессора, I/O дисков, сетевой трафик, аптайм. Температура N100 в обычной нагрузке 45-55 градусов. Под полной нагрузкой — до 72-75. Тротлинга за полгода ни разу не было.
Встроенный мониторинг Proxmox тоже полезен — Node — Summary показывает текущую нагрузку, CPU, память, IOPS. Для быстрой проверки достаточно.
Обновление Proxmox: безопасная процедура
Обновлять нужно регулярно — особенно патчи безопасности ядра. Делай это по процедуре, не вслепую.
# Шаг 1: Посмотри что будет обновлено
apt update
apt list --upgradable 2>/dev/null
# Шаг 2: Проверь что нет активных миграций или бэкапов
pveperf
qm list # Убедись что критичные ВМ можно перезапустить
# Шаг 3: Обнови
apt dist-upgrade -y
# Шаг 4: Если обновилось ядро - перезагрузись
# Проверь версию текущего и нового ядра
dpkg -l | grep proxmox-kernel
Как откатиться при проблемах: Proxmox при обновлении ядра сохраняет предыдущую версию в GRUB. При загрузке выбери Advanced options — предыдущее ядро. Это работает.
Если обновление сломало что-то серьёзное и предыдущее ядро не помогает — восстановление из бэкапа. Поэтому бэкап конфигов Proxmox (/etc/pve) важен так же, как бэкапы ВМ.
Осложнения: что пошло не так
Это случилось у меня - может случиться у тебя
Не для того чтобы напугать. Для того чтобы ты знал куда смотреть если что-то пойдёт не так. Большинство проблем решаются за 10-15 минут если знаешь причину.
| Проблема |
Причина |
Решение |
Команда |
| Proxmox не видит второй NVMe |
NVMe slot 2 отключён в BIOS |
BIOS — Advanced — Storage — NVMe2 — Enabled |
lspci | grep -i nvme |
| Веб-интерфейс недоступен после перезагрузки |
DHCP назначил другой IP |
Зарезервировать IP на роутере или задать статику |
ip addr show |
| Home Assistant ВМ зависает при suspend |
QEMU suspend несовместим с HAOS |
VM Options — Disable suspend, Start on boot: yes |
qm config 200 |
| LXC не может монтировать NFS |
Unprivileged container без nfs модуля |
В конфиг LXC: features: nesting=1,mount=nfs |
cat /etc/pve/lxc/101.conf |
| Высокая I/O нагрузка при бэкапе — ВМ тормозит |
vzdump mode:stop замораживает ВМ |
Установить mode:snapshot + QEMU guest agent |
vzdump 200 —mode snapshot |
| Realtek NIC исчезает после обновления ядра |
Драйвер r8169 иногда конфликтует |
apt install r8168-dkms или обновить Proxmox |
dmesg | grep r81 |
| Container не стартует — нет памяти |
Другие ВМ заняли доступную RAM |
Уменьшить RAM для других, включить balloon |
free -h && cat /proc/meminfo |
Самая неприятная история — Realtek NIC после обновления ядра. Сеть пропала, машина стала недоступна. Пришлось подключать монитор и клавиатуру. Причина: модуль r8169 из нового ядра иногда не видит Realtek 8125 в EQ12. Установка r8168-dkms из Proxmox репозитория решила проблему.
# Если Realtek NIC пропал после обновления ядра
# Подключись через монитор/клавиатуру
# Установи драйвер
apt install r8168-dkms -y
# Принудительно загрузи модуль
rmmod r8169 2>/dev/null || true
modprobe r8168
# Проверь интерфейс
ip link show
# Если интерфейс есть но без IP
dhclient enp1s0
# или для статики
ip addr add 192.168.1.X/24 dev enp1s0
ip route add default via 192.168.1.1
Теперь перед обновлением ядра я делаю резервную копию конфигов сети и проверяю что r8168-dkms установлен и актуален.
Альтернативы: что ещё рассматривал
Мини-ПК на N100 — не единственный вариант для домашнего лаба. Честное сравнение того, что я смотрел перед покупкой.
| Вариант |
Цена (примерно) |
Плюсы |
Минусы |
Кому подходит |
| Mini PC на N100 (Beelink EQ12, GMKtec) |
~120-150 USD |
8-12 Вт, тихий, x86, AES-NI |
16 GB RAM лимит, один слот |
Большинство домашних лабов |
| Mini PC на Ryzen 7730U/7530U |
~220-300 USD |
До 64 GB RAM, быстрее CPU |
25-50 Вт, дороже |
Много ВМ, нужно RAM больше 16 GB |
| Raspberry Pi 5 (8 GB) |
~80 USD |
Дёшево, экономично, GPIO |
ARM, не все Docker-образы, 8 GB лимит |
Лёгкие задачи, IoT, обучение |
| Dell Optiplex i5-6xxx SFF б/у |
~40-70 USD |
Дёшево, 32 GB RAM, PCIe слот |
60-80 Вт в покое, шум, старое железо |
Нужно PCIe, бюджет минимальный |
| HP EliteDesk 800 G4 Mini б/у |
~80-120 USD |
Компактный, 32 GB, Enterprise-железо |
25-40 Вт в покое, сложнее с Linux |
Нужна надёжность, больше RAM |
| Intel NUC 12 Pro б/у |
~150-200 USD |
32 GB RAM, быстрый Thunderbolt |
30-40 Вт, дороже б/у |
Нужна производительность + компактность |
Raspberry Pi я не рассматривал серьёзно именно из-за ARM. Звучит странно, но в 2 ночи когда что-то сломалось, ты не хочешь читать «platform: linux/arm64 not supported» в логах Docker. На x86 это не проблема — тянешь любой образ и он работает.
Если нужно больше 16 GB RAM или тяжёлые ВМ Windows — смотри на Ryzen-неттопы. Ryzen 7730U с 64 GB RAM это уже другая история по цене и потреблению, но и возможности другие. Для типичного домашнего лаба с несколькими сервисами N100 закрывает 90% задач.
Полгода спустя: честный итог
Машина проработала 183 дня без единого внепланового перезапуска. Были только плановые перезагрузки при обновлении ядра — 3 раза за полгода. До этого мой i5-4570 требовал перезагрузки раз в несколько недель: то обновление, то зависание сервиса, то сам Linux что-то не то делал.
Что поменялось:
- Шум: пропал. N100 под нагрузкой — тихий шелест который не слышно с метра. Ночью в комнате тихо.
- Тепло: старый i5-4570 грел помещение заметно — маленький сервер в шкафу добавлял 1-2 градуса. N100 нет.
- Электричество: счёт заметно меньше. Экономия около 8-9 EUR в месяц — небольшая сумма, но приятная.
- Надёжность: без сюрпризов. Всё работает как ожидается.
- Обслуживание: меньше. Маленькая машина с пассивным охлаждением корпуса и маленьким кулером требует меньше внимания чем ATX-корпус с тремя вентиляторами.
Что не изменилось или ухудшилось:
- Компиляция больших проектов медленнее. Для домашнего лаба не критично.
- Лимит RAM в 16 GB. Для моих задач хватает, но масштабировать некуда.
- История с Realtek NIC потрепала нервы один раз.
- Один слот RAM — нельзя перейти на dual-channel для лучшей производительности памяти.
Если бы покупал сейчас — взял бы снова. Возможно посмотрел бы на модели с двумя слотами RAM и чипом Intel для сетевого адаптера вместо Realtek. Но для типичного домашнего лаба это попадание в точку.
Troubleshooting: частые проблемы
| Симптом |
Что проверить |
Команда диагностики |
| ВМ/LXC не стартует |
Достаточно ли RAM и места на диске |
free -h && df -h |
| Низкая производительность VM |
CPU pinning, balloon memory, virtio-scsi |
top внутри VM, iostat -xz |
| Сеть не работает в LXC |
Bridge настройки, veth интерфейс |
ip link show && brctl show |
| Proxmox веб недоступен |
Сервис pveproxy запущен? |
systemctl status pveproxy |
| Высокая температура CPU |
Загрязнение кулера или перегруженный CPU |
sensors && top |
| NVMe диск не виден |
BIOS: включён ли слот |
lspci | grep -i nvme |
| После обновления ядра нет сети |
Драйвер r8169/r8168 |
dmesg | grep -E «r81|eth|enp» |
| Бэкап не создаётся, ошибка lock |
Предыдущий vzdump завис |
ls /var/lock/vzdump.lck && rm если процесса нет |
Полезные команды для диагностики
# Состояние всех ВМ и контейнеров
qm list
pct list
# Текущая нагрузка хоста
pvesh get /nodes/$(hostname)/status --output-format yaml
# Температура процессора
cat /sys/class/thermal/thermal_zone0/temp | awk '{print $1/1000 "C"}'
# Нагрузка на диски
iostat -xz 1 5
# Журнал Proxmox
journalctl -u pvedaemon -n 50 --no-pager
# Свободная память с деталями
free -h
cat /proc/meminfo | grep -E "MemFree|MemAvailable|Cached|Buffers"
# Проверь что все сервисы Proxmox запущены
systemctl list-units pve* --all --no-pager
# Список бэкапов
pvesm list backup 2>/dev/null || ls -lh /mnt/data/dump/
# Проверь виртуализацию
grep -m1 vmx /proc/cpuinfo && echo "VT-x OK" || echo "VT-x не найден"
dmesg | grep -i "IOMMU" | head -5
FAQ
Сколько виртуальных машин потянет N100?
Зависит от задач. LXC-контейнеры: 8-10 лёгких одновременно без проблем. Полноценных KVM-ВМ с 2 GB RAM каждая — 4-5, упрёшься в лимит 16 GB. ВМ с 512 MB — до 8-10 если задачи не CPU-интенсивные. Узкое место всегда RAM, не CPU. LXC в 2-3 раза эффективнее по памяти — используй где возможно.
Можно ли использовать N100 как роутер вместо MikroTik?
Да, популярный сценарий. OPNsense или pfSense на N100 с двумя LAN-портами — полноценный домашний роутер с файрволом, VLAN, VPN, IDS/IPS. Производительности хватает для гигабитного линка. Beelink EQ12 с двумя портами (2.5 GbE + 1 GbE) под это и создан. Из минусов: в случае сбоя Proxmox ты остаёшься без сети полностью — подумай об этом если критична доступность.
N100 vs N150: стоит ли переплачивать?
N150 — следующее поколение той же линейки Alder Lake-N. Чуть быстрее, более новые iGPU, та же идеология. Если цена отличается на 20-30 USD — можно взять N150. Если разница больше 50 USD — N100 для большинства домашних задач хватит. Для сравнения: N150 даёт прирост примерно 15-20% по CPU производительности, потребление почти такое же.
Как проверить что виртуализация включена?
# Проверить поддержку VT-x
grep -m1 vmx /proc/cpuinfo && echo "VT-x OK" || echo "VT-x отключен"
# Проверить что KVM загружен
lsmod | grep kvm
# Должно показать kvm и kvm_intel
# Проверить VT-d (IOMMU)
dmesg | grep -i "IOMMU enabled"
# Или
cat /proc/cmdline | grep iommu
Что делать если нужно больше 16 GB RAM?
N100 поддерживает только один слот, максимум 16 GB — это архитектурное ограничение чипа. Единственный вариант масштабирования — другое железо. Смотри на Ryzen 7730U, 7530U мини-ПК: два слота, до 64 GB DDR5, реальное потребление 25-50 Вт. Цена в 1.5-2 раза выше чем N100. Для задач где действительно нужно 32+ GB — это оправданная инвестиция.
Нужен ли ИБП для мини-ПК?
Если хранишь важные данные — да. При внезапном отключении питания NVMe диск может потерять данные в write-back буфере. APC Back-UPS 600VA при потреблении N100 в 12 Вт даёт около 40-50 минут автономии. Этого достаточно чтобы Proxmox успел корректно завершить работу по событию power failure. Настрой NUT (Network UPS Tools) для автоматического shutdown при потере питания.
Как проверить что бэкапы работают?
# Проверь что бэкапы создаются
ls -lth /mnt/data/dump/ | head -20
# Проверь размер последних бэкапов - он должен быть ненулевым
du -sh /mnt/data/dump/vzdump-*
# Проверь журнал задания бэкапа
journalctl -u vzdump -n 50 --no-pager
# Тест восстановления - создай тестовый контейнер из бэкапа
# Делай это раз в 1-2 месяца чтобы убедиться что бэкапы рабочие
pct restore 999 /mnt/data/dump/vzdump-lxc-101-latest.tar.zst --storage local-lvm
pct start 999
# Проверь что всё работает
pct destroy 999
Что в итоге
Мини-ПК на N100 закрыл задачу полностью. 183 дня аптайма, тихая работа, минимальный счёт за электричество. Если у тебя дома стоит старый сервер который работает 24/7 и потребляет 80-100 ватт ради трёх-четырёх лёгких сервисов — посчитай стоимость электричества за год. Скорее всего мини-ПК окупится за 1-1.5 года только на экономии.
Единственное что сделал бы иначе — сразу проверил бы работу второго NVMe-слота до покупки второго SSD, и уточнил производителя сетевого чипа. Час с монитором и клавиатурой чтобы включить параметр в BIOS или разбираться с драйвером Realtek после обновления ядра — это потеря времени которую легко избежать.
Если что-то не заработало
Пиши в комментариях. За полгода эксплуатации N100 на Proxmox я видел достаточно граблей чтобы помочь с большинством типичных проблем.