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.
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.
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 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.
Hallo zusammen,
mir gefällt die Idee super, allerdings erkennt suse-imagewriter meinen usb stick nicht und andere tools wie unetbootin scheinen einen bootloader zu installierne, der nicth mit dem Alix-Board kompatibel ist.
auf der Konsole sieht man dann nur noch:
Booting from 0000:7c00
SYSLINUX 4.03 2010-10-22 EDD Copyright (C) 1994-2010 H. Peter Anvin et al
Hallo,
welche Betriebssysteme/Anwendungen/Dienste habe ich mir in den Gastsystemen vorzustellen? Wie viele Gastsysteme werden eingesetzt?
Die Aussage dient mir lediglich zur Leitungseinschätzung. Danke.
Hallo Fluxx
Das kann ich dir nicht abschliessend beantworten! Das hängt unter anderem vom jeweiligen System ab. Wenn du Linux verwendest hilft dir das Memory Sharing entsprechend Ressourcen zu sparen. Dann kommt es darauf an, wie CPU / RAM lastig die zu betreibenden Anwendungen sind.
Gruss
Yves
Hallo Yves,
danke für Deine schnelle Antwort. Ich verstehe Deine Ausführung, aber vielleicht kannst Du mir trotzdem ein Szenario
vorstellen. Handelt es sich um kleine Mailsystemen (Postfix/Dovecot), Medienserver (XBMC/Openelec) oder irgendwelche
Datenbank-Lösungen mit Webservern (MySQL/Apache/NGINX)? Was hast Du auf Windows-Basis getestet?
Gruß,
fluxx
Ciao Fluxx
Reale Anwendungsfälle habe ich bisher (aus Zeitgründen) noch nicht umfangreich getestet daher kann ich dir keine verlässlichen Informationen dazu geben. Die Leistung der APU lässt keine riesigen Sprünge zu. Ich sehe den primären Einsatz im Bereich Mailsystem oder anderen Support-Anwendungen / Basis-Anwendungen wie einem DC oder Printserver sprich Systeme welche nicht unter Dauerlast stehen aber aufgrund der Funktion zwingend notwendig sind. Ich habe auch schon Rückmeldungen bekommen, dass komplette WSUS Instanzen erfolgreich auf Basis dieser Plattform betrieben werden.
Gruss
Yves
Danke für die tolle Anleitung.
Eine VM unter Win7 mit 64bit läuft das ganze zwar nicht flott aber dennoch sehr gut.
Etwas Probleme habe ich jedoch mit dem Einbinden von USB Komponenten. „lsusb -t“ auf Konsole zeigt jedenfalls keine sinnvollen Komponenten an. Kann es sein das hier was weggelassen wurde? Erwartet hätte ich sowas wie Hersteller ID, usw.
root@apu:~# lsusb -t
4-5:1.0: No such file or directory
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/4p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/2p, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/5p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/5p, 12M
|__ Port 5: Dev 2, If 0, Class=scard, Driver=, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M
|__ Port 1: Dev 2, If 0, Class=stor., Driver=usb-storage, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/5p, 480M
USB … Wenn von Interesse ..
im fstab habe ich eingefügt:
„usbfs /proc/bus/usb usbfs defaults,devmode=666 0 0“
und dann gemäß:
http://it-lounge.org/2013/08/25/usb-geraete-in-proxmox-durchreichen/
(USB-Gerät an Proxmox-Maschine anschließen
Auf Proxmox-Maschine:
lsusb
In der Ausgabe nach dem Gerät suchen, z.B.:
Bus 002 Device 003: ID1058:1021 Western Digital
Prüfen, ob Proxmox das Gerät richtig erkannt hat:
dmesg
Es sollten keine Fehler angezeigt werden
USB Gerät an VM durchreichen
qm set -usb0 host=1058:1021
VM neustarten )
Hoi Andreas
Danke für deinen wertvollen Input zum Thema :)
Herzlichen Dank! Ich habe 2 Tage mit anderen Anleitungen rumgedoktort, bevor ich Deine Webseite gefunden hatte. Du hast mir heute echt den Tag gerettet… Danke + Grüße, Bert
Hallo zusammen,
Ich habe ein Problem mit den Tastatureingaben.
Nachdem ich den APU gestartet habe sehe ich das BIOS – hier kann ich mit der Tastatur noch ganz Normal arbeiten. (Bootreihenfolge einstellen, usw.)
Sobald ich aber das Image via USB-Stick auswähle kommt nur noch die Anzeiger zur Auswahl des Keyboard – Layout. An dieser Stelle ist es aber nicht mehr möglich Eingaben zu machen.
Ich dachte mit dass ich vielleicht mal ein BIOS-Update machen sollte und hatte dabei den selben Fehler. Zum Updaten des BIOS habe ich die autostart.sh und den Aufruf des ROM’s erweitert. So konnte ich zumindest das BIOS flashen. Nur brachte das auch nicht wirklich das gewünschte Ergebnis.
Ich habe alle BIOS-Versionen versucht. Ich verwende ein Nullmodem Kabel direkt auf rs232 am Notebook Die Baud-Rate ist auf 115200 eingestellt. Ich würde mich über einen Tipp sehr Freuen.
Die Lösung des Problems ist recht banal – Austausch des Kabels und schon funktioniert es…
Hello I used this image on an APU and it used to work fine but when I tried it again yesterday it failed on finding packages on mirrors no matter which one I tried.
Hallo zusammen!
Hab folgendes Problem:
bei der Installation des GRUB boot loader bekomme ich die Fehlermeldung:
Unable to install GRUB in dev/sda
Executing ‚grub-install /dev/sda‘ failed.
This is a fatal error.
Wenn ich LILO installieren muss ich in sda1 installieren damit es funktioniert. Hat wer das Problem schon mal gehabt und gelöst?
Wäre froh über eure Antworten :)