Proxmox VE – wirtualizacja serwerów od podstaw
Wirtualizacja

Proxmox VE – wirtualizacja serwerów od podstaw

Proxmox VE – wirtualizacja serwerów od podstaw

Image

Image

Image

Image

Image

Image

Proxmox VE (Virtual Environment) to platforma do wirtualizacji serwerów oparta na Debianie i technologiach Linux. Łączy KVM/QEMU do pełnych maszyn wirtualnych oraz LXC do kontenerów systemowych.

Najprościej:

                 Proxmox VE
                      |
          +-----------+-----------+
          |                       |
        KVM/LXC                 Storage
          |                       |
     +----+----+            +-----+-----+
     |         |            |           |
    VM        CT          ZFS         Ceph

Czym jest Proxmox VE?

Proxmox VE można traktować jako gotową platformę do zarządzania infrastrukturą wirtualizacyjną.

Zamiast ręcznie konfigurować:

Linux
KVM
QEMU
LXC
libvirt
networking
storage
backup

otrzymujemy jeden system z centralnym interfejsem:

Proxmox VE
     |
     +-- Web UI
     +-- CLI
     +-- API
     +-- KVM
     +-- LXC
     +-- Storage
     +-- Cluster
     +-- Backup

Proxmox VE a KVM

KVM odpowiada przede wszystkim za wirtualizację CPU.

Proxmox wykorzystuje cały stos:

Proxmox VE
     |
     v
QEMU
     |
     v
KVM
     |
     v
CPU

Dzięki temu można uruchamiać pełne maszyny:

Windows Server
Ubuntu
Debian
Rocky Linux
FreeBSD

Proxmox VE a LXC

Drugą technologią jest LXC.

W przypadku VM:

VM
 |
 +-- Virtual CPU
 +-- Virtual RAM
 +-- Virtual Disk
 +-- Guest Kernel

W przypadku LXC:

Container
 |
 +-- Application
 +-- Filesystem
 |
 +-- Host Linux Kernel

Dlatego kontenery LXC są znacznie lżejsze od pełnych VM.


VM vs Container

Cecha KVM VM LXC
Guest kernel
Pełna wirtualizacja
Izolacja bardzo dobra dobra
Narzut większy mały
Windows
Start wolniejszy bardzo szybki
Typowe zastosowanie serwery/VM lekkie usługi

Architektura Proxmox

                    Physical Server
                          |
                          v
                    Proxmox VE
                          |
            +-------------+-------------+
            |                           |
           KVM                         LXC
            |                           |
       +----+----+                 +----+----+
       |         |                 |         |
      VM1       VM2               CT1       CT2
       |         |                 |         |
    Ubuntu    Windows            Nginx     Redis

Web Interface

Jedną z największych zalet Proxmox jest webowy panel administracyjny.

Można z niego zarządzać:

  • VM,
  • kontenerami,
  • storage,
  • siecią,
  • backupami,
  • snapshotami,
  • klastrem,
  • użytkownikami,
  • uprawnieniami.

Zamiast wykonywać wszystko przez CLI:

qm create
qm start
qm stop
pct create
pct start

można korzystać z GUI.


Tworzenie VM

Typowy workflow:

ISO
 |
 v
Create VM
 |
 +-- CPU
 +-- RAM
 +-- Disk
 +-- Network
 |
 v
Start
 |
 v
Install OS

Przykładowa VM:

Name: ubuntu-server
CPU: 4 vCPU
RAM: 8 GB
Disk: 100 GB
Network: VirtIO

VirtIO

Proxmox korzysta z parawirtualizowanych urządzeń VirtIO.

Przykład:

VM
 |
 +-- virtio-net
 |
 +-- virtio-scsi
 |
 +-- virtio-rng

Dzięki temu zmniejsza się narzut związany z emulacją sprzętu.


Storage

Proxmox obsługuje wiele typów storage.

Przykładowo:

Local
Directory
LVM
LVM-thin
ZFS
NFS
iSCSI
Ceph

Możemy mieć:

                  Proxmox
                     |
        +------------+------------+
        |            |            |
       ZFS          NFS          Ceph
        |            |            |
      Local        NAS         Cluster

ZFS

ZFS jest często wykorzystywany w instalacjach Proxmox.

Zapewnia m.in.:

  • snapshoty,
  • checksumming,
  • RAID-Z,
  • compression,
  • self-healing w odpowiednich konfiguracjach.

Przykład:

                 ZFS Pool
                    |
        +-----------+-----------+
        |           |           |
       VM1         VM2         VM3

Ceph

W większych środowiskach można wykorzystać Ceph.

To rozproszony system storage.

Schemat:

        Proxmox Cluster

   Node 1       Node 2       Node 3
      |            |            |
      +------------+------------+
                   |
                  Ceph
                   |
          Distributed Storage

Dzięki temu dane mogą być rozproszone pomiędzy wiele serwerów.


Proxmox Cluster

Można połączyć wiele hostów:

             Proxmox Cluster

       +---------+---------+
       |         |         |
     Node 1    Node 2    Node 3
       |         |         |
      VM1       VM2       VM3

Centralnie można zarządzać całym środowiskiem.


HA – High Availability

W klastrze można skonfigurować High Availability.

Przykład:

VM 100
 |
Node 1
 |
X FAILURE
 |
 v
Node 2
 |
 v
VM 100

Mechanizm HA może automatycznie uruchomić VM na innym węźle.


Ważne: HA nie jest backupem

To bardzo częsty błąd.

HA
→ zapewnia dostępność

Backup:

Backup
→ pozwala odzyskać dane

Potrzebujesz obu.


Proxmox Backup Server

Do backupów można użyć Proxmox Backup Server.

Schemat:

Proxmox Node
     |
     v
VM / Container
     |
     v
Proxmox Backup Server
     |
     v
Backup Repository

PBS obsługuje m.in. deduplikację i przyrostowe backupy.


Snapshot vs Backup

Snapshot:

VM
 |
 +-- Snapshot

jest szybkim punktem przywracania.

Backup:

VM
 |
 v
Backup Server
 |
 v
Independent Storage

jest znacznie lepszym zabezpieczeniem przed utratą całej maszyny lub hosta.

 

Proxmox VE – wirtualizacja serwerów od podstaw
Proxmox VEwirtualizacja serwerów od podstaw

Sieć w Proxmox

Typowa konfiguracja:

                    Physical NIC
                         |
                         v
                        vmbr0
                  Linux Bridge
                   /    |    \
                  /     |     \
                VM1    VM2    CT1

VM może otrzymać:

VirtIO NIC

a następnie:

VLAN
Firewall
Bridge
Routing

VLAN

Proxmox może być elementem infrastruktury VLAN.

Przykład:

VLAN 10
Management

VLAN 20
Servers

VLAN 30
Storage

VLAN 40
DMZ

Schemat:

              Proxmox
                 |
              vmbr0
                 |
        802.1Q VLAN Trunk
                 |
       +---------+---------+
       |         |         |
     VLAN10    VLAN20    VLAN30

Proxmox Firewall

Proxmox posiada wbudowany firewall.

Reguły można stosować na poziomie:

Datacenter
    |
    +-- Node
          |
          +-- VM
          |
          +-- Container

Przykład:

Internet
   |
Firewall
   |
   +---- 443 → Web Server
   |
   +---- 22  → Management
   |
   X---- 3389 → Blocked

Izolacja VM

Jedną z podstawowych zalet VM jest izolacja.

VM 1
 |
 v
Guest OS
 |
 v
KVM
 |
 X
 |
VM 2

VM1 nie powinna mieć bezpośredniego dostępu do pamięci VM2.


Proxmox i bezpieczeństwo

W środowisku produkcyjnym warto:

✔ aktualizować Proxmox
✔ ograniczyć dostęp do panelu
✔ używać MFA
✔ stosować firewall
✔ izolować management VLAN
✔ ograniczyć dostęp SSH
✔ stosować backupy
✔ monitorować hosty
✔ szyfrować backupy
✔ stosować RBAC

RBAC

Proxmox posiada system uprawnień.

Możemy przydzielić np.:

Administrator
Operator
Auditor
VM Manager
Backup User

Dzięki temu nie każdy administrator musi mieć pełny dostęp do całego klastra.


API

Proxmox posiada API, dzięki któremu można automatyzować zadania.

Przykład:

Terraform
   |
   v
Proxmox API
   |
   v
Create VM

Można automatyzować:

  • tworzenie VM,
  • konfigurację,
  • backupy,
  • sieć,
  • deployment.

Proxmox + Terraform

Przykładowy workflow:

Git
 |
 v
Terraform
 |
 v
Proxmox API
 |
 +---- VM 1
 +---- VM 2
 +---- VM 3

To pozwala traktować infrastrukturę jako kod.


Proxmox + Kubernetes

Proxmox może być warstwą infrastrukturalną dla klastra Kubernetes:

Physical Servers
       |
       v
Proxmox Cluster
       |
 +-----+-----+
 |     |     |
 VM1   VM2   VM3
 |     |     |
 K8s   K8s   K8s
Node  Node  Node

Na VM można następnie uruchomić:

  • Kubernetes,
  • containerd,
  • CNI,
  • ingress,
  • monitoring.

Proxmox + Docker

Można również uruchomić Docker wewnątrz VM:

Proxmox
   |
   v
Ubuntu VM
   |
   v
Docker
   |
 +---+---+
 |       |
App     DB

W praktyce jest to często lepsza architektura niż instalowanie Dockera bezpośrednio na hypervisorze.


Proxmox a Kubernetes

Warto rozdzielić role:

Proxmox
→ virtualizacja

KVM
→ VM

Kubernetes
→ orkiestracja kontenerów

Docker/containerd
→ uruchamianie workloadów

Czyli:

Hardware
   ↓
Proxmox
   ↓
KVM
   ↓
VM
   ↓
Kubernetes
   ↓
Containers

Migracja VM

W klastrze można migrować VM między hostami.

Schemat:

Node 1
  |
 VM 100
  |
  | Migration
  v
Node 2
  |
 VM 100

W zależności od konfiguracji możliwa jest migracja online, czyli z minimalną przerwą w działaniu.


Proxmox VE vs VMware

W dużym uproszczeniu:

Cecha Proxmox VE VMware vSphere
Linux-based
KVM
LXC
Web UI
Clustering
Ceph zależnie od produktu
Open source
Koszt niski / opcjonalne wsparcie zwykle wyższy

Proxmox jest szczególnie atrakcyjny dla organizacji, które chcą uniknąć silnego uzależnienia od jednego dostawcy.


Proxmox VE – pełna architektura

                         PROXMOX VE
                              |
        +---------------------+---------------------+
        |                     |                     |
       KVM                   LXC                 Storage
        |                     |                     |
      QEMU                Containers          +------+------+
        |                                     |      |     |
        |                                    ZFS    NFS   Ceph
        |
   +----+----+
   |         |
  VM1       VM2
   |         |
Windows    Linux
   |
VirtIO
   |
Network
   |
vmbr0
   |
Firewall

W środowisku klastrowym:

                  Proxmox Cluster
                         |
          +--------------+--------------+
          |              |              |
        Node 1         Node 2         Node 3
          |              |              |
        KVM/LXC        KVM/LXC        KVM/LXC
          |              |              |
          +--------------+--------------+
                         |
                       Ceph
                         |
                  Distributed Storage

Najważniejsze do zapamiętania

Proxmox VE
→ platforma do zarządzania wirtualizacją

KVM/QEMU
→ pełne maszyny wirtualne

LXC
→ lekkie kontenery systemowe

ZFS
→ lokalny storage z zaawansowanymi funkcjami

Ceph
→ rozproszony storage

Cluster
→ wiele hostów Proxmox

HA
→ automatyczne odtwarzanie VM na innym węźle

PBS
→ dedykowany system backupu

VirtIO
→ wydajne urządzenia VM

API
→ automatyzacja infrastruktury

Najważniejsza rzecz: Proxmox VE nie jest tylko „panelem do KVM”. To kompletny stos infrastrukturalny łączący KVM/QEMU, LXC, networking, storage, clustering, HA, firewall, backup i API. Dlatego świetnie sprawdza się zarówno na pojedynczym serwerze homelabowym, jak i jako fundament prywatnej infrastruktury produkcyjnej.

Polecane wpisy
Zarządzanie cyklem życia maszyny wirtualnej: tworzenie, klonowanie, usuwanie
Zarządzanie cyklem życia maszyny wirtualnej: tworzenie, klonowanie, usuwanie

🔄 Zarządzanie cyklem życia maszyny wirtualnej: tworzenie, klonowanie, usuwanie W środowiskach IT opartych na wirtualizacji, efektywne zarządzanie cyklem życia maszyn Czytaj dalej

Jak naprawić problemy z udostępnianiem folderów między hostem a gościem?
Jak naprawić problemy z udostępnianiem folderów między hostem a gościem?

📁 Jak naprawić problemy z udostępnianiem folderów między hostem a gościem? Wirtualizacja umożliwia wygodne zarządzanie wieloma systemami operacyjnymi na jednej Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.