Virtualisierung mit Proxmox

1 Virtualisierung

1.1 Virtualisierung von VMs

Als Virtualisierung bezeichnet man in der Informatik eine Technologie, bei der mittels eines Hypervisors Hardware virtuell simuliert wird. Dadurch können auf einem physischen Computer (Host) mehrere Virtuelle Computer (Virtuelle Maschinen – VMs) betrieben werden. In einer solchen VM kann ein vom Host unabhängiges Betriebssystem inklusive Programme laufen.

Dadurch können sich folgende Vorteile ergeben:

  • Bessere Auslastung der vorhandenen Hardware, da mehrere VMs auf einem Host betrieben werden können. Ohne Virtualisierung müssten unter Umständen mehrere physische Server angeschafft für unterschiedliche Funktionalitäten (Mailserver, Applikationsserver, …) angeschafft werden.
  • Mehrere Hosts können als Knoten zu einem Hochverfügbarkeitscluster verbunden werden. Bei Ausfall eines Knotens z.B. durch einen Hardwaredefekt oder getrennte Netzwerkverbindung können die VMs auf einem anderen weiterbetrieben werden.
  • Der aktuelle Stand von VMs inkl. Arbeitsspeicher kann per Snapshots gesichert und zurückgespielt werden.
  • Es ist möglich Templates für VMs zu erstellen sowie VMs zu klonen, um möglichst viele VMs in kurzer Zeit auszurollen

Durch Virtualisierung können aber auch Nachteile entstehen:

  • Durch die Abstraktion der Hardware mittels des Hypervisors entsteht ein Overhead. Eine VM läuft immer etwas langsamer, auch wenn ihr alle Ressourcen des Hosts zugeteilt werden.
  • Für den Hypervisor können, je nach Produkt, hohe Kosten entstehen.

1.2 Containervirtualisierung

Im Gegensatz zur normalen Virtualisierung mit kompletten VMs wird bei Containern keine Hardware und kein Betriebssystem emuliert. Stattdessen laufen die Container in einzelnen isolierten Bereichen des Hostsystems. Dies hat den Vorteil, das Containervirtualisierung etwas ressourcenschonender ist. Allerdings sind Container nicht für alle Applikationen geeignet.
Als wichtigste und weit verbreitetste Containerlösung hat sich mittlerweile Docker durchgesetzt. Proxmox hingegen unterstützt nur die nativen Linux Container (LXC).

 

1.3 Hypervisor

  • Typ 1:
    • Hypervisor sitzt direkt auf der Hardware auf
    • Hypervisor bildet Schicht über der Hardware (Hypervisor Typ 1 ist eine Art Betriebssystem)
    • Hypervisor benötigt alle Treiber selbst
  • Typ 2:
    • Hypervisor sitzt über einem Hostbetriebssystem
    • Hostsystem kümmert sich um Treiber
    • z.B. vmWare Workstation Player, VirtualBox
Vergleich der Hypervisor-Typen
(Quelle: https://en.wikipedia.org/wiki/Hypervisor)

 

1.4 Proxmox Installation

Installiert wird Proxmox meist mithilfe des bereitgestellten iso-Images (Download), dass auf eine DVD gebrannt oder einen USB-Stick geflasht werden kann. Durch die Installationsschritte führt ein grafischer Dialog, ähnlich zu einem normalen Endnutzerbetriebssystem wie Ubuntu Desktop oder auch Windows.
Alternativ ist es möglich Proxmox manuell auf einem vorhandenen Debian zu installieren. Dies ist allerdings deutlich komplexer, da teilweise manuell Konfigurationsdateien angepasst und Abhängigkeiten installiert werden müssen.

1.5 Bedienung

Nach der Installation erfolgt die weitere Bedienung von Proxmox vorrangig über das Webinterface.
In diesem können unter anderem folgende Einstellungen vorgenommen werden:

  • Allgemeine Einstellungen (Nutzerverwaltung, Speicheranbindung, Netzwerkeinstellungen, Clustermanagement)
  • Konfiguration von Virtuellen Maschinen und LXC-Containern
  • Erstellen und Verwalten von Backups und Snapshots von VMs


Startseite des Webinterface
(https://pve.proxmox.com/mediawiki/images/a/a3/Proxmox-VE-Cluster-Summary.png)

Einige spezielle Einstellungen lassen sich nur über die Kommandozeile bzw. über das Editieren von Konfigurationsdateien vornehmen.
Für detailliertere Informationen zur Bedienung ist das offizielle Proxmox-Wiki die erste Anlaufstelle.

2 Features und Preismodell

2.1 Features

Webbasiertes Management Inferface

  • integriert, separate Mangement Software muss nicht installiert werden
  • schnelle und einfache Erstellung von VMs und Containern
  • Verwaltung des Abos via GUI

Live Migration

  • Verschieben von virtuellen Servern von einem Host zum anderen ohne Downtime möglich
  • Hilfreich bei wichtigen, hochverfügbaren Diensten
  • Administratoren können diesen Prozess entweder per Skript oder im Webinterface starten

Proxmox VE Firewall

  • unterstützt IPv4 und IPv6
  • linuxbasierte Netfilter Technologie
  • Statefull Firewall
  • Verteilte Konfiguration: Main Konfiguration im Cluster Dateisystem (wird auf alle Nodes verteilt), iptable Regeln in den Nodes
    • gut, wenn Main Config bei spezifischen Hosts überschrieben werden soll
  • 3 Ebenen der Konfiguration:
    • Datacenter: Gesamter Traffic von und zu allen Hosts und Gästen
    • Host: Netzwerk-Traffic von und zu Cluster-Konten
    • VM: Traffic von und zu einer spezifischen VM

Backup und Wiederherstellung

  • Vollständige Backups von VMs und Containern
  • Live Snapshot Backups
  • möglich via GUI aber auch über CLI
  • automatische geplante Backups

Mehrere Authentifizierungsmöglichkeiten

  • Linux PAM (pluggable authentication modules e.g. ‚root‘ und weitere lokale Nutzer)
  • Built-In Proxmox VE Authentifizierungsserver
  • Microsoft Active Directory
  • LDAP

Rollenbasierte Administration

  • Nutzer- und Berechtigungmanagement für VMs, Nodes, …
  • vordefinierte Rollen
  • Zugriffsberechtigung auf Objekte

2.2 Preismodell

Proxmox’s Quellcode ist unter der freien Software Lizenz GNU APGL, v3 veröffentlicht und damit frei zum Download, Benutzen und Teilen verfügbar. Man downloaded sich entweder die Proxmox VE ISO Installer oder das Code Repository von Git.

Ein Proxmox VE Abonnement ist ein zusätzliches Service Programm um IT Spezialisten und Unternehmen dabei zu helfen, die Proxmox VE Instanzen regelmäßig upzudaten. Mit dem Abo erhält man Zugang zu den stable Proxmox VE Enterprise Repositories, welche regelmäßig mit Sicherheitsupdates und -verbesserungen ausgestattet werden, und zur technischen Hilfe und Support.

Dabei gibt es vier Pläne zwischen denen gewählt werden kann. Diese sind flexibel und können auf das jeweilige Unternehmen skaliert werden. Das Abomodell bezieht sich auf die Anzahl von physischen Servern und CPUs. Der Abozeitraum beträgt 1 Jahr ab Kaufzeitpunkt.
In einem Cluster braucht jeder Knoten ein valides Abo und das Abolevel muss auf jedem Knoten gleich sein.

Plan 1 – Community:

  • gewährt Zugriff auf die Enterpise Repositories
  • Zugriff auf alle Features
  • Support via Community
  • Preis: 90€ pro Jahr und CPU

Plan 2 – Basic:

  • alle Berechtigungen von Community
  • Support via Customer Portal
  • 3 Support Tickets pro Jahr
  • Antowortzeit des Support Teams: innerhalb eines Werktages
  • Preis: 280€ pro Jahr und CPU

Plan 3 – Standard:

  • alle Berechtigungen von Basic
  • 10 Support Tickets pro Jahr
  • Antwortzeit: 4 Stunden am selben Werktag*
  • Remote Support via SSH
  • Preis: 420€ pro Jahr und CPU

Plan 4 – Premium:

  • alle Berechtigungen von Standard
  • beliebig viele Support Tickets pro Jahr
  • Antwortzeit: 2 Stunden am selben Werktag*
  • Preis: 840€ pro Jahr und CPU

* garantierte Antwortzeit bei kritischen Support Anfragen

3 Vergleich Proxmox, vmWare, Hyper-V

Proxmox vmWare Hyper-V
Hypervisor KVM ESXi Windows Hypervisor
Hypervisor Typ 1 1 1
Unterstützung LXC ja nein nein
Unterstützung Docker-Container (ohne VM) nein nein nein
HA-Cluster ja ja ja
Weboberfläche ja ja nein
CLI ja ja ja
Userverwaltung AD, LDAP, 2 Faktor Auth ESXI (Hypervisor) – LDAP + AD AD, Windows User Verwaltung
RAM / Host 12 TB 24 TB 24 TB
Logische CPU / Host 768 768 512
Storage LVM, LVM thin, iSCS, Ceph/RBD, CephFS, ZFS, NFS, CIFS, ClusterFS NFS3, 4, iSCS, Fibre Channel over Ethernet, Local Volumes iSCS, CIFS
Templates ja ja ja
Clone ja ja ja
Backup / Restore ja ja ja
Snapshot ja ja ja
Kosten kostenlos, Premium-Abos kostenpflichtig kostenlos, kostenpflichtige Zusatzsoftware bei größeren Anwendungsgebieten

Anhand der Tabelle ist deutlich zu erkennen, dass Proxmox sich kaum von den beiden anderen Softwarelösungen unterscheidet. Der größte Unterschied liegt in dem gleichzeitigen Support von Linuxcontainern und virtuellen Maschinen. Im eigentlichen Arbeiten mit den Virtualisierungskomponenten unterscheidet es sich wiederum kaum von Hyper-V und vmWare.

vmWare ist als bereits lange etablierter Wettbewerber weiterhin sehr dominant. vmWare ist sehr robust und stellt eine ausgereifte Virtualisierungslösung dar. Proxmox und Hyper-V stellen eine kostenlose konkurrenzfähige Software dar. Besonders wer viele Linuxcontainer verwalten möchte, ist mit Proxmox auf der sicheren Seite. Möchte der Anwender viel mit Windows-VMs arbeiten, so sollte der Anwender auch den Microsoft-eigenen Hyper-V verwenden. Möchte der Anwender eine Standardlösung, die zu einem gewissen Preis funktioniert, dann ist der Virtualisierungsmarktführer vmWare die richtige Wahl.

Präsentation

Virtualisierung_mit_Proxmox

Quellen:

https://www.proxmox.com/de/, 28.01.2021

https://pve.proxmox.com/wiki/Proxmox_VE_API, 28.01.2021

https://pve.proxmox.com/pve-docs/api-viewer/index.html, 28.01.2021