Установка Proxmox с нуля: разметка, ZFS и первые шаги
Установка 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. Гипервизор при этом в ту сеть не входит вовсе.