Schließlich gibt es noch Cinder [8] , dessen Funktion sich nicht auf den ersten Blick erschließt – man versteht sie aber, wenn man sich das Problem vergegenwärtigt: OpenStack geht grundsätzlich davon aus, dass virtuelle Maschinen nicht darauf ausgelegt sind, dauerhaft zu laufen. Der radikale Gedanke resultiert aus dem hauptsächlich in Amerika vertretenem Ansatz, eine Cloud-Umgebung müsse nur in der Lage sein, schnell viele VMs aus dem gleichen Image zu starten – es ist in diesem Prinzip quasi gar nicht vorgesehen, dass Daten innerhalb einer VM anfallen, die dauerhaft zu speichern sind. Deshalb existieren VMs zunächst nur als lokale Kopie in den Dateisystemen ihres jeweiligen Hypervisor-Knotens. Und wenn der abstürzt oder der Kunde die VM löscht, sind die Daten weg. Das Prinzip trägt den Namen Ephemeral Storage. Dass die Realität komplizierter ist, ist kein Geheimnis.
OpenStack bietet durchaus die Möglichkeit, Daten in VMs zu sammeln und sie über den Neustart der VMs hinweg zu sichern. Genau hier kommt Cinder ins Spiel (Abbiuldung 6): Cinder stattet virtuelle Maschinen auf Kundenwunsch mit persistentem Blockspeicher aus. Dabei unterstützt es eine Vielzahl verschiedener Storage-Backends, darunter LVM, Ceph, aber auch Hardware-SANs wie IBMs StoreWiz und 3PAR-Storages von HP. Je nach gewählter Implementierung unterscheiden sich die technischen Details im Hintergrund. Wichtig für den Benutzer ist aber zunächst nur, dass er sich einen Speicher anlegt und diesen seiner VM zuweist – danach greift er in der VM auf den Speicher wie auf eine gewöhnliche Festplatte zu. Auf Kundenwunsch hin lassen sich VMs auch von Block-Devices booten, sodass die gesamte VM auf dauerhafte Weise gesichert ist und sich zum Beispiel auf verschiedenen Knoten starten lässt.
Nahezu sämtliche bis hierhin vorgestellten Komponenten beschäftigen sich mit dem Thema Virtualisierung. Allerdings ist es gängige Lehrmeinung, dass eine Cloud zusätzlich auch On-Demand-Storage bieten muss, also Speicher, welchen Anwender bei Bedarf über ein simples Interface nutzen können. Dienste wie Dropbox oder Google Drive sind der Beweis dafür, dass solche Dienste sich einer großen Fangemeinde erfreuen. In OpenStack kümmert sich Swift [9] darum, dass Benutzer Cloud-Speicher haben. Der vom amerikanischen Anbieter Rackspace entwickelte Dienst bietet Nutzern über ein ReSTful-Protokoll die Möglichkeit, Dateien in den Speicher hoch- oder aus ihm herunterzuladen. Für Unternehmen ist Swift interessant, weil es sich um einen Object Store handelt, der Daten in Form binärer Objekte ablegt und damit nahtlos in die Breite skaliert. Wird der Platz knapp, stellen Unternehmen also einfach ein paar Storage-Knoten mit frischem Plattenplatz dazu, ohne dass der Speicher vollläuft. Es ist übrigens auch möglich, Swift ohne die anderen OpenStack-Komponenten zu betreiben – damit nimmt der Dienst in OpenStack eine Sonderstellung ein, denn die anderen Dienste bedingen einander zwingend.