Установка Proxmox с нуля: разметка, ZFS и первые шаги

· Павел · proxmox zfs raid homelab

Установка Proxmox занимает минут пятнадцать. Почти всё в мастере можно поменять потом — кроме одного экрана.

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

Какое железо подойдёт

Требования ниже, чем принято думать.

Минимум Разумно
Процессор любой 64-битный с аппаратной виртуализацией 4 ядра и больше
Память 4 ГБ 16–32 ГБ, особенно с ZFS
Диски один два и больше под зеркало

Виртуализация в процессоре (Intel VT-x или AMD-V) обязательна — иначе виртуалки просто не запустятся. Включается в BIOS, часто выключена по умолчанию.

Три вещи, которые стоит знать заранее:

Серверное железо дома — необязательно. Обычная рабочая станция работает прекрасно и при этом тише и экономичнее. Гул серверного корпуса в квартире надоедает на третий день.

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

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

Установка

Скачайте ISO с официального сайта Proxmox и запишите на флешку. В Linux достаточно dd, в Windows — Rufus или Ventoy.

Загрузитесь с флешки, выберите графическую установку. Дальше идут обычные экраны — лицензия, диски, страна и часовой пояс, пароль root и почта, сетевые настройки.

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

А вот на экране дисков остановимся подробно.

Выбор ZFS: какой вариант взять

На экране разметки нажмите Options и выберите тип. Вот что означают варианты и сколько дисков нужно каждому.

Вариант Дисков Переживает отказ Полезная ёмкость
RAID0 от 1 ни одного 100%
RAID1 (зеркало) 2 1 диск 50%
RAID10 4, 6, 8… по 1 в каждой паре 50%
RAIDZ-1 от 3 1 диск (n−1)/n
RAIDZ-2 от 4, лучше 6+ 2 диска (n−2)/n
RAIDZ-3 от 5 3 диска (n−3)/n

Практические рекомендации:

Один диск. Берите ZFS в режиме RAID0 — всё равно получите снапшоты, сжатие и контроль целостности. Избыточности не будет, но и терять нечего: с одним диском её негде взять.

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

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

Три-пять дисков под хранение — RAIDZ-1. Терпимо, если диски небольшие.

Большие диски — только RAIDZ-2. Вот здесь главная засада.

Почему RAIDZ-1 на больших дисках — плохая идея

Когда диск в массиве умирает, его заменяют, и начинается восстановление избыточности. На дисках по 8–20 ТБ это занимает от суток до нескольких.

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

Второй отказ в это окно означает потерю всего пула. И вероятность его выше обычной именно потому, что нагрузка максимальная.

RAIDZ-2 переживает два отказа и снимает вопрос. На массиве из шести дисков по 8 ТБ разница в полезной ёмкости — 40 ТБ против 32. Восемь терабайт за спокойный сон — хорошая сделка.

Чего ZFS не прощает

Расширение массива. Раньше добавить один диск в RAIDZ было нельзя вообще. В свежих версиях ZFS такая возможность появилась, но с оговоркой: уже записанные данные сохраняют прежнюю пропорцию избыточности, пока их не перезапишешь. Планируйте размер массива сразу.

Заполнение под завязку. ZFS резко теряет производительность, когда пул занят больше чем на 80%. Это не рекомендация, а свойство механизма размещения блоков. Считайте восемьдесят процентов потолком.

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

Первые шаги после установки

Веб-интерфейс доступен по адресу https://адрес-сервера:8006, вход — root и пароль, заданный при установке. Браузер ругнётся на самоподписанный сертификат, это нормально.

Репозитории. По умолчанию подключён платный репозиторий, требующий подписки — обновления через него не поставятся. Для домашнего использования переключитесь на бесплатный no-subscription: в веб-интерфейсе Узел → Updates → Repositories, отключить enterprise-репозиторий и добавить no-subscription. После этого Updates → Refresh и обновление.

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

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

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

Первый контейнер

Начинать стоит с контейнера, а не с виртуалки: он легче, стартует мгновенно и не требует установки системы.

В веб-интерфейсе: Узел → local (storage) → CT Templates → Templates, скачайте шаблон — например, Debian или Ubuntu. Затем Create CT в правом верхнем углу, задайте имя, пароль или ключ, выделите ресурсы.

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

Виртуалка понадобится, когда нужна другая система целиком: Windows, собственное ядро, проброс устройств. Тогда Create VM, ISO загружается в то же хранилище.

Что делать дальше

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

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

А если стенды хочется держать в стороне от основной сети — поднимите виртуальный MikroTik и изолированную сеть и уберите машины за NAT. Гипервизор при этом в ту сеть не входит вовсе.