Cirros ist etwas anders ausgerichtet als OSv. Die Entwickler verstehen ihr Cloudbetriebssystem primär als Werkzeug für Tests oder wollen damit Probleme untersuchen. Open Stack [50] beispielsweise nennt Cirros in seiner Dokumentation offiziell als Test-Image [51], Ähnliches gilt für Eukalyptus [52].
Vorhang auf
Ein aktuelles Festplattenabbild mit vorinstalliertem Cirros braucht weniger als 15 MByte Speicherplatz. Die meiste Zeit verbringt der Bootprozess mit dem Initialisieren des Kernels. Zur Erinnerung: Dieser stammt unmodifiziert von Ubuntu, aktuell von Version 12.04, demnächst wohl von der 14.04. Das Cloudbetriebssystem ist letztlich ein verschlanktes Linux und verhält sich damit analog zu seinen großen Brüdern und Schwestern. Qemu kann es einfach lokal starten (Abbildung 3) und testen.
Das Cloud-OS ist mit einer Reihe von Helferlein ausgestattet, die allesamt mit »cirros-« beginnen, Tabelle 2 listet sie mit je einer kurzen Erklärung auf. Alle Kommandos sind Shellskripte und erlauben so prinzipiell einen einfachen Blick hinter die Kulissen. Allerdings sind sie nicht sonderlich gut dokumentiert – weder im Code selbst noch auf der Webseite des Projekts.
Tabelle 2
cirros-Kommandos
|
Kommando |
Beschreibung |
|---|---|
|
cirros-apply |
Ruft eine Phase der Datenquelle auf |
|
cirros-ds |
Sucht nach Cloud-Init-Datenquelle |
|
cirros-query |
Fragt nach Daten der Cloud-Init-Datenquelle |
|
cirros-userdata |
Arbeitet die Userdata-Datei ab |
|
cirros-dhcpc |
Wrapper für DHCP-Client (»udhcpc« ) |
|
cirros-per |
Aufruf eines Kommandos mit gewünschter Häufigkeit |
|
cirros-status |
Ausgabe wichtiger Statusinfos über Cirros |
Als Initsystem dienen erst das traditionelle Sys-V-Init, zum Schluss Cirros-spezifische Skripte. Die sind so angelegt, dass sie mit dem Cloud-Init-Gerüst [53] funktionieren. Die zugehörigen Konfigurationsdateien befinden sich unter »/etc/cirros-init/« . Im Lieferumfang enthalten sind Vorlagen für Amazons EC2, ein so genanntes Konfigurationslaufwerk (»config-drive« ) oder eine lokale Startmöglichkeit – also ohne Cloud [54].
Was auf den ersten Blick wie unnötiger Aufwand aussieht, ist tatsächlich recht nützlich. So testet der Anwender den kompletten Ablauf, prüft, wie er eine Cloudinstanz anlegt und hochfährt, und betrachtet die Postinstall-Skripte.
Wie schon angedeutet, es warten unter der Motorhaube von Cirros keine Überraschungen. Zur Datenablage dient das fast schon altehrwürdige Ext 3. Dass Cirros Busybox [55] für die meisten ausführbaren Programme und Dropbear [56] als SSH-Daemon verwendet, ist eigentlich eine Konsequenz aus dem Buildroot-Unterbau. Der gestandene Linux-Admin sollte sich hier leicht zurechtfinden, es ist eben “nur” ein Linux. Die Entwickler überlegen allerdings, einen neuen Untersatz einzusetzen, im Gespräch sind Tiny-Core-Linux [57] und Yocto [58].
Der Fremde – Mirage OS
Glaubt man den Angaben der Entwickler, reichen die Anfänge von Mirage OS bis ins Jahr 2009 zurück. An die breite Öffentlichkeit trat das Projekt aber erst mit Version 1.0, die im Dezember 2013 erschien. Analog zu OSv geht dieses Cloudbetriebssystem einen ganz neuen Weg. Tatsächlich versteht sich Mirage OS gar nicht als Betriebssystem, sondern eher als eine Art Bibliothek [59]. Nicht zufällig fällt auch das Wort “Lib OS” (Library Operating System) – eine Idee aus den 90er Jahren [60].
Die Grundidee ist noch radikaler als die von OSv. Die Anwendung fungiert zugleich als der zu bootende Betriebssystemkern, quasi der komplette virtuelle Server. Viele Aufgaben eines traditionellen Kernels fallen weg oder sind deutlich reduziert, etwa die Verwaltung des Netzwerks oder des Hauptspeichers.






