mysurik.ru

Почему я выбрал Proxmox вместо VMware и не пожалел

Почему я выбрал Proxmox вместо VMware и не пожалел



Как всё начиналось

До недавнего времени у меня стоял обычный Hyper-V на Windows Server. До него был ESXi от VMware. Каждый раз я мучился: то лицензия кончится, то оборудование не поддерживается, то миграция ВМ — целый квест. Когда VMware начал закручивать гайки с подписками, а Hyper-V тупил на NVMe-дисках, я решил — хватит.

Начал присматриваться к Proxmox. Знаете, это как переходить с iPhone на Android: сначала страшно, потом понимаешь, что зря не сделал этого раньше.

Proxmox — это дистрибутив на Debian с двумя типами виртуализации: KVM (полноценные ВМ) и LXC (контейнеры). Плюс ZFS, Ceph, кластеризация, веб-интерфейс — и всё бесплатно. Да, есть платная подписка на поддержку, но сам гипервизор работает и без неё.

Я поставил Proxmox на свой домашний сервер (Ryzen 5, 32 GB RAM, 1 TB NVMe) и погнал.

Установка: проще некуда

Скачал ISO с официального сайта, записал на флешку через Ventoy, загрузился — и через 15 минут система стояла. Установщик тупой и понятный: выбрал диск, задал пароль root, настроил сеть. Никаких танцев с бубном, как с ESXi (где нужно HCL проверять, что сетевуха поддерживается).

Proxmox 9.1 (сейчас уже 9.2 есть) встал на мой NVMe Samsung 980 Pro с ZFS из коробки. ZFS даёт снапшоты, сжатие, RAID-Z, если дисков несколько. У меня пока один диск, но ZFS всё равно пригодится — про compression и дедупликацию расскажу позже.

После установки зашёл в веб-морду по https://192.168.0.196:8006. Первое, что бросилось в глаза — интерфейс выглядит современно. Не как админка Hyper-V, где будто 2005 год застыл. Datacenter → Nodes → Storage → VM — всё логично, ничего не надо искать в трёх уровнях меню.

Первая ВМ: Ubuntu 24.04

Нажал «Create VM», указал имя, выбрал ISO образ (заранее залил в local storage), дал 4 ядра, 8 GB RAM, 32 GB диск на ZFS. Выбрал VirtIO SCSI и VirtIO сетевую карту — это даёт лучшую производительность. Создал — и через 30 секунд ВМ уже загружалась. Без перезагрузки хоста, без магии.

VirtIO драйвера для Linux — родные, ничего ставить не надо. Для Windows пришлось бы скачать ISO с драйверами, но я под него пока ВМ не заводил.

Установка Ubuntu прошла штатно. Скорость чтения диска внутри ВМ — около 1.2 GB/s (хостовой NVMe выдаёт 3.5 GB/s). Потери есть, но для моих задач (веб-сервер, n8n, базы данных) это незаметно.

Миграция с VMware: как я перетаскивал ВМ

У меня на старом ESXi-хосте оставалось три ВМ: тестовый Ubuntu, старый CentOS и Windows 10 для экспериментов. Proxmox 9.x имеет встроенный мастер импорта из ESXi. Работает так:

Datacenter → (выбрать ноду) → Disks → Import → Выбрать ESXi host

Я указал IP своего старого ESXi, логин/пароль, выбрал ВМ — и Proxmox сам сконвертировал VMDK в qcow2 и создал ВМ с совместимой конфигурацией. Перенёс так Ubuntu и CentOS. Windows 10 переносить не стал — всё равно чистая установка быстрее, чем завозить старые проблемы.

Единственный косяк — сетевые настройки. После импорта пришлось перепрописать интерфейсы: на ESXi была e1000, а я переключил на VirtIO для производительности. Если оставить e1000 — работает, но медленнее.

LXC контейнеры: моё открытие

До Proxmox я никогда не пользовался LXC. Всегда думал: «Контейнеры — это Docker». На деле LXC — это лёгкие виртуалки без лишнего оверхеда. Запускаешь контейнер с Ubuntu — и получаешь почти голое ядро хоста, но со своим окружением. Ресурсов жрёт в разы меньше, чем полноценная ВМ.

Я завёл три LXC-контейнера:

  • nginx reverse proxy — 256 MB RAM, 2 GB disk
  • Docker внутри LXC (да, так можно) — 1 GB RAM
  • Тестовая среда для PHP — 512 MB RAM

Загрузка контейнера — 2 секунды. Снапшот — 1 секунда. Обновление ОС — мигом. Это намного быстрее и проще, чем ВМ.

Но есть нюанс: LXC — это не Docker. Вы не можете просто взять образ из registry. Вы создаёте контейнер из шаблона (Ubuntu, CentOS, Alpine и т.д.) и настраиваете его как обычную Ubuntu. Docker внутри LXC работает, но нужен privileged режим и подмонтированный cgroup.

ZFS: почему я влюбился

До Proxmox я использовал NTFS и ext4. ZFS — это другой уровень. У меня один NVMe диск, но ZFS всё равно даёт:

  • Сжатие (compression=zstd) — на моих ВМ экономит около 30-40% места, особенно на логах и БД
  • Снапшоты — делаю перед каждым обновлением пакетов. Если что-то пошло не так — откат за секунду
  • Checksum — защита от битых данных (bit rot)
  • Клонирование снапшотов — могу запустить копию продакшн-ВМ для теста за пару секунд

Настроил автоматические снапшоты раз в день через встроенный плагин Proxmox. Retention: 7 daily, 4 weekly. Работает как часы.

Бекапы: Proxmox Backup Server

Отдельно кайфую от Proxmox Backup Server. Это ещё один Debian-сервер, который забирает бекапы по сети с дедупликацией и сжатием. Я поставил PBS на отдельную ВМ с виртуальным диском 200 GB.

Бекап ВМ (4 GB RAM, 20 GB disk) в первый раз занял ~10 минут. Инкрементальные бекапы — 30-60 секунд. Дедупликация на уровне блоков, поэтому даже если каждый день бекапить все ВМ, место растёт не сильно.

Настроил расписание в веб-интерфейсе: ежедневно в 02:00, retention 7 дней. И забыл. Бекапы сами ходят, сами чищат старое.

Восстановление проверял: откатил ВМ на состояние недельной давности — 4 минуты, и всё работает. Это вам не Hyper-V с его .vhd файлами, где бекап — это просто копия файла.

Кластеризация

У меня пока один хост, но возможность объединения нескольких нод в кластер заложена из коробки. Нужно будет расширяться — добавляю второй сервер, нажимаю «Join cluster», и ВМ можно live-мигрировать между нодами. Без остановки сервисов. Без общего хранилища (через репликацию ZFS).

На VMware за такую функциональность нужно покупать vMotion в Enterprise лицензии. На Hyper-V — Live Migration есть, но настройка через PowerShell иногда плавит мозг.

В Proxmox — три клика, и кластер готов.

С чем я столкнулся

Было и несколько граблей:

1. Email-уведомления

Proxmox по умолчанию шлёт алерты на root@localhost. Чтобы получать их на почту, нужно настроить Postfix. Сделал через релей на свой SMTP-сервер. Минут 15 гугления, но потом забыл.

2. Enterprise репозиторий

После установки Proxmox подключает платный enterprise-репозиторий. Если нет подписки, pt update выдаёт ошибку. Лечится отключением:

sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

И добавлением бесплатного community-репозитория (no-subscription).

3. Сетевой мост

Пришлось разобраться с Linux Bridge. Для ВМ, которые должны быть в одной сети с хостом, нужно создавать мост и привязывать к нему физический интерфейс. В веб-морде это делается в разделе Network. Я намудрил с VLAN, но потом разобрался.

4. GPU Passthrough

Я пробовал пробросить RX 580 в ВМ для ComfyUI. Это отдельная эпопея. В итоге забил — проще Docker с CPU. Но в целом GPU passthrough работает, если возиться.

Цифры для сравнения

Привожу субъективные ощущения:

Параметр VMware ESXi Hyper-V Proxmox
Установка 30 мин + HCL проверка 10 мин + Windows 15 мин
Лицензия +/год В составе Windows Server Бесплатно
Производительность NVMe Хорошо (но прослойка VMkernel) Средне Отлично (virtio)
Бекапы Veeam (платный) или ghettoVCB Windows Backup PBS (бесплатно, дедупликация)
Контейнеры Нет (отдельный vSphere) Нет (только Docker через VM) LXC встроен
Live-миграция vMotion (Enterprise) Live Migration Бесплатно
Веб-интерфейс vCenter (громоздкий) Hyper-V Manager (унылый) Современный, REST API
Снапшоты Есть Есть ZFS — моментальные

Выводы

Я переехал на Proxmox полгода назад — и ни разу не пожалел. Сервер работает без перезагрузки, бекапы ходят сами, снапшоты спасают перед экспериментами, а LXC контейнеры позволили упаковать в 32 GB RAM столько сервисов, сколько раньше еле влезало в 64.

Что я советую:

  • Если у вас ESXi без поддержки — не ждите, пока сломается, мигрируйте. Proxmox импортирует ВМ прямо из ESXi
  • Если Hyper-V и вы не привязаны к Windows — попробуйте Proxmox на тестовом сервере
  • Обязательно ставьте на ZFS. Даже на одном диске сжатие и снапшоты того стоят
  • Не забудьте отключить enterprise-репозиторий и переключиться на no-subscription
  • Настройте PBS для бекапов — это лучшее, что есть в экосистеме Proxmox

Proxmox — это VMware, который не просит денег и не вставляет палки в колёса. Делай что хочешь, и всё работает.

А вот с чего всё начиналось — Proxmox на старом системнике.

Этот пост — часть большого цикла про Proxmox. Если хочешь пройти путь от установки до продакшена — у меня есть сводный гайд с навигацией по всем статьям.

Комментарии

  • Подскажи, как у тебя настроен PBS? Я тоже поставил, но бекапы жрут место как не в себя. Может я дедупликацию не включил?

  • Сам недавно переехал с ESXi на Proxmox. VMware реально достал своими лицензиями. У тебя хорошо описано про LXC — я тоже сперва не понимал, зачем они, а теперь только в контейнерах и работаю. Памяти экономит кучу.

  • ZFS реально имба. У меня на сервере 4 диска в RAID-Z, снапшоты делаю каждый час. Уже дважды спасало, когда после обновления что-то отваливалось. Откат за секунду — и ты снова в деле.

  • На одном хосте Proxmox уже 2 года. Два раза диск умирал — ZFS пережил, данные не потерялись. Для дома лучший вариант.

  • А я всё никак не решусь. На ESXi стоит штук 15 ВМ, боюсь, что миграция будет болезненной. У тебя реально всё гладко прошло с импортом?

  • Про GPU passthrough отдельную статью напиши! Я тоже мучился с RX 580, в итоге купил NVIDIA P4 за 5000 на авито — завелась без танцев.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *