Proxmox дома: что у меня крутится и зачем это нужно

· Павел · proxmox zfs homelab pbs

Логотип Proxmox

Дома у меня два узла Proxmox, пул ZFS и отдельный сервер резервного копирования. Выглядит как избыточность для квартиры, но на деле это ровно наоборот: способ не держать пять отдельных железок, каждая из которых умеет одно.

Расскажу, что там крутится, почему именно Proxmox и где он начинает раздражать — без этого рассказ был бы рекламой.

Зачем вообще гипервизор дома

Простая арифметика. Мне нужны: своё облако для фотографий, медиасервер, блокировщик рекламы на всю квартиру, торрент-качалка, пара сайтов и рабочие стенды, которые не жалко сломать.

Это либо пять-шесть устройств — NAS, мини-ПК, роутер с прошивкой, малинка, старый ноутбук, — либо одна машина, на которой всё это разнесено по контейнерам и виртуалкам.

Пять устройств — это пять блоков питания, пять точек отказа, пять разных способов обновления и полное отсутствие бэкапов. Одна машина с гипервизором — это одно место, где всё видно, и один механизм резервного копирования на всё сразу.

Что живёт на узлах

Почти всё — LXC-контейнеры, а не полноценные виртуалки. Это важная деталь: контейнер не эмулирует железо и не держит своё ядро, поэтому десяток контейнеров съедает столько же, сколько одна средняя виртуалка.

Восемь машин, одна коробка, один интерфейс.

ZFS — главная причина выбрать Proxmox

Если бы надо было назвать один аргумент, я бы назвал этот.

ZFS — это не просто способ собрать диски в массив. Это файловая система, которая проверяет контрольную сумму каждого блока при чтении. Если диск тихо отдал испорченные данные — а диски это делают, и обычный RAID такого не замечает, — ZFS увидит расхождение и восстановит блок из избыточности.

Для домашнего архива фотографий за пятнадцать лет это принципиально. Тихое повреждение данных страшнее отказа диска: отказ ты заметишь сразу, а повреждение — когда откроешь снимок пятилетней давности и увидишь разноцветную кашу. И в бэкапах к тому моменту будет лежать та же каша.

Что даёт ZFS на практике:

Отдельно: ZFS нельзя ставить поверх аппаратного RAID-контроллера. Ему нужны диски напрямую, иначе он теряет возможность чинить то, что нашёл. Если в машине рейд-контроллер — переключайте в режим HBA.

Бэкапы, которые действительно восстанавливаются

Дома отдельно стоит Proxmox Backup Server. Это не «папка с архивами», а специализированное хранилище с дедупликацией: копии кусками, одинаковые куски хранятся один раз.

Разница ощущается на второй неделе. Ежедневные копии десятка контейнеров обычными архивами занимали бы терабайты. С дедупликацией — десятки гигабайт, потому что между вчерашним и сегодняшним состоянием контейнера меняются единицы процентов.

Но главное не место, а проверка восстановлением. Бэкап, который никогда не разворачивали, — это не бэкап, а надежда. PBS позволяет поднять копию рядом, убедиться, что она живая, и снести. Пока не сделаешь этого хотя бы раз — считай, что бэкапов нет.

Почему то же самое выбирает бизнес

Дома это удобство. В работе — уже деньги.

Цена. Proxmox бесплатен в базе, платная подписка нужна только ради стабильного репозитория и поддержки. На фоне лицензий коммерческих гипервизоров разница измеряется не процентами, а порядками. После ухода западных вендоров с российского рынка выбор для многих просто перестал существовать.

Кластер и живая миграция. Несколько узлов объединяются, виртуалки переезжают между ними без остановки. Узел надо обновить — машины уезжают на соседей, узел обслуживается, машины возвращаются. Пользователи ничего не замечают.

Контейнеры и виртуалки в одном интерфейсе. Где хватает контейнера — контейнер, где нужна полноценная система со своим ядром — виртуалка. Не надо держать два разных инструмента.

Всё есть из коробки. Бэкапы, снапшоты, репликация, разграничение прав, двухфакторная аутентификация — не докупается отдельными модулями.

Два узла дома, пять на работе — когда кластер нужен

Тут стоит сказать прямо, потому что вокруг кластеров много карго-культа.

Дома кластер мне не нужен. Два узла работают независимо: один несёт основную нагрузку, второй — стенды и то, что не жалко. Смысла объединять их нет: кластеру из двух узлов негде взять кворум, а живая миграция дома не решает ни одной реальной задачи. Если узел упадёт, я подниму нужное из бэкапа за полчаса, и мир не рухнет.

На работе кластер из пяти узлов — необходимость. Там другая логика: обслуживание не должно останавливать сервисы, нагрузка размазывается, отказ железки не должен быть событием. И кворум набирается честно.

Правило простое: кластер оправдан там, где простой стоит денег. Дома он стоит настроения. Два-три узла без кластера — нормальная домашняя схема, и стесняться тут нечего.

Что не так — честный раздел

Шум и потребление. Серверное железо дома — это отдельная история. Я пришёл к обычным десктопным комплектующим: тише, экономичнее, дешевле. Рабочая станция в роли гипервизора живёт прекрасно.

ZFS любит память. Кэш по умолчанию забирает до половины оперативки. Это нормально и полезно, но если памяти мало — лимит надо выставлять руками, иначе виртуалкам не останется.

Деградировавший пул. На втором узле у меня пул в состоянии DEGRADED — выпал диск. Система при этом работает и данные целы, но избыточности больше нет: следующий отказ будет последним.

Узнал я об этом в ту же минуту. Proxmox отдаёт метрики в Zabbix, оттуда они уходят в Grafana, и состояние пула — один из отслеживаемых параметров. Диск выпал — прилетело уведомление, а не сюрприз через полгода.

И это, пожалуй, главный практический вывод всей статьи. ZFS честно сообщает о проблемах — но сообщает он в системный журнал, куда в здравом уме никто не смотрит каждый день. А деградировавший пул в работе выглядит ровно так же, как здоровый: те же скорости, все файлы на месте, интерфейс не мигает красным. Разница обнаружится в момент отказа второго диска, и это будет последнее, что вы о нём узнаете.

Поэтому мониторинг — не украшение домашней лаборатории, а то, что превращает отказ диска из катастрофы в задачу на выходные. Как это собирается — в отдельном разборе: мониторинг Proxmox через Zabbix и Grafana. Настройте раньше, чем понадобится: после того, как понадобился, уже поздно.

Если захотелось попробовать

Порог входа ниже, чем кажется: подойдёт любой лежащий без дела компьютер с четырьмя гигабайтами памяти. Дальше — поставить, разметить диски и завести первый контейнер.

Как это сделать по шагам и, главное, какой вариант ZFS выбрать при установке — в отдельном разборе: установка Proxmox с нуля. Выбор массива — единственное решение в установщике, которое потом не поменять без переустановки, поэтому о нём там подробно.