Suchen

Vom Framework zum anpassbaren Cloud-Betriebssystem OpenStack im Detail erklärt

| Autor / Redakteur: Filipe Pereira Martins und Anna Kobylinska * / Ulrike Ostler

Der Trend zur Virtualisierung ganzer Rechenzentren nimmt an Schwung zu. Mit der Vorstellung des „OpenStack Application Catalog“ bricht eine neue Ära schlüsselfertiger OpenStack-Lösungen an. Worauf es bei der Implementierung des Cloud-Betriebssystems im unternehmenseigenen Datencenter ankommt, beleuchtet dieser Artikel.

Auf der halbjährlichen Konferenz OpenStack Summit in Vancouver (Mai 2015) kündigte die OpenStack Foundation mit „Murano“ unter anderem einen offiziellen Marktplatz für schlüsselfertige Lösungen auf der Basis von OpenStack an.
Auf der halbjährlichen Konferenz OpenStack Summit in Vancouver (Mai 2015) kündigte die OpenStack Foundation mit „Murano“ unter anderem einen offiziellen Marktplatz für schlüsselfertige Lösungen auf der Basis von OpenStack an.
(Bild: OpenStack Foundation)

Das Cloud-Betriebssystem OpenStack für virtualisierte Infrastrukturdienste im Selbstbedienungsverfahren hat sich in der letzten Zeit rasant weiterentwickelt. Noch vor einem Jahr war alleine die Installation von OpenStack im eigenen Serverraum ein Meisterstück der IT-Ingenieurleistung, geschweige denn die Instandhaltung.

Wegen der zahlreichen Vorteile der quelloffenen Virtualisierungs- und Orchestrierungsplattform ist das Interesse an einer Migration zu OpenStack groß.

OpenStack verspricht nicht nur eine verbesserte Auslastung der Infrastruktur des eigenen Rechenzentrums gegenüber herkömmlicher Server-Virtualisierung, sondern vor allem Agilität. Benutzer einer (privaten OpenStack-) Cloud, ob Software-Entwickler, Analysten, Ingenieure im Bereich der Forschung und Entwicklung oder andere, können die benötigte Infrastruktur – sei es Server-Instanzen, Objektspeicher oder andere Ressourcen – im Selbstbedienungsverfahren in Anspruch nehmen ohne auf die Bereitstellung durch administrativen Support (hilflos Däumchen drehend) zu warten.

So entsteht für die Beteiligten eine agile Arbeitsumgebung, welche dem Unternehmen einen beachtlichen Leistungsschub und damit einen Wettbewerbsvorteil verleihen kann.

Die offene, modulare Architektur von OpenStack

Die Entwicklung der OpenStack-Plattform verläuft in vielen einzelnen Projekten, welche konkret definierte Herausforderungen lösen. Die offene, modulare Architektur von OpenStack, die massive Skalierbarkeit der einzelnen Dienste und das lebhafte Ökosystem von Lösungen versprechen eine langfristige Investitionssicherheit.

Die OpenStack Compute-Instanzen (Nova)

Bei Nova handelt es sich um eine Python-basierte Software zur orchestrierten Bereitstellung und Vernetzung virtueller Maschinen auf der Basis von Machine-Images via ein REST-basiertes API.

Die Architektur von OpenStack Nova
Die Architektur von OpenStack Nova
(Bild: OpenStack Foundation)

Nova ist Hardware-agnostisch und Hypervisor-neutral. Nova unterstützt unter anderem „Citrix XenServer“, die „Xen Cloud Platform“ (XCP, eine quelloffene Variante von XenServer), „XenAPI/XAPI“, Xen via Libvirt (unter anderem für RHEL und Suse), „Microsoft Hyper-V“, „KVM/QEMU“, „UML“ (User Mode Linux), „LXC“ (via libvirt) und „VMware ESXi“ (Schreibrechte via API erfordern „vCenter“ und eine Enterprise-Lizenz).

Ein unterstützter Hypervisor ist allerdings nicht zwingend erforderlich; OpenStack lässt sich auch auf roher Hardware installieren („bare metal“). Der offizielle Treiber ist „Ironic“ aus dem „OpenStack Bare Metal Provisioning Program“. Compute-Instanzen in Nova starten aus Maschine-Images, welche OpenStack derzeit via OpenStack ImageService Glance bereitstellt.

Der OpenStack Blockspeicher (Cinder)

Zur Verwaltung von persistentem Blockspeicher für Nova-Instanzen dient in OpenStack ein Dienst mit der Beweichnung „Cinder“. Cinder kann die Erstellung wie auch den Anschluss der virtuellen Speichergeräte an Nova-Instanzen handhaben und ist sowohl per API als auch über das Dashboard zugänglich. Dadurch wird jeder Benutzer befähigt, die eigenen Speicheranforderungen selbst zu erfüllen.

Der OpenStack Objektspeicher (Swift)

„Swift“ ist ein massiv skalierbarer Objektspeicher mit Unterstützung für über 85 Petabytes und Milliarden von Objekten in Account/Container/Objekt-Struktur, steuerbar via ein REST-basiertes API. Swift verfügt über eingebaute Fähigkeiten zur Replikation (in isolierten Speicherzonen), zur ausgewogenen Datendistribution und zur Ausfallwiederherstellung. Es erfordert keine zentralisierte Datenbank und läuft auf reiner Standardhardware.

Der OpenStack Image-Dienst (Glance)

Für die Verwaltung von Installationsvorlagen für Compute-Instanzen, den so genannten Machine-Images, und die Registrierung der Metadatendefinitionen zeichnet das OpenStack ImageService „Glance“ verantwortlich. Glance erlaubt Benutzern die Entdeckung, Registrierung und Bereitstellung von Images einzelner Volumes wie auch virtualisierter Server.

Die Funktionsweise von OpenStack Glance auf einen Blick.
Die Funktionsweise von OpenStack Glance auf einen Blick.
(Bild: OpenStack Foundation)

Der Dienst legt die zu verwaltenden Daten in den so genannten Repositories ab (zum Beispiel im Dateisystem lokal vorhandener Hardware, in OpenStack Object Storage Swift, auf Amazon S3 oder auf entferntem Speicher via HTTP) ab, sichert die Metadaten der Images in einer Datenbank (in Frage kommen unter anderem MySQL, SQlite, MongoDB und andere) und verzeichnet die Zugehörigkeiten in der so genannten Glance-Registry. Glance wird nutzt ein REST-basiertes API.

Glance unterstützt alle gängigen Image-Formate, darunter auch die folgenden Typen:

  • Raw („rohes Metall“),
  • Machine (kernel/ramdisk außerhalb eines Image, wie im Falle von AMIs)
  • VHD (Hyper-V),
  • VDI (Virtual Box),
  • qcow2 (Qemu/KVM),
  • VMDK (VMware),
  • VF (VMware und andere).

Das Dashboard (Horizon)

Endbenutzer können mit jedem einzelnen OpenStack-Service über das zugehörige API interagieren und/oder das standardisierte Web-Interface von „Horizon“ nutzen (inzwischen gibt es im Übrigen auch Lösungen von Drittanbietern wie Ansible).

Horizon ist die grafische Bedienoberfläche von OpenStack für Administratoren und Anwender auf der Basis des Django-Frameworks. Horizon erlaubt die (bei Bedarf automatisierte) Bereitstellung und Verwaltung von Ressourcen der Cloud im Datencenter. Die offene Architektur von Horizon ermöglicht die Integration von Drittanbieter-Lösungen, darunter Tools für das Monitoring der Infrastruktur.

Das Networking (Neutron)

Bei Neutron (zuvor unter dem Codenamen „Quantum“ bekannt) handelt es sich um ein API-basiertes System zur Bereitstellung und Verwaltung von Netzwerkdiensten in OpenStack. Der Dienst umfasst die Provisionierung von IP-Adressen und die Konfiguration von Hard- und Software. Zahlreiche Anbieter von Netzwerkhardware (unter anderem Cisco, VMware, NEC, Brocade, Extreme Networks, Arista Networks, Mellanox, Juniper Networks, PLUMgrid, Midokura und Embrane) bieten Erweiterungen für Neutron, um die native Steuerung ihrer Geräte zu ermöglichen.

Das Identity-Management (Keystone)

Alle Dienste in OpenStack nutzen eine gemeinsame Authentifizierung: „Keystone“.

Das Identitäten-Management-System Keystone verwaltet ein zentrales Verzeichnis von Benutzern mit Bezug auf ihre Berechtigungen zur Nutzung der einzelnen Openstack-Dienste. Keystone fungiert als ein gemeinsames Authentifizierungssystem für das gesamte Cloud-Betriebssystem und lässt sich mit bestehenden Backend-Verzeichnisdiensten wie LDAP integrieren. Es unterstützt mehrere Formen der Authentifizierung einschließlich ganz gewöhnlicher Zugangsdaten (Benutzername und Passwort), Token-basierter Systeme und Logins im AWS-Stil.

Andere Projekte von OpenStack befassen sich mit der Lastverteilung, Datenbankdiensten, der Verwaltung von Warteschlangen wie auch zahlreichen anderen Aspekten der Datencentervirtualisierung.

(ID:43403062)