Создание кластера Proxmox для домашней лаборатории

Пошаговое руководство по настройке кластера Proxmox VE для домашнего использования с виртуальными машинами и контейнерами

Средний
Алексей Кузнецов
Алексей Кузнецов
Системный администратор9 июня 2026 г.6 мин чтения

Требования

  • Минимум 2 сервера с поддержкой виртуализации (Intel VT-x/AMD-V)
  • 64-битный процессор с минимум 4 ядрами
  • Минимум 16 ГБ RAM на каждый узел
  • SSD диск для установки Proxmox (минимум 120 ГБ)
  • Сетевой коммутатор с поддержкой Gigabit Ethernet
  • USB-флешка для установочного образа (минимум 4 ГБ)
  • Доступ в интернет для загрузки ISO-образов

Скачивание и подготовка установочного образа Proxmox VE

Скачайте последнюю версию Proxmox VE с официального сайта. Запишите образ на USB-флешку с помощью Rufus (Windows) или dd (Linux).

# Скачивание последней версии Proxmox VE
wget https://enterprise.proxmox.com/iso/proxmox-ve_8.2-1.iso

# Запись на USB-флешку (Linux)
sudo dd if=proxmox-ve_8.2-1.iso of=/dev/sdX bs=4M status=progress
sync

Установка Proxmox VE на первый узел

Загрузитесь с USB-флешки и следуйте мастеру установки. Выберите целевой диск, настройте сеть (статический IP), укажите пароль root и email для уведомлений.

# После установки обновите систему
apt update && apt upgrade -y

# Установка необходимых пакетов
apt install -y vim htop net-tools

Настройка сети и статического IP

Настройте сетевой интерфейс с статическим IP-адресом. Отредактируйте файл конфигурации сети.

# Редактирование сетевой конфигурации
nano /etc/network/interfaces

# Пример конфигурации:
auto eno1
iface eno1 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

# Перезапуск сети
systemctl restart networking

Создание кластера Proxmox

На первом узле создайте кластер. Это позволит управлять несколькими серверами из единой консоли.

# Создание кластера на первом узле
pvecm create homelab-cluster

# Проверка статуса кластера
pvecm status

Установка Proxmox VE на второй узел

Повторите установку Proxmox на втором сервере. Используйте другой IP-адрес в той же подсети.

# На втором узле используйте IP 192.168.1.11
# После установки обновите систему
apt update && apt upgrade -y

Присоединение второго узла к кластеру

На втором узле подключитесь к существующему кластеру, используя IP-адрес первого узла.

# Получение информации о кластере с первого узла
pvecm status

# Присоединение к кластеру со второго узла
pvecm add 192.168.1.10

# Введите пароль root первого узла при запросе

Настройка хранилища (Storage)

Настройте локальное хранилище для виртуальных машин и контейнеров. Добавьте дополнительные диски при необходимости.

# Просмотр доступных дисков
lsblk

# Создание LVM тома (если используется отдельный диск)
pvcreate /dev/sdb
vgcreate vmdata /dev/sdb
lvcreate -l 100%FREE -n vmstorage vmdata
mkfs.ext4 /dev/vmdata/vmstorage

# Монтирование и добавление в fstab
mkdir -p /mnt/vmstorage
mount /dev/vmdata/vmstorage /mnt/vmstorage
echo '/dev/vmdata/vmstorage /mnt/vmstorage ext4 defaults 0 0' >> /etc/fstab

Настройка резервного копирования (Backup)

Настройте регулярное резервное копирование виртуальных машин и контейнеров на отдельный диск или NAS.

# Создание задачи резервного копирования через веб-интерфейс
# Datacenter -> Backup -> Add

# Или через командную строку:
# Резервное копирование всех VM
vzdump --all --mode snapshot --compress zstd --storage local-backup

# Добавление в cron для автоматического выполнения
crontab -e
# Добавить строку: 0 2 * * * vzdump --all --mode snapshot --compress zstd --storage local-backup

Создание виртуальной машины для Jellyfin

Создайте виртуальную машину для медиа-сервера Jellyfin. Рекомендуется выделить минимум 4 ГБ RAM и 2 CPU.

# Скачивание образа Ubuntu Server
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.3-live-server-amd64.iso -P /var/lib/vz/template/iso/

# Создание VM через командную строку
qm create 100 --name jellyfin --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0
qm importdisk 100 /var/lib/vz/template/iso/ubuntu-22.04.3-live-server-amd64.iso local-lvm
qm set 100 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-100-disk-0
qm set 100 --ide2 local-lvm:cloudinit
qm set 100 --boot order=scsi0
qm set 100 --serial0 socket --vga serial0
qm set 100 --agent enabled=1

Установка Docker на VM

Установите Docker на виртуальную машину для запуска контейнеров.

# Обновление системы
sudo apt update && sudo apt upgrade -y

# Установка зависимостей
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# Добавление GPG ключа Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Добавление репозитория Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Установка Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Добавление пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

Запуск Jellyfin в Docker

Запустите медиа-сервер Jellyfin в Docker контейнере.

# Создание директорий для данных
mkdir -p ~/jellyfin/config ~/jellyfin/cache

# Запуск Jellyfin
docker run -d \
  --name jellyfin \
  --restart unless-stopped \
  -p 8096:8096 \
  -v ~/jellyfin/config:/config \
  -v ~/jellyfin/cache:/cache \
  -v /path/to/media:/media \
  jellyfin/jellyfin:latest

Установка и настройка Tailscale

Установите Tailscale для безопасного удалённого доступа к вашей домашней сети.

# Установка Tailscale
curl -fsSL https://tailscale.com/install.sh | sh

# Запуск и авторизация
tailscale up

# Проверка статуса
tailscale status

# Включение в качестве exit node (опционально)
tailscale up --advertise-exit-node

Установка Ansible для автоматизации

Установите Ansible для управления конфигурацией серверов и автоматизации задач.

# Установка Ansible
sudo apt update
sudo apt install -y ansible

# Создание структуры проекта
mkdir -p ~/ansible/inventory ~/ansible/playbooks

# Создание inventory файла
cat > ~/ansible/inventory/hosts << EOF
[proxmox]
192.168.1.10
192.168.1.11

[services]
192.168.1.20
EOF

# Проверка подключения
ansible all -m ping -i ~/ansible/inventory/hosts

Создание LXC контейнера для Home Assistant

Создайте LXC контейнер для Home Assistant прямо на Proxmox (без виртуальной машины).

# Скачивание шаблона Ubuntu для LXC
pveam update
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

# Создание LXC контейнера
pct create 200 /var/lib/vz/template/cache/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
  --hostname homeassistant \
  --memory 2048 \
  --cores 2 \
  --net0 name=eth0,bridge=vmbr0,ip=192.168.1.21/24,gw=192.168.1.1 \
  --storage local-lvm \
  --rootfs local-lvm:20

# Запуск контейнера
pct start 200

# Вход в контейнер
pct enter 200

Установка Home Assistant в LXC

Установите Home Assistant Supervised внутри LXC контейнера.

# Внутри LXC контейнера
apt update && apt upgrade -y

# Установка зависимостей
apt install -y jq curl udisks2 libglib2.0-bin network-manager dbus

# Установка Docker
curl -fsSL https://get.docker.com | sh

# Установка OS Agent
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_x86_64.deb
dpkg -i os-agent_1.6.0_linux_x86_64.deb

# Установка Home Assistant Supervised
wget https://github.com/home-assistant/supervised-installer/releases/download/1.6.0/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb

# Выберите при установке: qemu-x86_64

Настройка мониторинга кластера

Настройте мониторинг ресурсов кластера с помощью Prometheus и Grafana или встроенных инструментов Proxmox.

# Включение встроенного мониторинга Proxmox
# Через веб-интерфейс: Datacenter -> Metric Server -> Add

# Или установка через командную строку
apt install -y prometheus

# Настройка сбора метрик с Proxmox
cat > /etc/prometheus/prometheus.yml << EOF
scrape_configs:
  - job_name: 'proxmox'
    static_configs:
      - targets:
        - 192.168.1.10:9221
        - 192.168.1.11:9221
    metrics_path: /pve
EOF

systemctl restart prometheus

Кластер Proxmox VE для домашней лаборатории: пошаговое руководство

Создание отказоустойчивого кластера виртуализации — отличный способ познакомиться с корпоративными практиками администрирования без затрат на лицензии. В этой статье мы пошагово настроим кластер Proxmox VE из двух узлов, развёрнём на нём медиа-сервер Jellyfin, систему «умного дома» Home Assistant, а также подключим мониторинг и автоматизация. Руководство рассчитано на читателей, которые уже имеют базовые навыки работы с Linux и командной строкой.

Подготовка

Требования к железу

  • Минимум 2 сервера с поддержкой виртуализации (Intel VT-x/AMD-V)
  • 64-битный процессор с минимум 4 ядрами
  • Минимум 16 ГБ RAM на каждый узел
  • SSD диск для установки Proxmox (минимум 120 ГБ)
  • Сетевой коммутатор с поддержкой Gigabit Ethernet
  • USB-флешка для установочного образа (минимум 4 ГБ)
  • Доступ в интернет для загрузки ISO-образов

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

Скачивание и подготовка установочного образа

Скачайте последнюю версию Proxmox VE с официального сайта. Запишите образ на USB-флешку с помощью Rufus (Windows) или dd (Linux).

# Скачивание последней версии Proxmox VE
wget https://enterprise.proxmox.com/iso/proxmox-ve_8.2-1.iso

# Запись на USB-флешку (Linux)
sudo dd if=proxmox-ve_8.2-1.iso of=/dev/sdX bs=4M status=progress
sync

Установка и настройка

Установка Proxmox VE на первый узел

Загрузитесь с USB-флешки и следуйте мастеру установки. Выберите целевой диск, настройте сеть (статический IP), укажите пароль root и email для уведомлений.

# После установки обновите систему
apt update && apt upgrade -y

# Установка необходимых пакетов
apt install -y vim htop net-tools

Настройка сети и статического IP

Настройте сетевой интерфейс с статическим IP-адресом. Отредактируйте файл конфигурации сети.

# Редактирование сетевой конфигурации
nano /etc/network/interfaces

# Пример конфигурации:
auto eno1
iface eno1 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

# Перезапуск сети
systemctl restart networking

Если вы планируете использовать VLAN и сложную сетевую топологию, заглядите в нашу статью о настройке сети и VLAN на Proxmox.

Создание кластера Proxmox

На первом узле создайте кластер. Это позволит управлять несколькими серверами из единой консоли.

# Создание кластера на первом узле
pvecm create homelab-cluster

# Проверка статуса кластера
pvecm status

Установка Proxmox VE на второй узел

Повторите установку Proxmox на втором сервере. Используйте другой IP-адрес в той же подсети.

# На втором узле используйте IP 192.168.1.11
# После установки обновите систему
apt update && apt upgrade -y

Присоединение второго узла к кластеру

На втором узле подключитесь к существующему кластеру, используя IP-адрес первого узла.

# Получение информации о кластере с первого узла
pvecm status

# Присоединение к кластеру со второго узла
pvecm add 192.168.1.10

# Введите пароль root первого узла при запросе

Хранилище и резервное копирование

Настройка хранилища (Storage)

Настройте локальное хранилище для виртуальных машин и контейнеров. Добавьте дополнительные диски при необходимости.

# Просмотр доступных дисков
lsblk

# Создание LVM тома (если используется отдельный диск)
pvcreate /dev/sdb
vgcreate vmdata /dev/sdb
lvcreate -l 100%FREE -n vmstorage vmdata
mkfs.ext4 /dev/vmdata/vmstorage

# Монтирование и добавление в fstab
mkdir -p /mnt/vmstorage
mount /dev/vmdata/vmstorage /mnt/vmstorage
echo '/dev/vmdata/vmstorage /mnt/vmstorage ext4 defaults 0 0' >> /etc/fstab

Настройка резервного копирования (Backup)

Настройте регулярное резервное копирование виртуальных машин и контейнеров на отдельный диск или NAS.

# Создание задачи резервного копирования через веб-интерфейс
# Datacenter -> Backup -> Add

# Или через командную строку:
# Резервное копирование всех VM
vzdump --all --mode snapshot --compress zstd --storage local-backup

# Добавление в cron для автоматического выполнения
crontab -e
# Добавить строку: 0 2 * * * vzdump --all --mode snapshot --compress zstd --storage local-backup

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

Сервисы

Создание виртуальной машины для Jellyfin

Создайте виртуальную машину для медиа-сервера Jellyfin. Рекомендуется выделить минимум 4 ГБ RAM и 2 CPU.

# Скачивание образа Ubuntu Server
wget https://releases.ubuntu.com/22.04/ubuntu-22.04.3-live-server-amd64.iso -P /var/lib/vz/template/iso/

# Создание VM через командную строку
qm create 100 --name jellyfin --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0
qm importdisk 100 /var/lib/vz/template/iso/ubuntu-22.04.3-live-server-amd64.iso local-lvm
qm set 100 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-100-disk-0
qm set 100 --ide2 local-lvm:cloudinit
qm set 100 --boot order=scsi0
qm set 100 --serial0 socket --vga serial0
qm set 100 --agent enabled=1

Установка Docker на VM

Установите Docker на виртуальную машину для запуска контейнеров.

# Обновление системы
sudo apt update && sudo apt upgrade -y

# Установка зависимостей
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# Добавление GPG ключа Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Добавление репозитория Docker
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Установка Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Добавление пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

Только начинаете работать с контейнерами? Начните с нашего введения в Docker и контейнеризацию для домашних серверов.

Запуск Jellyfin в Docker

Запустите медиа-сервер Jellyfin в Docker-контейнере.

# Создайте папки для хранения данных Jellyfin
mkdir -p ~/jellyfin/config ~/jellyfin/cache

# Запуск Jellyfin
docker run -d \
  --name jellyfin \
  --restart unless-stopped \
  -p 8096:8096 \
  -v ~/jellyfin/config:/config \
  -v ~/jellyfin/cache:/cache \
  -v /path/to/media:/media \
  jellyfin/jellyfin:latest

Создание LXC-контейнера для Home Assistant

Создайте LXC-контейнер для Home Assistant прямо на Proxmox (без виртуальной машины).

# Скачивание шаблона Ubuntu для LXC
pveam update
pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

# Создание LXC-контейнера
pct create 200 /var/lib/vz/template/cache/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
  --hostname homeassistant \
  --memory 2048 \
  --cores 2 \
  --net0 name=eth0,bridge=vmbr0,ip=192.168.1.21/24,gw=192.168.1.1 \
  --storage local-lvm \
  --rootfs local-lvm:20

# Запуск контейнера
pct start 200

# Вход в контейнер
pct enter 200

Установка Home Assistant в LXC-контейнер

Установите Home Assistant Supervised внутри LXC-контейнера.

# Внутри LXC-контейнера
apt update && apt upgrade -y

# Установка зависимостей
apt install -y jq curl udisks2 libglib2.0-bin network-manager dbus

# Установка Docker
curl -fsSL https://get.docker.com | sh

# Установка OS Agent
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_x86_64.deb
dpkg -i os-agent_1.6.0_linux_x86_64.deb

# Установка Home Assistant Supervised
wget https://github.com/home-assistant/supervised-installer/releases/download/1.6.0/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb

# При появлении запроса выберите профиль qemu-x86_64

Вспомогательные инструменты

Настройка удалённого доступа через Tailscale

Установите Tailscale для доступа к домашним сервисам извне без необходимости пробрасывать порты.

# Установка Tailscale
curl -fsSL https://tailscale.com/install.sh | sh

# Запуск и авторизация
tailscale up

# Проверка статуса
tailscale status

Установка Ansible для автоматизации

Установите Ansible для управления конфигурацией серверов и автоматизации задач.

# Установка Ansible
sudo apt update
sudo apt install -y ansible

# Создание структуры проекта
mkdir -p ~/ansible/inventory ~/ansible/playbooks

# Создание inventory-файла
cat > ~/ansible/inventory/hosts << EOF
[proxmox]
192.168.1.10
192.168.1.11

[services]
192.168.1.20
EOF

# Проверка подключения
ansible all -m ping -i ~/ansible/inventory/hosts

Настройка мониторинга кластера

Настройте мониторинг ресурсов кластера с помощью Prometheus и Grafana.

# Включение встроенного мониторинга Proxmox
# Через веб-интерфейс: Datacenter -> Metric Server -> Add

# Или установка через командную строку
apt install -y prometheus

# Настройка сбора метрик с Proxmox
cat > /etc/prometheus/prometheus.yml << EOF
scrape_configs:
  - job_name: 'proxmox'
    static_configs:
      - targets:
        - 192.168.1.10:9221
        - 192.168.1.11:9221
    metrics_path: /pve
EOF

systemctl restart prometheus

# Установка Grafana
apt install -y software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | tee /etc/apt/sources.list.d/grafana.list
apt update
apt install -y grafana
systemctl enable --now grafana-server

Подробную настройку дашбордов Grafana для Proxmox мы разбираем в отдельной статье — мониторинг домашнего сервера с Prometheus и Grafana.

Заключение

Мы прошли полный цикл развёртывания домашней лаборатории: от установки Proxmox VE на два узла до запуска медиа-сервера и системы автоматизации. Кластер обеспечивает отказоустойчивость — при выходе из строя одного узла виртуальные машины можно мигрировать на второй. Docker внутри VM даёт изоляцию сервисов, а LXC-контейнеры позволяют запускать дополнительные службы с минимальными накладными расходами.

Следующие шаги для углубления: настройка репликации хранилища между узлами, развёртывание Kubernetes-поверх Proxmox и автоматизация деплоя через Terraform и Ansible.

Поделиться:TelegramX / TwitterVK