Eucalyptus entstammt ursprünglich einem Forschungsprojekt an der University of California [1] . Im Jahr 2009 übernahm dann das ausgegründete Unternehmen Eucalyptus Inc. die Weiterentwicklung und Vermarktung. Die Software gibt es seitdem in zwei Geschmacksrichtungen: kostenlos als Open-Source-Variante, die komplett unter der GPLv3-Lizenz steht, und die kommerzielle Eucalyptus Enterprise Edition, die unter anderem die Einbindung von SANs und einer VMware-Infrastruktur ermöglicht.
Eucalyptus baut aus mehreren Rechnern eine Cloud zusammen, in der man virtuelle Maschinen starten und Speicherplatz abrufen kann – ganz so, wie es Amazon mit seinen AWS-Diensten anbietet. Bei Eucalyptus ist man jedoch selbst der Betreiber der Cloud. Administratoren haben nicht nur die vollständige Kontrolle, die Server und somit die Daten verbleiben auch im eigenen Unternehmen. Eine Eucalyptus-Cloud lässt sich sogar schnell auf nur einem Computer einrichten (siehe Kasten
»Alle auf Einen
«
).
Alle auf Einen
Die Eucalyptus-Komponenten darf man auch allesamt auf einem einzigen physischen Computer installieren. Die Eucalyptus-Entwickler unterstützen diese Betriebsart sogar ganz offiziell. Eine solche Cloud-In-A-Box eignet sich insbesondere für kleine Arbeitsgruppen sowie Administratoren, die mit den Einstellungen experimentieren möchten.
Besonders schnell zu einer Cloud-In-A-Box kommt man ebenfalls mit dem FastStart-Medium: Im Bootmenü entscheidet man sich für den Punkt
»Install CentOS 6 with Eucalyptus Cloud-in-a-box
«
. Die dann vom Assistenten gestellten Fragen entsprechen der üblichen Installation.
Um mit Eucalyptus eine Cloud aufzubauen, benötigt man echte Rechner, deren Prozessoren über die Virtualisierungsfunktion Intel VT beziehungsweise AMD-V verfügen. Eine Testinstallation unter Virtualbox oder VMware ist somit nicht möglich, mit einem Trick klappt es jedoch unter KVM [2] . Zudem sollte in den Stationen jeweils mindestens 4 GByte Hauptspeicher sowie eine 250 GByte große Festplatte stecken – je mehr Speicher, desto mehr virtuelle Maschinen lassen sich später in der Cloud starten. Abschließend braucht man einen zusätzlichen Satz freier IP-Adressen, die Eucalyptus später den in der Cloud laufenden Systemen zuweisen kann.
Auch was das Betriebssystem anbelangt, ist Eucalyptus äußerst wählerisch: Offiziell unterstützen die Entwickler ausschließlich die 64-Bit-Versionen der Linux-Distributionen CentOS 6 und Red Hat Enterprise Linux 6. Für eine kurze Zeit war Eucalyptus auch offizieller Bestandteil von Ubuntu. Mit Ubuntu 11.10 (Oneiric) hat es Canonical jedoch gegen den Konkurrenten OpenStack ersetzt. Seit Eucalyptus 3.2 stellen die Eucalyptus-Entwickler zudem keine fertigen Ubuntu-Pakete mehr bereit. Eine Eucalyptus-Cloud unter RHEL oder CentOS aus den bereitgestellten Paketen zu installieren, ist obendrein recht zeitaufwendig, da die zugrunde liegenden Linux-Systeme zahlreiche Bedingungen erfüllen müssen – nicht umsonst umfasst die Installationsanleitung satte 96 Seiten.
Glücklicherweise stellen die Eucalyptus-Entwickler ein spezielles Installationsmedium bereit, mit dem Administratoren in wenigen Mausklicks eine kleine Eucalyptus-Cloud aufsetzen. Diese FastStart genannte Installationsmethode kann aber auch als Ausgangspunkt für eine größere Cloud dienen: Da Eucalyptus gerne die Rechner der Cloud ganz für sich alleine haben möchte, können Administratoren sich die mühsame Einrichtung sparen, einfach die Festplatte der beteiligten Rechner löschen und dem FastStart-Image das Einrichten eines frischen Eukalyptus-Systems überlassen. Damit hat man ganz nebenbei auch schon eine funktionierende Basiskonfiguration und kann direkt loslegen.
Der Zugriff und die Verwaltung der laufenden Cloud erfolgt von Client-Rechnern mit beliebigem Betriebssystem – entweder komfortabel mit der Maus in einer Weboberfläche oder aber über die offiziellen Kommandozeilenwerkzeuge, die sogenannten Euca2ools. Letztgenannte findet man auch in den Repositories der meisten großen Distributionen.
Eucalyptus selbst besteht aus mehreren Komponenten ( Abbildung 1 ), die jeweils eine ganz bestimmte Aufgabe erfüllen. Zunächst benötigt man einen oder mehrere Rechner, auf denen später die virtuellen Maschinen laufen und die zu speichernden Daten landen. Auf diesen Knoten (Nodes) läuft jeweils ein sogenannter Node Controller (kurz NC). Im Wesentlichen startet, stoppt und verwaltet er die auf seinem Rechner laufenden virtuellen Maschinen.