Przejdź do treści
Linux i DevOps

10 najlepszych praktyk w Proxmox VE: storage, backup, bezpieczeństwo i wydajność

10 sprawdzonych praktyk w Proxmox VE: aktualizacje i repozytoria, ZFS, kopie w Proxmox Backup Server, VirtIO, 2FA, sieć klastra, firewall i monitoring.

CZCzarek ZawolskiAktualizacja: 8 min czytania
Serwer wirtualizacji w szafie rack z interfejsem zarządzania maszynami wirtualnymi

W skrócie

  • Aktualizuj Proxmox wyłącznie poleceniem apt full-upgrade (lub przez GUI) i z właściwego repozytorium — zwykłe apt upgrade może zostawić system w niespójnym stanie.
  • Kopie zapasowe rób do Proxmox Backup Server lub innego magazynu poza hostem i regularnie testuj odtwarzanie; snapshot nie jest backupem.
  • W maszynach wirtualnych używaj VirtIO SCSI single z IO Thread, QEMU Guest Agenta i sterowników VirtIO, a w Windows dociągnij je z obrazu virtio-win.
  • Nie pracuj na koncie root@pam na co dzień: włącz 2FA, nadawaj role, a panelu na porcie 8006 nie wystawiaj do internetu.
  • Klaster planuj na minimum trzy węzły (albo dwa plus QDevice) i daj corosync osobną, stabilną sieć.
Spis treści

Najważniejsze praktyki w Proxmox VE to: aktualizacje przez apt full-upgrade z właściwego repozytorium, przemyślany storage (ZFS lub LVM-thin), kopie zapasowe poza hostem z testowanym odtwarzaniem, poprawnie skonfigurowane maszyny wirtualne z VirtIO, ograniczony i zabezpieczony dostęp do panelu oraz osobna sieć dla klastra. Te kilka decyzji odpowiada za większość różnic między stabilnym serwerem a takim, który „sam się psuje”.

Poniżej znajdziesz dziesięć praktyk z konkretnymi ścieżkami w interfejsie i poleceniami. Dotyczą aktualnej gałęzi Proxmox VE 9 (opartej na Debianie 13), a większość obowiązuje też w starszej wersji 8. Jeśli dopiero instalujesz system, zacznij od poradnika Proxmox – instalacja i konfiguracja.

1. Ustaw właściwe repozytoria i aktualizuj przez full-upgrade

Świeża instalacja ma włączone repozytorium enterprise, które bez subskrypcji zwraca błąd przy aktualizacji. Zamiast edytować pliki ręcznie, zrób to w GUI:

  1. Wybierz węzeł → Updates → Repositories.
  2. Zaznacz repozytorium pve-enterprise (i ceph … enterprise, jeśli jest) i kliknij Disable.
  3. Kliknij Add, wybierz No-Subscription i zatwierdź.
  4. Przejdź do Updates → Refresh, a następnie Upgrade.

Z konsoli aktualizacja wygląda tak:

apt update
apt full-upgrade
pveversion -v    # sprawdzenie wersji pakietów Proxmox

Proxmox w dokumentacji wprost zaleca full-upgrade (lub dist-upgrade), a nie apt upgrade, bo aktualizacje często wymagają nowych zależności lub usunięcia starych pakietów. Po aktualizacji jądra zaplanuj restart hosta. Przy przejściu między głównymi wersjami (np. z 8 na 9) najpierw uruchom skrypt kontrolny pve8to9 --full i postępuj według oficjalnej instrukcji aktualizacji na wiki Proxmox.

2. Dobierz storage do sprzętu: ZFS albo LVM-thin

Wybór systemu plików przy instalacji trudno później zmienić, więc warto go przemyśleć:

CechaZFSLVM-thin (ext4/XFS pod spodem)
Ochrona przed cichą korupcją danychTak, sumy kontrolneNie
RAID programowyWbudowany (mirror, RAIDZ)Wymaga mdadm lub kontrolera RAID
Kompresja, replikacja między węzłamiTakNie
Zużycie RAMWyższe (cache ARC)Niskie
Sprzętowy RAID pod spodemOdradzanyBez problemu

Przy ZFS pamiętaj o trzech rzeczach. Po pierwsze, podłącz dyski bezpośrednio (HBA lub tryb IT), nie przez sprzętowy RAID. Po drugie, ZFS z maszynami wirtualnymi intensywnie zapisuje, więc konsumenckie SSD bez zabezpieczenia przed utratą zasilania (PLP) zużywają się szybko — do produkcji wybieraj dyski klasy enterprise. Po trzecie, kontroluj cache ARC: od Proxmox VE 8.1 instalator domyślnie ogranicza go do 10% RAM (maks. 16 GiB), ale na starszych instalacjach ARC może zająć połowę pamięci. Limit ustawisz tak (przykład: 8 GiB):

echo "options zfs zfs_arc_max=8589934592" > /etc/modprobe.d/zfs.conf
update-initramfs -u -k all
# po restarcie sprawdź:
cat /sys/module/zfs/parameters/zfs_arc_max

3. Kopie zapasowe poza hostem i testy odtwarzania

Najlepszym celem kopii dla Proxmox VE jest Proxmox Backup Server (PBS): kopie są przyrostowe, deduplikowane i szyfrowane po stronie klienta, a PBS potrafi sam weryfikować ich integralność. Alternatywą jest udział NFS/SMB lub dysk na innym serwerze.

  1. Dodaj magazyn: Datacenter → Storage → Add → Proxmox Backup Server (lub NFS/SMB).
  2. Utwórz zadanie: Datacenter → Backup → Add, wybierz maszyny, harmonogram, tryb Snapshot i politykę retencji (np. 7 dziennych, 4 tygodniowe, 6 miesięcznych).
  3. Na PBS ustaw zadania Verify i Prune/GC.
  4. Raz na jakiś czas odtwórz losową maszynę pod nowym VMID i sprawdź, czy się uruchamia.

Ręczny backup z konsoli:

vzdump 101 --storage pbs01 --mode snapshot

Snapshot maszyny w Proxmoxie leży na tym samym storage co dysk VM i znika razem z nim przy awarii — dlaczego nie zastępuje kopii, wyjaśnia artykuł Czy snapshot to backup?. Trzymaj się zasady 3-2-1: trzy kopie, dwa różne nośniki, jedna poza lokalizacją (PBS obsługuje synchronizację do zdalnego datastore).

4. Konfiguruj maszyny wirtualne pod wydajność

Domyślne ustawienia kreatora są bezpieczne, ale nie zawsze optymalne. Przy tworzeniu VM:

  • Kontroler dysku: VirtIO SCSI single, a przy dysku zaznacz IO thread i Discard (to drugie zwraca zwolnione miejsce na thin storage, przy SSD dodaj też SSD emulation).
  • Karta sieciowa: model VirtIO (paravirtualized).
  • Typ CPU: domyślny x86-64-v2-AES zapewnia kompatybilność przy migracji między różnymi procesorami. Jeśli wszystkie węzły mają identyczne CPU albo masz jeden host, host daje pełny zestaw instrukcji i lepszą wydajność.
  • QEMU Guest Agent: zaznacz w zakładce Options i zainstaluj w systemie gościa (qemu-guest-agent w Linuksie). Dzięki niemu Proxmox poprawnie zamyka VM, widzi jej adres IP i zamraża system plików przed backupem.
  • Windows: podłącz obraz ISO virtio-win jako drugi napęd i zainstaluj sterowniki dysku, sieci i balloon oraz agenta.
qm set 101 --agent enabled=1
qm config 101    # podgląd konfiguracji VM

Nie przydzielaj więcej vCPU, niż maszyna faktycznie potrzebuje — nadmiar rdzeni może pogorszyć wydajność przez opóźnienia w planowaniu. Ogólne podstawy wirtualizacji znajdziesz w tekście Maszyna wirtualna — co to jest i do czego służy.

5. Świadomie wybieraj między VM a kontenerem LXC

Kontenery LXC są lżejsze od maszyn wirtualnych i świetnie nadają się do prostych usług linuksowych (serwer DNS, reverse proxy, baza danych). Dzielą jednak jądro z hostem, więc:

  • twórz kontenery nieuprzywilejowane (domyślna opcja Unprivileged container w kreatorze),
  • nie uruchamiaj w LXC systemów innych niż Linux ani usług wymagających własnych modułów jądra,
  • Dockera i inne środowiska kontenerów aplikacyjnych dokumentacja Proxmox zaleca uruchamiać w maszynie wirtualnej.

Podstawowe polecenia do kontenerów to pct list, pct enter <ID>, pct start <ID> i pct stop <ID>, a do maszyn wirtualnych — qm list, qm start <ID>, qm shutdown <ID>.

6. Zabezpiecz dostęp: 2FA, role i brak root na co dzień

Panel Proxmox daje pełną kontrolę nad wszystkimi maszynami, więc traktuj go jak najcenniejsze konto w firmie:

  1. Włącz drugi składnik dla konta root: menu użytkownika (prawy górny róg) → TFA → Add → TOTP lub WebAuthn. Zapisz kody odzyskiwania.
  2. Utwórz osobne konta dla administratorów: Datacenter → Permissions → Users, a uprawnienia nadawaj przez grupy i role (np. PVEAdmin, PVEVMAdmin, PVEAuditor) zamiast używać root@pam.
  3. Dla skryptów i automatyzacji (Terraform, Ansible) twórz tokeny API z ograniczonymi uprawnieniami: Permissions → API Tokens.
  4. W SSH logowanie tylko kluczem: PasswordAuthentication no w /etc/ssh/sshd_config.

Uwaga: Nie wystawiaj portu 8006 (panel) ani 22 (SSH) bezpośrednio do internetu. Do zdalnej administracji używaj VPN, np. WireGuard. Panel zarządzania hypervisorem to jeden z ulubionych celów ataków na firmy.

7. Włączaj firewall Proxmoxa z głową

Proxmox ma wbudowany firewall na trzech poziomach: centrum danych, węzła i pojedynczej VM/kontenera. Jest przydatny zwłaszcza do izolowania maszyn od siebie, ale łatwo się nim odciąć od serwera.

  1. Najpierw dodaj reguły: Datacenter → Firewall → Add — zezwól na port 8006 i 22 ze swojej sieci administracyjnej (możesz też uzupełnić zestaw adresów IPSet management).
  2. Dopiero potem włącz firewall: Datacenter → Firewall → Options → Firewall: Yes.
  3. Na poziomie VM włącz go w opcjach maszyny i przy jej karcie sieciowej (pole Firewall przy urządzeniu sieciowym).

Zawsze miej dostęp awaryjny — konsolę IPMI/iDRAC/iLO albo fizyczny dostęp — zanim zaczniesz eksperymentować z regułami. Polecenie pve-firewall status pokaże, czy usługa działa.

8. Rozdziel sieci i używaj VLAN-ów

W małym homelabie wystarczy jeden mostek vmbr0, ale w firmie warto rozdzielić ruch:

  • zarządzanie — panel i SSH,
  • corosync — komunikacja klastra; potrzebuje niskich i stabilnych opóźnień, najlepiej osobny interfejs i drugi link zapasowy,
  • storage — Ceph, NFS, iSCSI, migracje; im szybciej, tym lepiej (10 GbE i więcej),
  • ruch maszyn wirtualnych — w VLAN-ach.

Zamiast tworzyć osobny mostek na każdy VLAN, zaznacz w ustawieniach mostka (węzeł → System → Network → vmbr0 → Edit) opcję VLAN aware i podawaj numer VLAN w karcie sieciowej każdej VM. Łączenie kilku kart w bond (LACP) zapewnia redundancję łącza, ale wymaga obsługi po stronie przełącznika.

9. Klaster: kworum, QDevice i rozsądne HA

Klaster pozwala zarządzać wieloma węzłami z jednego panelu, migrować maszyny na żywo i korzystać z wysokiej dostępności (HA). Kilka zasad:

  • Klaster potrzebuje większości głosów (kworum). Przy trzech węzłach awaria jednego nie zatrzymuje pracy; przy dwóch utrata jednego blokuje zarządzanie. Dla dwóch serwerów dodaj QDevice na zewnętrznej maszynie (np. małym serwerze lub Raspberry Pi).
  • Stan klastra sprawdzisz poleceniem pvecm status.
  • HA wymaga współdzielonego lub replikowanego storage i działa przez automatyczne restartowanie maszyn na innym węźle — to nie jest „zero przestoju”, tylko szybkie przywrócenie.
  • Ceph w Proxmoxie ma sens od trzech węzłów i szybkiej, dedykowanej sieci. Szczegóły opisuje artykuł Ceph w Proxmox.

Nie dodawaj do klastra węzłów połączonych przez internet lub łącze o dużych opóźnieniach — corosync tego nie toleruje.

10. Monitoruj sprzęt, storage i powiadomienia

Większość awarii daje sygnały wcześniej: rosnąca liczba błędów SMART, zdegradowana pula ZFS, nieudane backupy. Upewnij się, że je zobaczysz:

  1. Skonfiguruj powiadomienia: Datacenter → Notifications — dodaj cel (SMTP, Gotify lub webhook) i reguły dla backupów, replikacji i błędów.
  2. Sprawdzaj dyski: węzeł → Disks pokazuje stan SMART, a z konsoli smartctl -a /dev/sda.
  3. Dla ZFS: zpool status -x powinno zwrócić „all pools are healthy”. Proxmox domyślnie uruchamia comiesięczny scrub.
  4. Dla dłuższej historii metryk dodaj serwer metryk: Datacenter → Metric Server (InfluxDB lub Graphite) i wizualizuj dane np. w Grafanie.

Do tego dochodzi porządek: szablony VM z cloud-init zamiast ręcznej instalacji, spójne zakresy VMID (np. 100–199 serwery, 200–299 testy), tagi i notatki przy maszynach. W większym środowisku powtarzalne zadania warto przenieść do automatyzacji, np. Ansible.

Od czego zacząć na istniejącym serwerze

Jeśli masz już działający Proxmox i chcesz go uporządkować, zrób to w tej kolejności, bo tak maleje ryzyko utraty danych:

  1. Sprawdź, czy istnieją kopie wszystkich maszyn poza hostem, i przetestuj odtworzenie jednej z nich.
  2. Popraw repozytoria i zaktualizuj system przez full-upgrade; jeśli to wciąż gałąź 8.x, zaplanuj przejście na 9.
  3. Włącz 2FA, utwórz osobne konta i odetnij panel od internetu.
  4. Skonfiguruj powiadomienia o błędach backupu i dysków.
  5. Dopiero potem zajmij się wydajnością maszyn, siecią i ewentualnym klastrem.

Jeśli wciąż rozważasz, czy Proxmox to właściwa platforma, porównanie Proxmox vs VMware ESXi pomoże podjąć decyzję.

Najczęściej zadawane pytania

Jak poprawnie aktualizować Proxmox VE?

Przez GUI (węzeł → Updates → Refresh, potem Upgrade) albo poleceniem apt update && apt full-upgrade. Nie używaj samego apt upgrade, bo nie instaluje nowych zależności i może zostawić pakiety Proxmoxa w niespójnym stanie.

Czy Proxmox można używać bez subskrypcji?

Tak. Wystarczy wyłączyć repozytorium enterprise i włączyć repozytorium no-subscription w zakładce Repositories węzła. Dostajesz te same funkcje, ale aktualizacje są mniej przetestowane niż w kanale enterprise.

ZFS czy LVM-thin w Proxmox?

ZFS daje sumy kontrolne, kompresję, mirror programowy i replikację między węzłami, ale potrzebuje więcej RAM i nie powinien działać na sprzętowym RAID. LVM-thin jest prostszy i lżejszy, dobry na pojedynczy dysk lub kontroler RAID.

Czy Dockera uruchamiać w kontenerze LXC czy w maszynie wirtualnej?

Dokumentacja Proxmox zaleca uruchamianie Dockera w maszynie wirtualnej. W LXC zwykle działa, ale aktualizacje hosta potrafią to zepsuć, a izolacja jest słabsza.

Ile węzłów potrzeba do klastra Proxmox z HA?

Minimum trzy głosy, aby klaster zachował kworum po awarii jednego węzła. Przy dwóch serwerach trzeci głos zapewnia QDevice, czyli lekka usługa uruchomiona na zewnętrznej maszynie.

CZ

Autor

Czarek Zawolski

Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.