Установка Proxmox VE 9 на свой сервер: с ISO и поверх Debian 13

Proxmox VE — бесплатная платформа виртуализации на базе Debian. Она управляет виртуальными машинами KVM и контейнерами LXC через веб-интерфейс, умеет кластер, живую миграцию, ZFS, Ceph и резервное копирование. Платить нужно только за подписку с enterprise-репозиторием и поддержкой, сама система полностью рабочая без неё.

Актуальная ветка на октябрь 2026 года — Proxmox VE 9.x на Debian 13 (trixie), последний выпуск 9.2. Ветка 8.x на Debian 12 (bookworm) закончила поддержку 31 августа 2026 года: новые серверы на ней не ставим, существующие обновляем до 9.x.

Самый простой путь — установка с официального ISO: за 10–15 минут вы получаете готовый гипервизор с LVM-thin или ZFS. Если у сервера нет консоли или провайдер даёт только свой образ Debian, ставим Proxmox поверх чистого Debian 13. После установки в обоих случаях нужно переключить репозиторий на бесплатный no-subscription, иначе apt update будет падать с ошибкой 401.

Что нужно до установки

  • 64-битный процессор Intel или AMD с аппаратной виртуализацией (Intel VT-x или AMD-V), включённой в BIOS/UEFI.
  • Память: минимум 2 ГБ для самой системы плюс память для гостей. С ZFS закладывайте ещё память под ARC-кеш.
  • Диски: для ZFS нужен HBA или контроллер в режиме IT/JBOD, а не аппаратный RAID. С аппаратным RAID используйте ext4 или XFS.
  • Статический IP-адрес, шлюз, DNS и полное имя хоста (FQDN), например pve1.example.lan.

Проверить поддержку виртуализации на уже работающем Linux можно так:

grep -cE 'vmx|svm' /proc/cpuinfo
lscpu | grep -i virtualization

Если первая команда вернула 0 — виртуализация выключена в BIOS или вы внутри виртуальной машины без вложенной виртуализации. Контейнеры LXC при этом работать будут, а KVM — нет.

Если сервер ещё только выбираете, посмотрите заметку о выборе выделенного сервера: процессор, диски и память — для гипервизора те же критерии, только память и диски нужны с запасом.

Способ 1. Установка с ISO

Шаг 1. Скачать образ и записать на флешку

Образ берите только с официальной страницы загрузок proxmox.com/en/downloads. Рядом лежит контрольная сумма SHA256 — сверьте её. На Linux флешку можно записать через dd:

sha256sum proxmox-ve_9.*.iso
lsblk                      # найдите флешку, например /dev/sdX
dd if=proxmox-ve_9.*.iso of=/dev/sdX bs=4M conv=fsync status=progress

Внимательно проверьте имя устройства: dd без вопросов перезапишет любой диск. На Windows подойдут Rufus в режиме DD или balenaEtcher. На серверах с IPMI/iDRAC/iLO образ проще подключить как виртуальный CD.

Шаг 2. Пройти установщик

Загрузитесь с флешки и выберите графическую установку или установку в текстовом режиме (Terminal UI) — по шагам они одинаковые.

  1. Target Harddisk. Кнопка Options открывает выбор файловой системы: ext4, XFS, ZFS (RAID0/1/10/RAIDZ) или Btrfs. Для одного диска или аппаратного RAID — ext4. Для двух и более дисков на HBA — ZFS RAID1 или RAID10.
  2. Страна, часовой пояс, раскладка.
  3. Пароль root и e-mail. На этот адрес будут приходить уведомления о бэкапах и сбоях дисков.
  4. Сеть. Выберите интерфейс управления, укажите FQDN, IP в формате CIDR, шлюз и DNS. Установщик создаст мост vmbr0 поверх этого интерфейса.

После перезагрузки в консоли появится адрес веб-интерфейса вида https://192.168.1.10:8006.

Что получится на ext4/XFS: хранилище local (каталог /var/lib/vz для ISO, шаблонов и бэкапов) и local-lvm (LVM-thin для дисков ВМ и контейнеров). На ZFS вместо local-lvm будет local-zfs.

Способ 2. Установка поверх Debian 13

Этот путь нужен, когда нет доступа к консоли сервера, нужна особая разметка дисков или провайдер ставит только свой образ Debian. Ставим чистый Debian 13 amd64: в tasksel оставляем только «SSH server» и «standard system utilities», без графического окружения.

Шаг 1. Имя хоста и /etc/hosts

Имя сервера должно разрешаться в его реальный IP, а не в 127.0.1.1. Это частая причина того, что после установки не стартует pve-cluster и не открывается веб-интерфейс. Приведите /etc/hosts к такому виду (адрес и имя свои):

127.0.0.1       localhost
192.168.1.10    pve1.example.lan pve1
::1             localhost ip6-localhost ip6-loopback

Проверка:

hostname --ip-address
# должно быть: 192.168.1.10

Шаг 2. Ключ и репозиторий Proxmox

В Proxmox VE 9 репозитории описываются в формате deb822 (файлы .sources). Скачиваем ключ архива и сверяем контрольную сумму с той, что опубликована в официальной инструкции на pve.proxmox.com:

wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \
  -O /usr/share/keyrings/proxmox-archive-keyring.gpg
sha256sum /usr/share/keyrings/proxmox-archive-keyring.gpg

Создаём файл /etc/apt/sources.list.d/pve-install-repo.sources:

cat > /etc/apt/sources.list.d/pve-install-repo.sources <<'END'
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
END

apt update && apt full-upgrade

Шаг 3. Ядро Proxmox

Сначала ставим ядро Proxmox и перезагружаемся в него:

apt install proxmox-default-kernel
systemctl reboot

После перезагрузки проверьте, что работает нужное ядро — в имени будет pve:

uname -r
# примерно так: 6.x.y-z-pve

Шаг 4. Пакеты Proxmox VE

apt install proxmox-ve postfix open-iscsi chrony

Установщик Postfix задаст вопросы. Если в сети есть почтовый relay — выберите «Satellite system» и укажите его. Если нет — «Local only», а уведомления потом настроите в разделе Datacenter → Notifications.

Шаг 5. Убрать ядро Debian и os-prober

apt remove linux-image-amd64 'linux-image-6.12*'
update-grub
apt remove os-prober

Ядро Debian больше не нужно, а при обновлениях оно может снова стать ядром по умолчанию. Пакет os-prober при обновлении GRUB сканирует все разделы и может принять диски виртуальных машин за другие ОС и добавить их в меню загрузки.

Шаг 6. Сетевой мост vmbr0

При установке поверх Debian мост не создаётся автоматически. Без него ВМ не получат доступ в сеть. Мост удобнее создать в веб-интерфейсе: узел → System → Network → Create → Linux Bridge, указать адрес и порт (физический интерфейс), затем Apply Configuration. Вручную это делается в /etc/network/interfaces:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.10/24
        gateway 192.168.1.1
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

Имя интерфейса (eno1) смотрите в выводе ip -br link. Применить настройки — ifreload -a (Proxmox использует ifupdown2). Делайте это, имея доступ к консоли: ошибка в файле отрежет сервер от сети.

Репозитории: enterprise и no-subscription

После установки с ISO включён enterprise-репозиторий. Без ключа подписки он отвечает ошибкой 401, и обновления не ставятся. Для работы без подписки подключаем бесплатный pve-no-subscription. Пакеты в нём те же, но попадают туда раньше и проходят меньше проверок. Для домашней лаборатории и небольших продакшен-установок это нормальный выбор. Если сервер критичный — подписка того стоит.

Удобнее всего через веб-интерфейс: узел → Updates → Repositories. Там выключите (Disable) pve-enterprise и enterprise-репозиторий Ceph, нажмите Add и выберите No-Subscription. Из консоли то же самое выглядит так. Файлы лежат в /etc/apt/sources.list.d/:

# выключаем enterprise: добавляем строку Enabled: no
echo 'Enabled: no' >> /etc/apt/sources.list.d/pve-enterprise.sources

# добавляем no-subscription
cat > /etc/apt/sources.list.d/proxmox.sources <<'END'
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
END

apt update

Если в /etc/apt/sources.list.d/ceph.sources указан enterprise-репозиторий Ceph, а Ceph вы не используете, выключите его тем же способом. При установке поверх Debian enterprise-файлов нет. У вас уже есть свой pve-install-repo.sources, второй файл с тем же репозиторием не нужен.

Обновлять Proxmox нужно только через apt full-upgrade (или кнопку Upgrade в интерфейсе). Простой apt upgrade не ставит новые зависимости и может оставить систему в несогласованном состоянии.

Окно «No valid subscription» при входе для бесплатной версии нормально. Советы из интернета «пропатчить» JavaScript-файл интерфейса, чтобы его убрать, лучше не применять. Патч слетает при каждом обновлении пакета proxmox-widget-toolkit, а кривая правка может сломать интерфейс.

Проверка установки

pveversion
# примерно так: pve-manager/9.2.x/... (running kernel: 6.x.y-z-pve)

systemctl status pve-cluster pvedaemon pveproxy pvestatd --no-pager
ss -tlnp | grep 8006

Откройте https://IP-сервера:8006, логин root, realm «Linux PAM standard authentication». Сертификат самоподписанный — браузер предупредит, это ожидаемо. Нормальный сертификат можно выпустить через встроенный ACME-клиент: узел → System → Certificates.

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

Закрыть доступ к панели

Порт 8006 даёт полный контроль над всеми виртуальными машинами. Открывать его в интернет без ограничений нельзя: это то же самое, что выставить наружу root-консоль. Минимум мер:

  • доступ к 8006 и 22 — только из VPN или с доверенных адресов (встроенный firewall: Datacenter → Firewall, либо внешний фильтр у провайдера);
  • двухфакторная аутентификация (TOTP или WebAuthn) для root и администраторов: Datacenter → Permissions → Two Factor;
  • отдельные учётные записи с минимальными правами вместо общей учётки root.

Включая firewall на уровне Datacenter, сначала добавьте разрешающие правила для своего адреса на 8006 и 22. Иначе потеряете доступ.

Загрузить ISO и создать первую ВМ

ISO-образы загружаются через хранилище local → ISO Images → Upload или Download from URL. На диске они лежат в /var/lib/vz/template/iso/. Дальше кнопка Create VM: для Linux-гостей выбирайте контроллер VirtIO SCSI single, сетевую карту VirtIO и тип процессора по умолчанию (x86-64-v2-AES или новее, если все узлы кластера его поддерживают). Для Windows понадобятся драйверы VirtIO — подробно в статье об ускорении Windows в KVM и Proxmox.

Из консоли ВМ создаётся командой qm, например:

qm create 100 --name deb13 --memory 2048 --cores 2 \
  --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-single \
  --scsi0 local-lvm:32 --cdrom local:iso/debian-13-netinst.iso \
  --ostype l26
qm start 100

Если вы переносите готовые диски с другого гипервизора, их можно импортировать командой qm disk import. Про форматы qcow2, raw и vmdk и конвертацию между ними — в статье об образах дисков QEMU-KVM, Xen и VMDK.

Время и бэкапы

Proxmox ставит chrony. Точное время критично для кластера и для гостей. Как синхронизировать часы внутри ВМ, разобрано в статье о синхронизации времени в виртуальных машинах. Резервные копии настраиваются в Datacenter → Backup (утилита vzdump). Храните их не на том же диске, что и ВМ: подойдёт NFS-хранилище или отдельный Proxmox Backup Server с дедупликацией.

LXC вместо OpenVZ

Если вы пришли со старых статей про OpenVZ на CentOS 5/6 — коротко о том, что изменилось. Раньше контейнеры на Linux означали патченное ядро OpenVZ, ручную правку sysctl.conf и отдельную веб-панель (OpenVZ Web Panel) на Ruby. Ядро OpenVZ так и не попало в основную ветку Linux. Проект фактически ушёл в коммерческий Virtuozzo, а базовые для него CentOS 6 и 7 давно без поддержки. Ставить OpenVZ на новый сервер сегодня не нужно.

Нишу заняли контейнеры LXC, которые работают на стандартном ядре через namespaces и cgroups. Proxmox сам перешёл с OpenVZ на LXC ещё в версии 4.0 в 2015 году. Сейчас контейнер в Proxmox делает то же, что VE в OpenVZ: общий с хостом kernel, минимальные накладные расходы, создание за секунды. Плюс веб-интерфейс, бэкапы, снапшоты и миграция — без отдельной панели.

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

pveam update
pveam available --section system | grep debian
pveam download local debian-13-standard_13.X-Y_amd64.tar.zst   # точное имя из вывода выше

pct create 101 local:vztmpl/debian-13-standard_13.X-Y_amd64.tar.zst \
  --hostname ct101 --memory 1024 --cores 1 \
  --rootfs local-lvm:8 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --unprivileged 1 --password
pct start 101
pct enter 101

По умолчанию создавайте непривилегированные контейнеры (--unprivileged 1): root внутри контейнера не равен root на хосте. Привилегированный контейнер нужен редко, например для монтирования NFS изнутри. Чаще ту же задачу решает точка монтирования с хоста (mp0).

LXC или виртуальная машина

КритерийКонтейнер LXCВМ KVM
ЯдроОбщее с хостомСвоё, любое
Гостевые ОСТолько LinuxLinux, Windows, BSD и другие
Накладные расходыМинимальныеНебольшие, с VirtIO почти незаметные
ИзоляцияСлабее: общее ядроСильнее: аппаратная виртуализация
Модули ядра, Docker внутриОграниченно, с оговоркамиБез ограничений
Типичное применениеВеб-сервисы, DNS, базы, внутренние утилитыWindows, чужие ядра, недоверенные клиенты, Docker/Kubernetes

Docker официально рекомендуется запускать в виртуальной машине, а не в LXC-контейнере.

ISO или Debian: что выбрать

Установка с ISOПоверх Debian 13
Нужна консоль сервераДа (физически или через IPMI/KVM-over-IP)Нет, хватит SSH
ZFS на корневом разделеИз коробкиСложно, вручную
Разметка дисковТиповая (LVM-thin или ZFS)Любая своя
Мост vmbr0Создаётся автоматическиНужно создать вручную
Время установки10–15 минут30–40 минут

Типичные проблемы

СимптомПричинаРешение
apt update: 401 Unauthorized от enterprise.proxmox.comВключён enterprise-репозиторий без подпискиВыключить pve-enterprise и enterprise Ceph, подключить no-subscription
Не открывается :8006, pve-cluster не стартуетИмя хоста разрешается в 127.0.1.1Исправить /etc/hosts, проверить hostname --ip-address, перезапустить pve-cluster
«KVM virtualisation configured, but not available»VT-x/AMD-V выключены в BIOS или нет вложенной виртуализацииВключить в BIOS; для теста — снять галочку KVM hardware virtualization в Options ВМ (будет очень медленно)
После перезагрузки пропала сетьОшибка в /etc/network/interfaces или неверное имя интерфейса в bridge-portsЗайти через консоль, сверить с ip -br link, выполнить ifreload -a
ВМ без сетиНет моста или ВМ подключена не к тому мостуСоздать vmbr0, проверить net0 в Hardware ВМ
Контейнер не монтирует NFS/CIFSНепривилегированный контейнерСмонтировать на хосте и пробросить через точку монтирования mp0

Обновление с Proxmox VE 8

Если у вас работает 8.x на Debian 12, ветка уже без поддержки. Перед переходом на 9.x обновитесь до последней 8.4 и запустите встроенную проверку pve8to9 --full. Она покажет, что нужно исправить до смены репозиториев. Порядок действий описан в официальной инструкции Upgrade from 8 to 9. Перед обновлением обязательно сделайте бэкапы всех гостей и проверьте, что их можно восстановить.

Частые вопросы

Proxmox VE действительно бесплатный?

Да. Код открыт под AGPLv3, все функции доступны без оплаты, включая кластер, ZFS, Ceph и бэкапы. Подписка даёт доступ к enterprise-репозиторию с более проверенными обновлениями и техподдержку. Без неё вы пользуетесь репозиторием no-subscription и видите окно-напоминание при входе.

Можно ли поставить Proxmox на Ubuntu или AlmaLinux?

Нет. Proxmox VE поддерживается только на Debian той версии, на которой собран выпуск: для 9.x это Debian 13. На Ubuntu, AlmaLinux или Rocky Linux его не поставить. Если нужна виртуализация на RHEL-системе, смотрите на libvirt с Cockpit или на OpenNebula.

Сколько нужно памяти?

Самой системе хватает 2 ГБ, остальное считается по гостям: сумма памяти всех ВМ и контейнеров плюс запас. С ZFS прибавьте память под кеш ARC — в Proxmox 9 при установке с ISO его размер по умолчанию ограничивается, но на нагруженных хранилищах лучше настроить лимит под свою задачу. Для небольшого домашнего сервера разумный минимум — 16 ГБ.

Можно ли убрать окно «No valid subscription»?

Можно правкой JavaScript-файла, но делать этого не стоит. Правка пропадает при каждом обновлении интерфейса, а ошибка в ней ломает вход в панель. Окно ни на что не влияет: достаточно нажать OK.

Как перенести контейнеры со старого OpenVZ?

Прямой конвертации из OpenVZ на CentOS 6 в LXC на Proxmox 9 нет. Надёжнее создать новый LXC-контейнер из актуального шаблона и перенести в него данные и конфигурацию сервисов через rsync. Заодно уйдёте со старой ОС внутри контейнера.

Можно ли открыть порт 8006 в интернет?

Нежелательно даже с двухфакторной аутентификацией. Панель даёт полный контроль над всеми гостями, а ошибки в веб-сервисах находят регулярно. Правильный вариант — доступ через VPN (WireGuard, OpenVPN) или белый список адресов в firewall.