Hetzner - DokuWiki

Proxmox VE

Inhaltsverzeichnis

Proxmox VE

Startpage-with-cluster.png

Proxmox VE ist eine Open-Source Virtualisierungsplattform mit Unterstützung für OpenVZ (bis v3.4), KVM und ab Version 4.0 für Linux Containers (LXC). Weiters gibt es ab Proxmox 4.0 eine volle Unterstützung für IPv6. Für weitere Informationen bezüglich den Neuerungen, besuchen Sie bitte die offizielle Roadmap im Proxmox VE-Wiki.

Die Einrichtung sollte in der Regel unkompliziert verlaufen, da OpenVZ/LXC bereits einiges an Vorarbeit leistet und nicht mehr sonderlich viel zusätzlichen Konfigurationsaufwand benötigt.

Achtung: Ab Version 4.0 wurde die Unterstützung für OpenVZ entfernt und völlig gegen LXC ersetzt. Bitte beachten Sie dies, bevor Sie ein Upgrade durchführen! Mehr Informationen zur Konvertierung der OpenVZ-Container zu LXC, können Sie dem Proxmox Wiki entnehmen: OpenVZ to LXC

Vor der Installation

Vorab einige Anregungen bzw. Ratschläge, bevor mit der Einrichtung der Umgebung begonnen wird:

  • Werden nur Linux-Maschinen verwendet werden? Dann wäre unter Umständen OpenVZ/LXC ausreichend.
  • Soll OpenVZ/LXC oder KVM verwendet werden? Beide bieten Vor- sowohl als auch Nachteile. Eine bedachte Entscheidung und gute Recherche kann hierbei für weniger Arbeit/Ärger in der Zukunft sorgen.
    • OpenVZ/LXC ist etwas performanter, unterstützt dafür aber auch nur unixoide Betriebssysteme und eine Migrierung in andere Formate wie z.B. zu KVM/VMware ESXi ist aufwendiger.
    • KVM ist zwar nicht so performant wie OpenVZ/LXC, bietet dafür jedoch eine komplette Hardwarevirtualisierung und ermöglicht das Betreiben jedes der gängigsten Betriebssysteme (auch Windows). Eine Konvertierung der virtuellen Festplatten in Formate wie VMDK ist hierbei einfacher.

Installation

1. Die Grundlagen

  • Dort installimage aufrufen und das gewünschte Debian-System auswählen und installieren
    • Um einen möglichst stabilen Betrieb zu ermöglichen empfiehlt es sich die geeignete Debian-Version zu der dazupassenden Proxmox-Version einzusetzen, welche auch Verwendung in den offiziellen vorgefertigten Installationsmedien finden:
      • Seit Proxmox 2.0: Debian Squeeze 6
      • Seit Proxmox 3.0: Debian Wheezy 7
      • Seit Proxmox 4.0: Debian Jessie 8
  • Nach Wunsch RAID-Level, Partitionierung und Hostnamen in der Konfiguration anpassen
  • Speichern und nach Abschluss der Installation neustarten

2. APT Sourcen (/etc/apt/sources.list) anpassen

echo "deb http://download.proxmox.com/debian wheezy pve-no-subscription" >> /etc/apt/sources.list

Key hinzufügen:

wget -O - http://download.proxmox.com/debian/key.asc | apt-key add -

Aktualisieren Sie nun die Pakete:

apt-get update # Paketlisten aktualisieren
apt-get upgrade # Alle Pakete auf den aktuellsten Stand bringen
apt-get dist-upgrade # Debian auf den aktuellsten Stand bringen

3. Proxmox VE installieren.

Kernel installieren:

apt-get install pve-firmware pve-kernel-2.6.32-39-pve pve-headers-2.6.32-39-pve

Stellen Sie sicher, dass bei einem Neustart der Proxmox-Kernel geladen wird und starten Sie Ihren Server neu. Sollte der Proxmox-Kernel nach dem Neustart geladen worden sein, können Sie mit der Installation der Proxmox VE Pakete beginnen:

apt-get install proxmox-ve-2.6.32

4. Kernel Modul laden

Prüfen Sie nun mit dem Befehl

lsmod | grep kvm

ob das Modul "kvm" geladen wurde. Sollten die Kernel Module nicht geladen worden sein, dann können Sie diesen Schritt manuell nachholen.

Für Intel Prozessoren:

modprobe kvm
modprobe kvm_intel

Für AMD-Prozessoren:

modprobe kvm
modprobe kvm_amd

Beachten Sie: Die Kernel-Module werden für die "KVM Hardware-Virtualisierung" benötigt. Sollten diese nicht vorhanden sein, können keine KVM-Gäste gestartet werden.

Netzkonfiguration

Zunächst ist es wichtig, zu entscheiden, welche Virtualisierungslösung (OpenVZ/LXC und/oder KVM) und welche Variante (bridged/routed) verwendet werden soll.

  • OpenVZ
    • Vorteile: Werden nur Schnittstellen vom Typ venet verwendet, muß keine zusätzliche Netzkonfiguration vorgenommen werden. IP-Adressen können direkt via vzctl zugewiesen werden
    • Nachteile: Es wird der Kernel des Hostsystems verwendet. Nur Linux-Distributionen lassen sich nutzen
  • KVM/Routed
    • Vorteile: nahezu beliebige Betriebssysteme lassen sich installieren. Mehrere IP-Adressen können auf einer VM genutzt werden. Keine Modifikation an der VM nötig.
    • IPv6 kann in allen VMs genutzt werden
    • Nachteile: IP-Konfiguration kann nicht per DHCP bezogen werden. Bei IP-Adressen aus verschiedenen Netzen Pointopoint-Setup erforderlich.
  • KVM/Bridged
    • Vorteile: Siehe KVM/Routed. Für Anfänger "einfachere" Konfiguration
    • Nachteile: Zusätzliche MAC-Adressen müssen über den Hetzner Robot beantragt werden. Ist nur für Einzel-IPs möglich. Mehrere IP-Adressen können nicht in einer VM genutzt werden.
    • IPv6 kann nur auf dem Host oder in einer einzelnen VM genutzt werden.

Beim einem Routed Setup wird die vmbr0 nicht mit dem physischen Interface verbunden. Ebenso muß das IP-Forwarding auf dem Hostsystem aktiviert werden. Dies kann über /etc/sysctl.conf beim Booten automatisch geschehen. (Bitte beachten Sie, daß bei der Hetzner-Standardinstallation das Forwarding deaktiviert ist. Die Einstellung finden Sie entweder in /etc/sysctl.conf oder in /etc/sysctl.d/99-hetzner.conf)

sysctl -w net.ipv4.ip_forward=1

Für IPv6 muss noch analog IPv6 Forwarding aktiviert werden. Dies ist ebenso in der Hetzner-Standardinstallation vorhanden und muss nur noch aktiviert werden.

sysctl -w net.ipv6.conf.all.forwarding=1

Netzwerkkonfiguration OpenVZ (venet)

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto  eth0
iface eth0 inet static
  address <Haupt-IP>
  netmask 255.255.255.255
  pointopoint <Gateway-IP>
  gateway <Gateway-IP>
iface eth0 inet6 static
  address <IPv6-Subnet>::2 #z.B. 2001:db8::2
  netmask 128
  gateway fe80::1

Netzwerkkonfiguration Gastsystem OpenVZ

IPv4 Adressen können entweder bequem über das Webinterface oder über vzctl hinzugefügt werden.

vzctl set <ctid> --ipadd <Zusatz-IP> --save

IPv6 Adressen können seit einigen Versionen auch über das Webinterface hinzugefügt werden. Sollte dies noch nicht möglich sein, können Sie entweder Ihre Proxmox VE Installation aktualisieren oder Sie fügen eine IPv6-Adresse einem OpenVZ-Container manuell über vzctl hinzu:

vzctl set <ctid> --ipadd <IPv6-Adresse> --save
# z.B: vzctl set 100 --ipadd 2001:db8::2000:80 --save

Hinweis: Ab Proxmox 4.0 gibt es eine volle Unterstützung für IPv6.

Verwaltung

Die virtuellen Maschinen können nach einer erfolgreichen Installation unter https://server-IP:8006 verwaltet werden. Fertige Templates für OpenVz gibt es zum Beispiel auf der OpenVz-Webseite unter wiki.openvz.org/Download/template/precreated

Für die virtuellen Maschinen nutzt man das Virtual Network "venet" und gibt direkt die Zusatz-IPs an.

Netzwerkkonfiguration Hostsystem KVM/Routed

Bei der Verwendung von KVM ist es nötig die Route zu dieser virtuellen Maschine manuell hinzuzufügen. Da eine Host-Route gesetzt wird, sind auch IP-Adressen aus anderen Subnetz problemlos möglich. Also zum Beispiel:

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
  address <Haupt-IP>
  netmask 255.255.255.255
  pointopoint <Gateway-IP>
  gateway <Gateway-IP>
iface eth0 inet6 static
  address <Adresse aus dem IPv6-Subnetz> #z.B. 2001:db8::2
  netmask 128
  gateway fe80::1
  up sysctl -p
# fuer Einzel-IPs
auto vmbr0
iface vmbr0 inet static
  address <Haupt-IP>
  netmask 255.255.255.255
  bridge_ports none
  bridge_stp off
  bridge_fd 0
  up ip route add <erste Zusatz-IP>/32 dev vmbr0
  up ip route add <zweite Zusatz-IP>/32 dev vmbr0
iface vmbr0 inet6 static
  address <Adresse aus dem IPv6-Subnetz> #z.B. 2001:db8::2
  netmask 64
# fuer ein Subnet
auto vmbr1
iface vmbr1 inet static
  address <eine nutzbare Subnetz-IP>
  netmask <Netzmaske des Subnetzes>
  bridge_ports none
  bridge_stp off
  bridge_fd 0

Für die Nutzung von IPv6 mit mehreren Bridges (mehrere IPv4-Subnetze oder IPv4-Einzel-IPs und Subnetz) muss eine kleinere Netzmaske für IPv6 verwendet werden.

Netzwerkkonfiguration Gastsystem KVM/Routed

Als Gateway wird immer die IP der Bridge im Hostsystems genutzt, d.h. für Einzel-IPs die Haupt-IP, für Subnetze die im Hostsystem konfigurierte IP aus dem Subnetz.

# /etc/network/interfaces
### Beispiel fuer Einzel-IP aus fremden Subnetz
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
  address <Zusatz-IP>
  netmask 255.255.255.255
  pointopoint <Haupt-IP>
  gateway <Haupt-IP>
iface eth0 inet6 static
  address <Adresse aus dem IPv6-Subnetz> # z.B. 2001:db8::f001
  netmask 64
  gateway <IPv6-Adresse vmbr0> # z.B. 2001:db8::2
# /etc/network/interfaces
### Beispiel fuer Subnetz
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto  eth0
iface eth0 inet static
  address <Nutzbare IP aus dem Subnetz>
  netmask <Netzmaske des Subnetzes>
  gateway <Im Hostsystem konfigurierte IP aus dem Subnetz>
iface eth0 inet6 static
  address <Adresse aus dem IPv6-Subnetz> # z.B. 2001:db8::f001
  netmask 64
  gateway <IPv6-Adresse vmbr0> # z.B. 2001:db8::2

Netzwerkkonfiguration KVM/Bridged

Bei der Verwendung von KVM im Bridge-Modus ist es UNBEDINGT nötig vorher virtuelle MAC-Adressen für die Einzel-IPs zu beantragen. Die Konfiguration von Subnetzen ist analog.

# /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
auto vmbr0
iface vmbr0 inet static
  address <Haupt-IP>
  netmask 255.255.255.255
  pointopoint <Gateway-IP>
  gateway <Gateway-IP>
  bridge_ports eth0
  bridge_stp off
  bridge_fd 1
  bridge_hello 2
  bridge_maxage 12
# fuer ein Subnet
auto vmbr1
iface vmbr1 inet static
  address <eine nutzbare Subnetz-IP>
  netmask <Netzmaske des Subnetzes>
  bridge_ports none
  bridge_stp off
  bridge_fd 0

Netzwerkkonfiguration Gastsystem KVM/Bridged

Als Gateway für Einzeln-IPs wird das Gateway des Hostsystems oder der zugewiesenen IP genutzt. Für Subnetze erfolgt die Konfiguration identisch zu KVM im Routed-Setup.

# /etc/network/interfaces
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
  address <Zusatz-IP>
  netmask 255.255.255.255
  pointopoint <Gateway der Zusatz-IP>
  gateway <Gateway der Zusatz-IP>

Sicherheit

Das Webinterface ist durch zwei verschiedene Authentifzierungsmethoden geschützt: "Proxmox VE standard authentication" (von Proxmox eigene Authentifizierung) und "Linux PAM standard authentication" (Authentifizierung über Konten des Betriebssystems).

Dennoch wären zusätzliche Schutzmaßnahmen empfehlenswert, um sich gegen das Ausnutzen eventueller Sicherheitslücken oder diverser anderen Attacken zu schützen.

Hier würden sich mehrere Möglichkeiten anbieten:

Sonstiges

Wichtige Links



© 2016. Hetzner Online GmbH. Alle Rechte vorbehalten.