Proxmox Virtual Environment

Bei Proxmox Virtual Environment oder kurz Proxmox VE handelt es sich um eine auf Debian 9 (Stretch) basierende Virtualisierungsplattform mit einer eigenen Web-Oberfläche.

Als Hypervisor kommt KVM zum Einsatz. Neben klassischen VMs können auch LXC Container (Linux Containers) mit Proxmox VE verwaltet werden.

Proxmox VE steht als Open Source unter der AGPLv3 Lizenz zur Verfügung. Wer also aktuell auf der Suche nach so etwas ist, sollte sich Proxmox VE auf jedenfall anschauen.

Ich betreibe aktuelle mehrere Instanzen von Proxmox VE, zum Beispiel:

  • Ein Proxmox VE Cluster mit vier Knoten
  • Zuhause auf meinem Home-Server

Ich persönlich finde es die bisher beste Web-Oberfläche zur Verwaltung von virtuellen Maschinen. Besonders gut gefällt mir, dass man sowohl die Oberfläche nutzen kann, oder die CLI (also Kommandozeile). Auch das im Hintergrund einfach ein Debian läuft, wo man über apt-get install einfach alles installieren kann was man benötigt finde ich klasse!

Die Installation ist ein Kinderspiel, auch vor Updates habe ich bisher keine Angst, dass letzte große Update von Proxmox VE 4.x auf 5.x, wo auch Debian Jessie auf Debian Stretch angehoben wurde, hatte ohne Probleme funktioniert.

Proxmox Virtual Environment - Die Installation

Ich benutzte den Proxmox VE 5.1 ISO Installer von der offiziellen Website. Um die Screenshots machen zu können, habe ich hier im Beispiel die Installation einmal in VirtualBox durchgeführt.

In der Praxis habe ich die Installation immer von einem USB-Stick oder direkt über das IPMI des Servers durchgeführt. Beides hatte immer problemlos geklappt.

Schritt 1

Proxmox VE Boot Menu Der Installer begrüßt uns gleich mit dem Bootmenü. Hier wählt man natürlich "Install Proxmox VE" aus.

Schritt 2

Proxmox VE Kein KVM Support Wie schon erwähnt führe ich hier die Installation in einer VirtualBox VM auf Windows aus. Wenn bei euch die Meldung kommt, müsst ihr vermutlich im BIOS zuerst die Virtualisierung aktivieren. Bei Intel Proztesoren sucht nach VT-x und bei AMD nach AMD-V.

Danach müsst ihr einmal die AGPLv3 akzeptieren. Proxmox VE Installer AGPLv3

Schritt 3

Proxmox VE Festplatten Konfiguration Ich betreibe alle meine Proxmox VE Systeme mit ZFS. Was die genauen Vorteile davon sind und was man beachten muss, kann im offiziellen Wiki nachgelesen werden.

Proxmox VE ZFS Raid0 Ich habe in meinem System nur eine Festplatte (bzw. SSD) zur Verfügung. Deshalb wähle ich zfs (RAID0). Wenn ihr zwei Festplatten zur Verfügung habt, solltet ihr ein RAID 1 nutzen.

Proxmox VE ZFS - ohne Komprimierung Unter "Advanced Options" deaktiviere ich noch die Komprimierung.

Schritt 4

Proxmox VE - Land konfigurieren Ab jetzt ist die Installation schon fast geschafft. Der Installer fragt euch nun nach eurem Land. Hier könnt ihr auch die Zeitzone und das Tastaturlayout festlegen.

Schritt 5

Proxmox VE - root Passwort setzen Jetzt vergebt ihr das Passwort für den Benutzer root.

Mit dem Passwort was ihr hier setzt, könnt ihr euch auch später in der Web-Oberfläche oder über SSH anmelden.

Schritt 5

Proxmox VE - Netzwerk Konfiguration Im empfehle, für den Proxmox VE Server eine feste IP-Adresse zu setzen.

Schritt 6

Proxmox VE - Installation Ab jetzt ist erst einmal Füße hochlegen angesagt. Nun wird nur noch die eigentliche Installation durchgeführt.

Schritt 7

Proxmox VE - Neustart Wenn die Installation abgeschlossen ist, müsst ihr einen Neustart vom System durchführen.

Nicht vergessen den USB Stick mit dem Installer abzuziehen oder die CD aus dem Laufwerk zu nehmen.

Proxmox VE - erster Login Nach dem Neustart zeigt euch das System direkt die URL für die Web-Oberfläche an. In meinem Fall https://192.168.1.251:8006/. Diese Adresse könnt ihr jetzt in eurem Browser aufrufen.

Bevor ihr jetzt allerdings anfangt, solltet ihr den Artikel auf jedenfall noch zu ende lesen.

No-Subscription Repository

Wenn ihr möchtet, könnt ihr eine Subscription für Proxmox VE erwerben. Die Vorteile könnt ihr im verlinkten Artikel nachlesen.

Für die Nutzung ist keine Subscription erforderlich. Ihr unterstützt damit aber das Produkt.

Wer Proxmox VE ohne Subscription nutzen möchte, sollte das "Proxmox VE No-Subscription Repository" bei sich eintragen. Dafür gibt es im Wiki wieder eine Anleitung.

Im Anschluss noch:

rm /etc/apt/sources.list.d/pve-enterprise.list
apt-get update

Nginx Reverse Proxy für die Proxmox VE Web-Oberfläche

Wer sich nicht den Port 8006 für die Web-Oberfläche merken möchte, kann noch einen Nginx als Revers Proxy instalieren. Dann ist die Proxmox VE Oberfläche direkt über die IP-Adresse des Systems erreichbar.

Auch dafür gibt es eine Anleitung im Wiki.

In der Anleitung gibt es leider ein kleines Problem (oder ich hatte in meinem Test auf jedenfall dieses Problem). Die SSL Zertifikate, welche von Nginx genutzt werden sollen, liegen unter /etc/pve/local/pve-ssl.{pem|key}

Bei /etc/pve/ wird das Proxmox Cluster File System (pmxcfs) genutzt. Ich hatte bei mir das Problem, dass das Dateisystem (pmxcfs) noch nicht bereit war, als Nginx beim Start des System gestartet werden sollte.

Deshalb habe ich die Standard systemd Konfiguration von Nginx überschrieben, dass bevor Nginx gestartet wird, erst der Dienst pve-manager.service gestartet werden muss.

Dazu einfach den folgenden Inhalt in die Datei /etc/systemd/system/nginx.service kopieren.

[Unit]
Description=A high performance web server and a reverse proxy server
Documentation=man:nginx(8)
After=network.target pve-manager.service

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

Dann müsst ihr die Änderungen noch aktivieren:

systemctl daemon-reload

reboot

ZFS - Out of Memory

Wie jedes Dateisystem, nutzt auch ZFS den Arbeitsspeicher als Cache. Bei ZFS wird in der Regel allerdings etwas mehr im Cache gehalten, als bei anderen Dateisystemen.

Zusätzlich wird der Cache nicht als Cache angezeigt, zum Beispiel in htop. Wenn man nun ein System mit wenig RAM benutzt, sollte man eventuell die Größe des Cache reduzieren.

Ich habe in meinem Home-Server zum Beispiel nur 8GB RAM zur Verfügung und deshalb den Cache auf 2GB begrenzt. Mehr Infos gibt es dazu auch noch hier.

Die Größe des Cache wird in der Datei /etc/modprobe.d/zfs.conf in Byte gesetzt:

options zfs zfs_arc_max=2147483648

Hier einfach die gewünschte Größe eintragen. In meinem Fall 2GB * 1024 * 1024 * 1024 = 2147483648.

Proxmox VE Wiki

Wie ihr beim lesen des Artikels schon gemerkt habt, steht für Proxmox VE ein tolles Wiki zur Verfügung. Sollte einmal etwas nicht auf Anhieb klappen, oder man weiß nicht wie etwas geht, ist dies eine super Anlaufstelle.

Weitere Blogbeiträge

Mein aktueller Plan ist, dass ich noch zu folgenden Themen einzelne Blogbeiträge schreibe: