Archiv für den Monat: Juni 2014


Proxmox Virtualisierungsumgebung auf PCEngines APU

Vor kurzem habe ich einen Artikel veröffentlicht, wie man eine ESXi Virtualisierungsumgebung auf der PCEngines APU zum laufen bekommt.

Eine alternative Virtualisierungsumgebung, welche im Gegensatz zu VMWare ESXi komplett auf Open-Source basiert und keine Zusatzkosten verursacht (ausser man möchte gerne eine Subscription lösen) nennt sich Proxmox.

2014-06-15 16_08_38

Proxmox Virtual Einvironment

Proxmox ist eine auf Debian basierte Virtualisierungsumgebung welche sowohl mit Windows- wie auch mit Linux-Gastsystemen klar kommt und mit einigen Nettigkeiten im Bereich der Verwaltung aufwartet.

Benötigte Software / Hardware

  • PC Engines APU1c oder PC Engines APU1c4
  • mSATA SSD mit mindestens 16GB Kapazität (wenn die VMs auf einem externen Speicher liegen, ansonsten empfiehlt sich 32GB oder 64GB)
  • Spezielles Debian Installation-Image
  • USB Stick mit mindestens 1GB Speicherplatz
  • SUSE ImageWriter
  • Putty

Debian installieren

Der original Debian-Installer lässt leider keine Installation via Serieller Konsole zu. Daher habe ich auf Basis der Scripts von Stanislav Sinyagin ein für die Bedürfnisse von Proxmox angepasstes Installations-ISO erstellt (siehe Spezielles Debian Installations-Image). Dieses kann mit dem SUSE ImageWriter auf einen beliebigen USB Stick mit mindestens 1 GB Kapazität geladen werden. Die angepassten Profil-Dateien für alle die selbst ein entsprechendes Image nach der Anleitung von Stanlislav Sinyagin machen möchten können hier heruntergeladen werden.

USB Stick für die Installation erstellen

Dazu das ISO herunterladen und die Endung von .iso auf .raw umbenennen. Anschliessend den ImageWriter starten, gewünschtes Image sowie Ziel wählen und das Image auf den USB Stick übertragen.

SUSE Image Writer

ACHTUNG: Der USB Stick wird dabei komplett überschrieben. Es sollten sich also keine benötigten Daten auf dem USB Stick befinden.

Installation starten

Die Boot-Reihenfolge der APU sollte so eingestellt sein, dass zuerst ab mSATA SSD und als zweite Option ab USB Stick gestartet wird.

Den USB Stick an die APU anschliessen, APU starten und im Boot-Prompt mittels F12 USB als Startoption auswählen. Die Installation erfolgt vollautomatisch. Die Fehlermeldung betreffend dem „Invalid Videomode“ kann ignoriert werden, die Installation startet automatisch nach den erwähnten 30 Sekunden.  Die Installation erfordert eine Internetverbindung weshalb ein Netzwerkkabel an der ersten Buchse (neben dem seriellen Anschluss) angeschlossen sein muss. Die Installation dauert ca. 10 Minuten in Abhängigkeit von der Internet-Geschwindigkeit.

ACHTUNG: Der Installer installiert automatisch Debian 7.5 amd64 auf die interne mSATA SSD! Alle Daten auf der SSD werden zuvor gelöscht.

Nach der Installation startet die APU automatisch neu und Debian ist einsatzbereit.

Bei der Installation handelt es sich um eine Standard Debian 7.5 amd64 Minimal-Installation mit wenigen Anpassungen / Optimierungen für den Betrieb einer SSD. Bei der Installation wird automatisch der Midnight Commander sowie SSH eingerichtet.

Folgende Konfiguration ist nach der Installation gegeben:
Root-Kennwort: pcengines
IP-Adresse: DHCP
Hostname: apu

Nach dem ersten Start

Nach dem Start kann sofort via SSH auf die neue Installation zugegriffen werden. Als erstes sollte man eine feste IP Adresse vergeben und das Kennwort (mittels Befehl passwd) ändern.

Installation von Proxmox

Die Installation von Proxmox entspricht grundsätzlich der offiziellen Anleitung zur Installation von Proxmox auf einem Debian Wheezy System -> http://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Wheezy

Einige Tipps…

Nachfolgend ein paar Abweichungen von der offiziellen Anleitung damit direkt die neuste Version installiert wird plus ein paar Stolpersteine im Umgang mit der APU umgangen werden können.

Direkt die neuste Version installieren:

Um direkt die neuste Proxmox-Version (3.2.x) zu erhalten kann anstelle des in der Anleitung erwähnten Repositorys  :

# PVE repository provided by proxmox.com, only for installation (this repo will stay on 3.1)
deb http://download.proxmox.com/debian wheezy pve

direkt das No-Subscription-Repository verwendet werden:

# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
deb http://download.proxmox.com/debian wheezy pve-no-subscription

Durch das veränderte Repository muss der Befehl für die Installation des Proxmox VE Kernels angepasst werden.

# Befehl für die Installation nach offizieller Anleitung (Alte Version):
apt-get install pve-firmware pve-kernel-2.6.32-26-pve
apt-get install pve-headers-2.6.32-26-pve

# Befehl für die Installation der neusten Version aus dem No-Subscription Repo (Neue Version):
apt-get install pve-firmware pve-kernel-2.6.32-29-pve
apt-get install pve-headers-2.6.32-29-pve

Beim anschliessenden Neustart gemäss Anleitung ist zu beachten, dass via serieller Konsole die Pfeiltasten unter Umständne nicht wie gewünscht funktionieren. Um den richtigen Kernel auszuwählen (den neu installierten PVE Kernel) kann mit der Taste v und ^ der richtige Kernel ausgewählt werden.

Deaktivieren des Enterprise-Repositorys

Nach der Installation der Proxmox VE Packages empfiehlt es sich in der Datei  /etc/apt/sources.list.d/pve-enterprise.list das neue Repository für die Enterprise Updates zu deaktivieren:

Repository ist aktiv:
deb https://enterprise.proxmox.com/debian wheezy pve-enterprise

Repository ist ausgeschaltet:
#deb https://enterprise.proxmox.com/debian wheezy pve-enterprise

Bleibt das repository aktiv kann es bei einem Update-Versuch zu Fehler kommen da keine gültige Enterprise-Subscription verfügbar ist.

 

Proxmox auf der PC Engines APU

Wenn alles klappt hat man in weniger als 30 Minuten eine voll funktionsfähige Virtualisierungsumgebung auf Basis von freier Software.

Im Vergleich zu ESXi sparsamer Ressourcenverbrauch Proxmox Konsole auf der APU

Voll funktionsfähige Proxmox Installation auf der APU Proxmox 3.2 auf der APU - die Paketversionen

Im Vergleich zu VMWare ESXi läuft Proxmox gefühlt schneller und ressourcensparender auf der APU. Gerade der RAM-Verbrauch hat mich äusserst positiv überrascht. Das System reagiert schnell auf Eingaben und die Performance der Gastsysteme reicht für die meisten Anwendungen einwandfrei aus.


VMWare ESXi 5.5 Image für PC Engines APU1c und APU1c4

pfSense, ipFire, Endian UTM, Sophos UTM…

Bekanntlich verfügen die Geräte der APU Reihe über keine Grafikkarte. Für einige Firewall-Lösungen wie pfSense oder ipFire ist dies kein Hindernis. Andere Lösungen wie Endian UTM oder Sophos UTM lassen sich jedoch nicht ohne weiteres über eine serielle Schnittstelle installieren / konfigurieren. Für all diejenigen habe ich ein Tutorial geschrieben, wie man eine komplette Virtualisierungsumgebung auf einer PC Engines APU installieren kann.

Anmerkung zur Sicherheit beim Betrieb einer virtualisierten Firewall-Lösung

Beim Betrieb einer Firewall-Lösung auf einer virtualisierten Umgebung ist zu beachten, dass im Gegensatz zu einer direkt installierten Lösung mehr Angriffsfläche geboten wird. Obwohl die Hersteller der Virtualisierungslösungen alles daran setzen ihre Lösungen gegen Fehler und Sicherheitslücken abzusichern, so bleibt trotzdem ein geringes Restrisiko bestehen.

Inzwischen kann jedoch davon ausgegangen werden, dass der Betrieb einer virtualisierten Firewall durchaus als „sicher“ zu betrachten ist. Vorausgesetzt, auf dem Virtualisierungshost (in diesem Fall der PC Engines APU) wird nur die Firewall betrieben. Nicht zuletzt bieten alle namhaften Anbieter von Sicherheitslösungen mittlerweile direkt virtuelle Versionen ihrer Lösungen an.

Vorbereitung

Folgende Software und Hardware wird benötigt:

Fertiges ESXi 5.5 Image für die PC Engines APU herunterladen

Wer sich den ganzen Aufwand für die Installation von VMWare ESXi auf der PC Engines APU ersparen möchte, für den habe ich das im Tutorial entstandene Image nachfolgend zum Download.

Image Konfiguration:

Benutzername:
root

Kennwort:
vmwareesxi

IP-Adresse:
Automatisch via DHCP

-> Download ESXi 5.5 Image für die PC Engines APU – 8GB Image (USB Image Tool-Edition)

Image auf den USB Stick übertragen

Mit dem „USB Image Tool“ kann das heruntergeladene und entpackte Image auf einen beliebigen USB Stick mit mindestens 8GB Kapazität übertragen werden.

Dazu öffnen im geöffneten „USB Image Tool“ den gewünschten USB Stick auswählen und anschliessend auf „Restore“ klicken. Dann das heruntergeladene und entpackte Image auswählen (PCEngines_APU_ESXi_5-5_8GB-SDCARD-UBIT.img), den folgenden Dialog nach genauer Prüfung des Zieldatenträgers bestätigen und schon läuft der Restore.

Sollte eine Warnung betreffend zu geringem Speicherplatz erscheinen, empfiehlt es sich einen grösseren  USB Stick zu verwenden. Nicht jeder USB Stick (auch wenn 8GB Kapazität angegeben wird) hat auch wirklich die angegebene Kapazität :)

 

USB Image Tool

ACHTUNG: Wird der falsche Ziel-Datenträger angeklickt sind die auf dem Datenträger gespeicherten Daten unwiderruflich gelöscht. Daher lieber doppelt überprüfen, ob der richtige Datenträger ausgewählt ist!

Starten der ESXi Plattform auf der APU

Dazu den USB Stick an die APU anstecken, einschalten und falls notwendig die Startreihenfolge im APU-Bios konfigurieren. Damit ESXi automatisch ab USB Stick gestartet wird muss auch der USB1/USB2 als erste Startoption konfiguriert sein:

APU Bootreihenfolge

Ist die Startkonfiguration korrekt, kann ESXi gestartet werden.

Management IP anpassen

Sobald der ESXi gestartet ist, kann in der Konsole mittels F2 die Konfiguration aufgerufen werden. Es empfiehlt sich hierbei, für das Management eine fixe IP Adresse einzutragen.

Wenn die gewünschte Management-IP gesetzt ist, kann auch via vSphere Client zugegriffen werden.

ROOT Kennwort ändern

Der einfachste Weg zum ändern des Root-Kennworts ist die Konsole. Wiederum mittels F2 anmelden und den ersten Punkt „Configure Password“ auswählen. Anschliessend das aktuelle Kennwort (vmwareesxi) sowie das gewünschte neue Kennwort eingeben. Mit OK bestätigen und schon ist das gewünschte Kennwort gesetzt.

Kennwort ändern Kennwort ändern

Weiteres Vorgehen

Die nächsten Schritte sind natürlich das einrichten eines Datastores (entweder eine lokale mSATA Festplatte oder ein NFS Laufwerk), die korrekte Konfiguration des Log-Verzeichnisses sowie das definitive konfigurieren der Netzwerkkarten.

Wie diese Schritte funktionieren ist am besten der ausführlichen Dokumentation auf der VMWare Seite zu entnehmen.

Viel Spass

Die ESXi Plattform ist einsatzbereit. Auch wenn die APU sicherlich nicht mit enormer Leistung punkten kann, so eröffnet die Möglichkeit der Virtualisierung doch viele weitere Einsatzmöglichkeiten. Gerade für Firewalls oder Serveranwendungen im Home und Small-Business Bereich reicht die gebotene Leistung meist bestens aus.

Zudem , ein Virtualisierungsserver welcher gerade einmal maximal 12W Strom verbraucht, muss sich nicht verstecken und ist für den einen oder anderen Interessierten genau das richtige Gadget, um im Dauerbetrieb genutzt zu werden.

 

Betrieb des Images nur auf der APU1c4

Für den Betrieb des Images empfiehlt sich die 4GB RAM Variante der APU zu verwenden. Bei der 2GB RAM Variante startet das von mir zur Verfügung gestellte Image nicht einwandfrei.

 

**Nachtrag vom 10. Juni 2014**

Danke an Holger Bauer für die Erstellung und das zur Verfügung stellen eines neuen Images mit „USB Image Tool“. Dieses Image sollte nun sowohl auf USB Stick wie auch auf SD-Karten mit mindestens 8GB Speicherkapazität funktionieren. Das Image steht ab sofort zum Download bereit und die Anleitung wurde entsprechend überarbeitet.

Der bekannte Fehler „No Hypervisor found“ sollte somit der Vergangenheit angehören.

 

Sollte das wiederherstellen fehlschlagen empfiehlt es sich mittels Diskpart vorgängig den Zieldatenträger zu löschen.