Tag: OpenQRM


openQRM 5.1 ist verfügbar: OpenStack und Eucalyptus haben einen ernsthaften Konkurrenten

openQRM Projektmanager Matt Rechenburg hatte mir Ende Juli schon einige neue Features von openQRM 5.1 verraten. Jetzt ist das endgültige Release mit weiteren Funktionen veröffentlicht worden. Das Gesamtbild sieht wirklich vielversprechend aus. Zwar lässt die Überschrift im ersten Moment vermuten openQRM wäre etwas vollkommen Neues, was nun versucht OpenStack oder Eucalyptus den Rang abzulaufen. Das ist bei weitem nicht so. openQRM existiert bereits seit 2004 und hat im Laufe der Jahre eine große Funktionsvielfalt aufgebaut. Das Open-Source Projekt aus Köln geht in der Masse leider etwas unter, weil die Marketing-Maschinen hinter OpenStack und Eucalypts auf Hochtouren laufen und deren Lautsprecher um ein Vielfaches größer sind. Dabei muss sich openQRM vor beiden nicht verstecken. Im Gegenteil, mit der Version 5.1 hat das Team um Rechenburg noch einmal kräftig an Funktionen zugelegt und insbesondere die Benutzerfreundlichkeit erhöht.

Die neuen Funktionen in openQRM 5.1

Auch openQRM-Enterprise sieht in dem Hybrid Cloud Modell eine wichtige Bedeutung für die Zukunft der Cloud. Aus diesem Grund wurde openQRM 5.1 mit einem Plugin für die Unterstützung der Amazon Web Services (AWS), Eucalyptus Cloud und Ubuntu Enterprise Cloud (UEC) erweitert, um mit diesen drei Cloud Infrastrukturen eine Hybrid Cloud aufzuspannen. Damit bindet openQRM sowohl AWS als auch Eucalyptus und UEC als weitere Ressourcen-Anbieter für Rechenleistung und Speicherplatz ein und ist damit in der Lage Public Cloud Infrastrukturen als auch lokale virtuelle Maschinen zu verwalten. Damit erhalten Administratoren die Möglichkeit anhand von openQRM ihren Endnutzern über ein Cloud-Portal z.B. Amazon AMIs transparent bereitzustellen und über Nagios den Zustand der virtuellen Maschinen zu überwachen.

Eine weitere neue Funktionalität ist die sehr enge Integration von Puppet, mit der Endnutzer lokale virtuelle Maschinen ebenso wie Public Cloud Infrastrukturen mit personalisierten, verwalteten Software-Stacks bestellen können. Die wohl beste technische Erneuerung ist das Berücksichtigen des High-Availability Konzepts der Amazon Web Services. Fällt eine Amazon EC2-Instanz in einen Fehlerzustand, wird automatisch eine neue gestartet. openQRM 5.1 ist dabei sogar in der Lage, den Ausfall einer gesamten Amazon Availability Zone (AZ) zu kompensieren. Sollte eine AZ nicht mehr erreichbar sein, wird die entsprechende EC2-Instanz in einer anderen Availability Zone derselben Region gestartet.

openQRM-Enterprise baut die Open-Source Lösung openQRM konsequent um Cloud-übergreifende Verwaltungslösungen aus, um seinen Kunden damit zu ermöglichen, flexibel über die Grenzen ihrer eigenen IT-Kapazitäten hinweg zu wachsen, so CEO Matt Rechenburg.

Neben technischen Erweiterungen wurde ebenfalls viel Wert auf die Benutzerfreundlichkeit gelegt. Die Benutzeroberfläche für den Administrator wurde in openQRM 5.1 vollständig überarbeitet. Damit wird für eine bessere Übersichtlichkeit und Benutzerführung gesorgt. Auch das Dashboard, als zentrale Anlaufstelle hat davon stark profitiert, indem alle Informationen, wie der Status des Rechenzentrums, auf einen Blick angezeigt werden.

Für die openQRM Enterprise Edition wurden ebenfalls neue Funktionen vorgestellt. Dazu gehört ein neues Plugin für die rollenbasierte Zugriffsrechteverwaltung, die eine feingranulare Einstellung von Berechtigungen für Administratoren innerhalb des gesamten openQRM-Systems erlaubt. Damit lassen sich komplette Unternehmenstopologien auf openQRM-Rollen abbilden, um Administratoren, die im Unternehmen nur für die Virtualisierung zuständig sind, auf die Verwaltung und Bereitstellung virtueller Maschinen einzuschränken.

Weitere Erneuerungen in openQRM 5.1 sind eine verbesserte Unterstützung der Virtualisierungstechnologie KVM, indem nun ebenfalls GlusterFS für KVM-Volumes genutzt werden kann. Zudem werden VMware Technologien ab sofort besser unterstützt. Das bedeutet, dass sich nun auch bestehende VMware ESX Systeme verwalten, sowie lokale oder über das Netzwerk startbare VMware ESX Maschinen installieren und verwalten lassen.

openQRM macht einen großen Schritt nach vorne

Zwar existiert openQRM bereits deutlich länger am Markt als OpenStack oder Eucalyptus. Dennoch ist der Bekanntheitsgrad beider Projekte größer. Das liegt vorwiegend an den großangelegten Marketing-Aktivitäten sowohl von der OpenStack Community als auch von Eucalyptus. Technologisch und Funktional muss sich openQRM aber keinesfalls verstecken. Im Gegenteil, openQRMs Funktionsumfang ist um ein Vielfaches mächtiger als der von OpenStack oder Eucalyptus. Wo sich die beiden ausschließlich auf das Thema Cloud konzentrieren, liefert openQRM zudem eine vollständige Data Center Management Lösung inklusive.

Auf Grund der langen Historie hat openQRM in den vergangenen Jahren viele neue und wichtige Funktionen erhalten. Allerdings ist dadurch ebenfalls ein wenig der Überblick verloren gegangen, was die Lösung überhaupt im Stande ist zu leisten. Wer jedoch verstanden hat, dass sich openQRM aus den ineinander integrierten Bausteinen "Data Center Management", "Cloud-Backend" und "Cloud-Portal" zusammensetzt, wird erkennen, dass ihm die Open-Source Lösung, insbesondere beim Aufbau von Private Clouds, einen Vorsprung gegenüber OpenStack und Eucalyptus ermöglicht. Speziell der Bereich Data Center Management darf für den Aufbau einer Cloud nicht vernachlässigt werden, um den Überblick und die Kontrolle über seine Infrastruktur zu behalten.

Mit der Version 5.0 wurde bereits damit begonnen die Strukturen zu schärfen und die einzelnen Funktionen zu Workflows zusammenzufassen. Dieses wurde durch das Release 5.1 noch einmal besser herausgearbeitet. Die neue Optik und Aufteilung des openQRM-Backends wurde vollständig überarbeitet, wirkt aufgeräumter und dadurch übersichtlicher in der Handhabung und wird alle Kunden positiv überraschen.

Die Erweiterung um die Hybrid-Cloud Funktionalität ist ein wichtiger Schritt für die Zukunft von openQRM. Das Ergebnis der Rackspace 2013 Hybrid Cloud Umfrage hat gezeigt, dass 60 Prozent der IT-Entscheider die Hybrid Cloud als Hauptziel vor Augen haben. Dabei wollen bzw. haben ebenfalls 60 Prozent ihre Applikationen und Workloads aus der Public Cloud abgezogen. 41 Prozent haben angegeben die Public Cloud teilweise verlassen zu wollen. 19 Prozent wollen die Public Cloud sogar vollständig verlassen. Die Gründe für den Einsatz einer Hybrid Cloud anstatt einer Public Cloud sind eine höhere Sicherheit (52 Prozent), mehr Kontrolle (42 Prozent) sowie eine bessere Performance und höhere Zuverlässigkeit (37 Prozent). Zu den Top Vorteilen, von denen Hybrid Cloud Nutzer berichten, gehören mehr Kontrolle (59 Prozent), eine höhere Sicherheit (54 Prozent), eine höhere Zuverlässigkeit (48 Prozent), Kostenvorteile (46 Prozent) und eine bessere Performance (44 Prozent).

openQRM orientiert sich dabei nicht überraschend am aktuellen Public Cloud Marktführer Amazon Web Services. Damit lässt sich die Cloud-Infrastruktursoftware ebenfalls in Kombination mit Eucalyptus und anderen Amazon kompatiblen Cloud-Infrastrukturen nutzen, um eine massiv skalierbare Hybrid-Cloud Infrastruktur aufzubauen. Dabei setzt openQRM auf sein bewährtes Plugin-Konzept und bildet Amazon EC2, S3 und Eucalyptus genau so ab. Amazon und Eucalyptus werden, neben eigenen Ressourcen aus einer privaten openQRM Cloud, damit zu einem weiteren Ressourcen Provider, um schnell und unkompliziert mehr Rechenleistung zu erhalten.

Zu den absoluten Killerfeatures gehören meiner Ansicht nach das automatische Applications Deployment mittels Puppet, mit dem End-Nutzer sich bequem und automatisiert EC2 Instanzen mit einem vollständigen Softwarestack selbst bereitstellen können, sowie die Berücksichtigung der Amazon Availability Zone übergreifenden High-Availability Funktionalität, die von vielen Cloud-Nutzern aus Unwissenheit immer wieder vernachlässigt wird. Aber auch die verbesserte Integration von VMware Technologien wie ESX Systemen sollte nicht unbeachtet bleiben. Schließlich ist VMware noch die führende Virtualisierungstechnologie am Markt. Damit erhöht openQRM ebenfalls seine Attraktivität, um als Open-Source Lösung zur Steuerung und Kontrolle von VMware Umgebungen eingesetzt zu werden.

Technologisch und Funktional ist openQRM auf einem sehr guten Weg in die Zukunft. Es muss allerdings mehr in die Öffentlichkeitsarbeit und das Marketing investiert werden.



Aufbau einer Hosted Private Cloud mit der Open-Source Cloud Computing Infrastrukturlösung openQRM

Unternehmen haben die Vorteile der Flexibilisierung der eigenen IT-Infrastruktur erkannt. Dennoch hat die jüngste Vergangenheit die Bedenken bestärkt, den Weg in die Public Cloud aus Gründen des Datenschutzes und der Informationssicherheit zu meiden. Es sind daher Alternativen gefragt. Mit der Private Cloud wäre eine gefunden. Wären dazu nicht hohe Vorabinvestitionen in eigene Hard- und Software notwendig. Ein Mittelweg besteht in der Nutzung einer Hosted Private Cloud. Diese Form der Cloud wird mittlerweile von einigen Providern angeboten. Es besteht aber ebenfalls die Möglichkeit, selbst den Aufbau und den Betrieb zu übernehmen. Dieser INSIGHTS Report zeigt, wie dieses mit der Open-Source Cloud Computing Infrastrukturlösung openQRM möglich ist.

Warum eine Hosted Private Cloud?

Unternehmen sind angehalten ihre IT-Infrastruktur zu flexibilisieren, um ihren Ressourcenbedarf je nach Situation zu skalieren. Der Idealfall stellt hierbei die Nutzung einer Public Cloud dar. Dabei sind keine Vorabinvestitionen in eigene Hard- und Software notwendig. Viele Unternehmen scheuen, aus Gründen des Datenschutzes und der Informationssicherheit, jedoch den Weg in die Public Cloud und schauen sich nach einer Alternative um. Diese nennt sich Private Cloud. Der Hauptvorteil einer Private Cloud besteht dabei in der flexiblen Self-Service Bereitstellung von Ressourcen für Mitarbeiter und Projekte wie in einer Public Cloud, die durch eine reine Virtualisierung der Rechenzentrumsinfrastruktur nicht möglich ist. Jedoch ist für den Aufbau einer Private Cloud zu beachten, dass Investitionen in die eigene IT-Infrastruktur geleistet werden müssen, um den virtuellen Ressourcenbedarf durch einen physikalischen Unterbau zu gewährleisten.

Daher muss ein geeigneter Mittelweg gefunden werden, der einen flexiblen Ressourcenbezug über einen Self-Service ermöglicht, aber zugleich keine hohe Investitionskosten in eigene Infrastrukturkomponenten erwartet und ohne auf ein selbst festgelegtes Datenschutz und -sicherheitsniveau verzichten zu müssen. Dieser Mittelweg besteht im Hosting einer Private Cloud bei einem externen (Web)-Hoster. Die notwendigen physikalischen Server werden über einen Hoster angemietet, der für deren Wartung zuständig ist. Um auch den etwaigen physikalischen Ressourcenbedarf zu sichern, sollten mit dem Hoster entsprechende Absprachen getroffen werden, um die Hardware sehr zeitnah nutzen zu können. Mögliche Alternativen wären Standby-Server oder ähnliche Ansätze.

Auf dieser externen Server-/Storage-Infrastruktur wird anschließend die Cloud-Infrastruktursoftware installiert und zu einer virtuellen gehosteten Private Cloud konfiguriert. Diese erlaubt es Mitarbeitern zum Beispiel je nach Bedarf eigene Server für die Softwareentwicklung zu starten, einzufrieren und nach Beendigung des Projekts wieder zu entfernen. Für die Abrechnung der jeweilig genutzten Ressourcen sorgt die Cloud-Infrastruktursoftware, die über solche Funktionen entsprechend verfügen muss.

openQRM Cloud

Grundsätzlich kann eine openQRM Cloud für den Aufbau einer Public als auch Private Cloud genutzt werden. Diese basiert komplett auf openQRMs Appliance Modell und bietet vollständig automatisierte Deployments die von Cloud Nutzern angefragt werden können. Dazu unterstützt eine openQRM Cloud alle Virtualisierungs- und Speichertechnologien, die auch von openQRM selbst unterstützt werden. Es besteht darüber hinaus die Möglichkeit, physikalische Systeme über die openQRM Cloud bereitzustellen.

Auf Basis der openQRM Enterprise Cloud-Zones lässt sich darüber hinaus eine vollständig verteilte openQRM Cloud Infrastruktur aufbauen. Damit können mehrere voneinander getrennte Rechenzentren in logische Bereiche aufgeteilt oder zum Beispiel die Unternehmenstopologie hierarchisch und logisch sicher voneinander getrennt aufgebaut werden. Zudem integriert openQRM Enterprise Cloud-Zones ein zentrales und mehrsprachiges Cloud-Portal inkl. einer Google Maps Integration, wodurch ein interaktiver Überblick über sämtliche Standorte und Systeme entsteht.

Aufbau der Referenzumgebung

Für den Aufbau unseres Referenz-Setups werden ein physikalischer Server und mehrere öffentliche IP-Adressen benötigt. Für die Installation von openQRM bestehen zwei Möglichkeiten:

  • Empfohlen: Ein privates Class C Subnetz (192.168.x.x/255.255.255.0) konfigurieren in welchem openQRM betrieben wird. openQRM benötigt dann zusätzlich eine öffentliche IP-Adresse für den Zugang von außen.
  • Option: openQRM in einer virtuellen Maschine installieren. Bei dieser Variante steuert openQRM den physikalischen Server und bezieht die virtuellen Maschinen für den späteren Betrieb der Cloud von dem physikalischen Host.

Für die Zuordnung der öffentlichen IP Adressen kann in beiden Szenarien Cloud-NAT eingesetzt werden. Diese openQRM Cloud Funktion übersetzt die IP Adressen des privaten openQRM Class C Netzwerk in öffentliche Adressen. Dies erfordert Post- und Pre-Routing Regeln, die auf dem Gateway/Router mittels IPTables wie folgt konfiguriert werden:

Für die Konfiguration komplexer Netzwerkumgebungen ist das IP-Management Plugin zu empfehlen. Dieses Enterprise Plugin erlaubt es beliebige Netzwerk- und IP-Adress-Konfigurationen für die verwalteten Server vorzunehmen. In der openQRM Cloud bietet es zudem eine Zuordnung von Netzwerken zu Cloud Benutzergruppen und unterstützt darüber hinaus das automatisierte VLAN Management.

Weiterhin werden zwei Bridges benötigt:

  • Eine für die öffentliche Schnittstelle mit einer öffentlichen IP-Adresse.
  • Eine für die private Schnittstelle dpe für die DHCP konfiguriert ist.

Die Daten der Cloud werden später auf dem lokalen Speicher des physikalischen Servers gespeichert. Hierfür bieten sich zwei Varianten:

Empfohlen:

  • KVM-Storage LVM Deployment (LVM Logical Volume Deployment)
  • Benötigt eine oder mehrere dedizierte LVM Volume Group(s) für die virtuellen Maschinen. Für komplexere Setups empfiehlt sich ein zentrales iSCSI Target oder ein SAN zu verwenden.

Option:

  • KVM-Storage BF Deployment (Blockfile Deployment)
  • Erstellen eines Verzeichnis auf dem Linux-Server unter z.B.
    • /var/lib/kvm-storage/storage1
    • /var/lib/kvm-storage/storage2
    • (Die Storage Verzeichnisse lassen sich über die Plugin Konfiguration beliebig einstellen)

  • Für komplexere Setups empfiehlt sich ein zentrales NAS für die konfigurierten Mountpoints zu verwenden.

Am Ende muss IPTables entsprechend der oben genannten Regeln und der gewünschten eigenen Sicherheit konfiguriert werden. Im Anschluss erfolgt die Installation von openQRM. Pakete für die gängigen Linux Distributionen liegen unter http://packages.openqrm.com. Nachdem openQRM installiert und initialisiert wurde folgt dessen Konfiguration.

Basis-Konfiguration von openQRM

Der erste Schritt nach der Initialisierung ist das Editieren der "/usr/share/openqrm/plugins/dns/etc/openqrm-plugin-dns.conf", indem der Standardwert auf die eigene Domain geändert wird.

Domain für das private Netzwerk konfigurieren:
# please configure your domain name for the openQRM network here!
OPENQRM_SERVER_DOMAIN="oqnet.org"

Es folgt das Aktivieren und Starten der Plugins über die Weboberfläche des openQRM-Servers. Die folgenden Plugins sind dazu zwingend erforderlich:

DNS Plugin

  • Dient der automatisierten Verwaltung des DNS Service für das openQRM Management-Netzwerk.

DHCPD

  • Verwaltet automatisch die IP-Adressen für das openQRM Management-Netzwerk.

KVM Storage

  • Integriert die KVM Virtualisierungstechnologie für das lokale Deployment.

Cloud-Plugin

  • Ermöglicht den Aufbau einer Private und Public Cloud Computing Umgebung mit openQRM.

Zu den weiteren empfohlenen Plugins gehören:

Collectd

  • Ein Monitoring-System inkl. Langzeitstatistiken und Graphiken.

LCMC

  • Integriert die Linux Cluster Management Console zur Verwaltung der Hochverfügbarkeit einzelner Services.

High-Availability

  • Ermöglicht eine automatische Hochverfügbarkeit der Appliances.

I-do-it (Enterprise Plugin)

  • Bietet eine automatische Systemdokumentation (CMDB).

Local server

  • Integriert bestehende und lokal installierte Server mit openQRM.

Nagios 3

  • Überwacht automatisch Systeme und Services.

NoVNC

  • Bietet eine remote Web-Konsole für den Zugriff auf virtuelle Maschinen und physikalische Systeme.

Puppet

  • Integriert Puppet für ein vollständig automatisiertes Konfigurationsmanagement und Applikationsdeployment in openQRM.

SSHterm

  • Ermöglicht die sichere Anmeldung über eine Web-Shell an den openQRM-Server und integrierte Ressourcen.

Zu den Plugins die mehr Komfort bei der automatischen Installation von virtuellen Maschinen als Cloud Templates bieten gehören:

Cobbler

  • Integriert Cobbler für das automatisierte Bereitstellen von Linux System in openQRM.

FAI

  • Integriert FAI für das automatisierte Bereitstellen von Linux System in openQRM.

LinuxCOE

  • Integriert LinuxCOE für das automatisierte Bereitstellen von Linux System in openQRM.

Opsi

  • Integriert Opsi für das automatisierte Bereitstellen von Windows System in openQRM.

Clonezilla/local-storage

  • Integriert Clonezilla für das automatisierte Bereitstellen von Linux und Windows System in openQRM.

Basis-Konfiguration der Host-Funktion für die virtuellen Maschinen

Fall 1: openQRM ist direkt auf dem physikalischen System installiert

Als Nächstes muss der Host konfiguriert werden, um darüber später die virtuellen Maschinen bereitzustellen. Dazu wird eine Appliance vom Typ KVM Storage Host erstellt. Man geht dazu wie folgt vor:

  • Appliance erstellen
    • Base > Appliance > Create
  • Name: z.B. openQRM
  • Als Ressource den openQRM Server selbst auswählen
  • Typ: KVM Storage Host

Dadurch erhält openQRM die Information, dass auf dieser Maschine ein KVM Storage angelegt werden soll.

Fall 2: openQRM ist in einer VM installiert, die auf dem physikalischen System läuft

Mittels des „local-server“ Plugins wird das physikalische System in openQRM integriert. Dazu wird das „openqrm-local-server“ Integrations-Tool vom openQRM Server auf das zu integrierende System kopiert z.B.

scp /usr/share/openqrm/plugins/local-server/bin/openqrm-local-server [IP-Adresse des physikalischen Systems]:/tmp/

Danach wird es auf dem zu integrierenden System ausgeführt:

ssh [IP-Adresse des physikalischen Systems]: /tmp/openqrm-local-server integrate -u openqrm -p openqrm -q [IP-Adresse des openQRM Server] -i br0 [-s http/https]

(in diesem Beispiel ist „br0“ die Bridge zum openQRM Management Netzwerk)

Die Integration mittels „local-server“ erstellt in openQRM automatisch:

  • eine neue Ressource
  • ein neues Image
  • einen neuen Kernel
  • eine neue Appliance aus den obigen Subkomponenten

Als Nächstes muss die Appliance des gerade integrierten physikalischen Systems konfiguriert werden, um darüber später die virtuellen Maschinen bereitzustellen. Dazu wird die Appliance als Typ KVM Storage Host eingestellt. Man geht dazu wie folgt vor:

  • Appliance editieren
    • Base > Appliance > Edit
  • Typ: KVM Storage Host einstellen

Dadurch erhält openQRM die Information, dass auf dieser Maschine ein KVM Storage angelegt werden soll.

Basis-Konfiguration der Storage-Funktion

Nun folgt die grundsätzliche Konfiguration des Storage. Hierzu wird ein Storage Objekt von einem selbst gewünschten Typ erstellt. Dazu geht man wie folgt vor:

  • Storage erstellen
    • Base > Components > Storage > Create
    Im Fall 1, die Ressource des openQRM Servers auswählen
  • Im Fall 2, die Ressource des integrierten physikalischen Systems auswählen
  • Name: z.B. KVMStorage001
  • Deployment-Typ wählen
    • hängt vom zu Beginn gewählten Typ ab: KVM-Storage LVM Deployment oder Verzeichnis (KVM-Storage BF Deployment)

Vorbereitung eines Images für virtuelle Maschinen

Um später über das Cloud-Portal virtuelle Maschinen (VM) als Teil fertiger Produkte bereitzustellen, muss zunächst ein Image für eine VM vorbereitet werden. Das funktioniert wie folgt:

  • Erstellen einer neuen virtuellen Maschine mit einer neuen virtuellen Festplatte und auf dieser ein ISO installieren.
    • Plugins > Deployment > LinuxCOE > Create Templates
    • Die hier erstellten Images werden automatisch in einem ISO-Pool, der für alle virtuellen Maschinen innerhalb von openQRM verfügbar ist, abgelegt.

Anschließend folgt das Erstellen einer Basis für ein Mastertemplate. Dieses dient als Grundlage, um später den Anwendern ein Produkt über die Cloud anhand eines Bestellvorgangs bereitzustellen.

  • Erstellen einer neuen Appliance
    • Base > Appliance > Create
  • Erstellen einer neuen Ressource
    • KVM-Storage Virtual Machine
      • Neue VM anlegen
      • Einstellungen vornehmen
      • ISO Image auswählen
      • Erstellen
    • Erstellte Ressource auswählen
  • Neues Image erstellen
    • Image als KVM-Storage Volume hinzufügen
    • KVM-Storage auswählen
    • Volume Group auf KVM-Storage auswählen
    • Neues Logical Volume hinzufügen
    • Image für die Appliance auswählen
    • Editieren, um damit ein Passwort zu setzen. (Damit wird das zuvor gewählte Passwort des ISO Image überschrieben.)
  • Kernel auswählen
    • von der lokalen Festplatte
    • (LAN Boot wäre ebenfalls möglich)
  • Appliance starten
    • die automatische Installation kann nun über VNC verfolgt werden.
    • Weitere Anpassungen können nun selbst vorgenommen werden.
    • Und folgendes beachten
      • Misc > Local-Server > Help >Local VMs („Local-Server für Lokale Virtuelle Maschinen“)

Aufräumen

Die erstellte Appliance kann nun gestoppt und anschließend gelöscht werden. Entscheidend hier war, dass wir uns ein Image erstellt haben, das für die Cloud als Mastertemplate genutzt werden kann.

Das über die Appliance erstellte Image enthält das Basis Betriebssystem welches aus dem ISO-Image installiert wurde.

Konfiguration der openQRM Cloud

Wir haben nun alle Vorbereitungen abgeschlossen, um mit der Konfiguration der openQRM Cloud zu beginnen. Die Einstellungen dafür finden wir unter „Plugin > Cloud > Configuration > Main Config“. Sämtliche Parameter, die hier angepasst werden, haben einen direkten Einfluss auf das Verhalten der gesamten Cloud.

Grundsätzlich lässt sich eine openQRM Cloud mit den Standardparametern betreiben. Je nach Bedarf und der eigenen speziellen Situation müssen Anpassungen erfolgen. Hilfreich dazu ist der Bereich „Beschreibungen“ in der rechten Spalte der Tabelle.

Es existieren jedoch einzelne Parameter, die unabhängig von dem eigenen Anwendungsfall in Betracht gezogen werden sollten. Dazu gehören:

Automatische Provisionierung (auto_provision)

  • Legt fest, ob Systeme automatisch durch die Cloud bereitgestellt werden oder ob zunächst eine Freigabe durch den Administrator notwendig ist.

Provisionierung physikalischer Systeme (request_physical_systems)

  • Mit diesem Parameter lässt sich definieren, ob neben virtuellen Maschinen auch physikalische Host über die Cloud bereitgestellt werden sollen.

Klonen der Images (default_clone_on_deploy)

  • Die Cloud rollt standardmäßig Kopien (Klone) eines Images aus.

Hochverfügbarkeit (show_ha_checkbox)

  • Ermöglicht den Betrieb der openQRM Cloud inklusive Hochverfügbarkeit der bereitgestellten Ressourcen.

Abrechnung der genutzten Ressourcen (cloud_billing_enabled)

  • openQRM verfügt über ein umfangreiches Abrechnungssystem, mit dem für sämtliche Ressourcen eigene Preise festgelegt werden können, um einen transparenten Überblick zu den laufenden Kosten zu erhalten.

Cloud Produkt Manager (cloud_selector)

  • Aktiviert den Produkt-Manager, mit dem den Nutzern verschiedene Ressourcen über das Cloud-Portal bereitgestellt werden können.

Währung zur Abrechnung der Ressourcen (cloud_currency)

  • Legt die Landeswährung fest, mit der die Ressourcen abgerechnet werden sollen.

Umrechnungsfaktor für Ressourcen in reale Währung (cloud_1000_ccus)

  • Legt fest, wie viel 1000 CCUS (Cloud Computing Units) in einer zuvor festgelegten realen Währung entsprechen sollen.

Ressourcenzuordnung für Gruppen (resource_pooling)

  • Legt fest, von welchem Host eine bestimmte Benutzergruppe ihre virtuellen Maschinen erhalten darf.

Produkte für openQRM Cloud anlegen

Um unseren Nutzern Cloud Ressourcen über das Cloud-Portal bereitzustellen, müssen vorab Produkte ausgewählt werden, welche über die Konfiguration einer virtuellen Maschine bestimmen. Die Einstellungen dafür nehmen wir unter „Plugin > Cloud > Configuration > Products“ vor.

Unter der „Cloud Produkt Verwaltung“ lassen sich verschiedene Produkte erstellen, die später unter dem Cloud-Portal von dem Nutzer eigenständig zu vollständigen virtuellen Maschinen zusammengebaut werden können. Zu den Produkten die uns dabei zur Verfügung stehen gehören:

  • Anzahl der CPUs
  • Größe der lokalen Festplatte
  • Größe des Arbeitsspeichers
  • Der Typ des Kernel
  • Die Anzahl der der Netzwerkkarten
  • Vorinstallierte Applikationen
  • Typ der Virtualisierung
  • Ob eine virtuelle Maschine hochverfügbar sein soll

Über die Statuszeile können mit +/- die jeweiligen Produkte aktiviert bzw. deaktiviert werden und damit dem Nutzer im Cloud-Portal angezeigt oder vor ihm versteckt werden.

Bitte beachten: Produkte die deaktiviert werden, aber noch innerhalb von virtuellen Maschinen aktiv sind, werden weiterhin abgerechnet.

Um nun ein neues CPU Produkt zu erstellen wählen wir den Reiter „CPU“ und bestimmen in dem Bereich „Hinzufügen eines CPU Produkts“ unsere gewünschten Parameter.

Der erste Parameter bestimmt, wie viele CPUs (Kerne), hier 64, unser Produkt haben soll. Über den zweiten Parameter legen wir fest, welchen Wert dieses Produkt hat und wie viele Kosten entsprechend während seiner Nutzung pro Stunde entstehen. In diesem Beispiel entstehen Kosten von 10 CCUs pro Stunde für 64 CPUs.

Anhand der Pfeiltasten lässt sich die Reihenfolge bestimmen, wie die einzelnen Produkte im Cloud-Portal angezeigt werden. Der Default-Wert ist der an obiger Stelle.

Bitte beachten: Im Cloud-Portal existieren Standard-Profile in den Größen „Small“, „Medium“ und „Big“. Die Profile werden automatisch entsprechend der Reihenfolge unter den jeweiligen Produkten bestimmt. Das bedeutet Small nimmt immer den ersten Wert, Medium den Zweiten und Big den Dritten.

openQRM erlaubt es ebenfalls, die virtuellen Maschinen mit vorkonfigurierten Softwarestacks zu bestellen. Dazu greift openQRM auf Puppet (Plugins > Deployment > Puppet) zurück. Damit ist es möglich zum Beispiel den bekannten LAMP-Stack zu bestellen.

Haben wir unsere Produktpalette fertig konfiguriert, ist der Nutzer an der Reihe, sich seine virtuellen Maschinen zu bestellen. Das erfolgt über das Cloud-Portal.

openQRM Cloud-Portal

Für das Erstellen einer neuen virtuellen Maschine (VM) klicken wir im Reiter auf „Neu“. Es
erscheint die Eingabemaske, in der wir unsere VM anhand der Produkte, die der
Administrator im Admin-Backend festgelegt und freigegeben hat, erstellen können.

Wir entscheiden uns für das Profil „Gross“ und einem LAMP-Server. Unsere virtuelle Maschine besteht damit aus den folgenden Produkten:

  • TYP: KVM-Storage VM
  • RAM: 1 GB
  • CPU: 64 Kerne
  • Festplatte: 8 GB
  • Netzwerkkarte: 1

Darüber hinaus soll diese virtuelle Maschine „Hochverfügbar“ sein. Das bedeutet, wenn diese ausfallen sollte, wird automatisch eine Ersatzmaschine mit exakt derselben Konfiguration hochgefahren, mit der man weiterarbeiten kann.

Für diese Konfiguration werden uns Kosten in Höhe von 35 CCUs pro Stunde entstehen. Das entspricht 0,04Euro pro Stunde bzw. 0,84Euro pro Tag oder 26,04Euro pro Monat.

Wollen wir die virtuelle Maschine bestellen, wählen wir „absenden“.

Unter dem Reiter „Aufträge“ sehen wir alle aktuellen und vergangenen Bestellungen, die wir mit unserem Benutzer getätigt haben. Der Status „active“ in der ersten Spalte zeigt, dass die Maschine bereits hochgefahren ist.

Parallel dazu erhalten wir eine E-Mail mit der IP-Adresse, einem Benutzernamen und Passwort, über die wir uns an der virtuellen Maschine anmelden können.

Der Reiter „Systeme“ bestätigt uns beide Informationen noch einmal und zeigt weitere Informationen zu der virtuellen Maschine. Darüber hinaus haben wir die Möglichkeit, Änderungen an der Systemkonfiguration vorzunehmen, die virtuelle Maschine in den Ruhezustand zu setzen oder neu zu starten. Weiterhin ist der Login über eine Web-Shell möglich.

Die virtuelle Maschine kann, wenn sie nicht mehr benötigt wird pausiert werden. Alternativ besteht die Möglichkeit, dass der Administrator dieses zum Beispiel anhand einer Inaktivität des Systems oder zu einer bestimmten Uhrzeit veranlasst.

Virtuelle Maschine mit dem „Visual Cloud Designer“ erstellen

Neben dem „gewöhnlichen“ zusammenbauen einer virtuellen Maschine, ermöglicht das openQRM Cloud-Portal es dem Benutzer, dieses bequem per Drag-and-Drop zu erledigen. Dabei hilft der „Visual Cloud Designer“, der unter dem Reiter „VCD“ zu finden ist.

Mit dem Schieberegler unter „Cloud Components“ lässt sich zwischen den Produkten auf der linken Seite hin und her scrollen. Mit der Maus lässt sich die „Cloud Appliance“ (virtuelle Maschine) in der Mitte mit den entsprechenden Produkten bestücken.

Unsere virtuelle Maschine „Testosteron“ haben wir in diesem Fall also mit einem KVM-Storage, Ubuntu 12.04, 64 CPUs, 1024 MB Ram, 8 GB Festplatte, einer Netzwerkkarte, Software für einen Webserver und mit der Eigenschaft Hochverfügbarkeit ausgestattet.

Mit einen Klick auf „Check Costs“, sagt uns openQRM, dass wir für diese Konfiguration 0,03 EUR pro Stunde bezahlen würden.

Um den Bestellvorgang für die virtuelle Maschine zu starten klicken wir auf „Request“. Wir erhalten die Meldung, dass openQRM mit dem Ausrollen der Ressource beginnt und wir weitere Informationen im Postfach haben.

Die E-Mail enthält wie bereits oben beschrieben, sämtliche Zugangsdaten, um mit der virtuellen Maschine zu arbeiten.

Im Cloud-Portal unter „Systeme“, sehen wir dann auch bereits die gestartete virtuelle Maschine.

Virtuelle Maschine mit dem „Visual Infrastructure Designer“ erstellen

Neben der Bereitstellung einzelner virtueller Maschinen bietet das openQRM Cloud-Portal zudem die Möglichkeit, vollständige Infrastrukturen, bestehend aus mehreren virtuellen Maschinen und weiteren Komponenten, mit einem Klick bereitzustellen.

Dafür greifen wir auf den „Visual Infrastructure Designer“ zurück. Dieser ist im Cloud-Portal unter dem Reiter „VID“ zu finden.

Über den „VID“ lässt sich per Drag and Drop eine vollständige WYSIWYG Infrastruktur zusammenbauen und direkt ausrollen. Hierzu müssen anhand des „VCD“ oder auf normalem Weg jedoch zunächst fertige Profile mit vorkonfigurierten virtuellen Maschinen z.B. Webserver, Router, oder Gateways erstellt werden, die anschließend provisioniert werden können.



Professionelle Open-Source Lösungen für die eigene Cloud

Ich hatte vor längerer Zeit in dem Artikel "Die eigene Cloud bauen mit… – CloudWashing par excellence!" die leichtfertige Aussage eines Journalisten kritisiert, dass man auf einfache Weise eine eigene Cloud Umgebung aufbauen kann. Das dem so nicht ist und worauf zu achten ist, habe ich in dem Artikel ebenfalls erläutert. Dennoch existieren natürlich Lösungen, die dabei helfen, eine eigene Cloud aufzubauen. Tatsächlich gibt es derzeit aber nur fünf Open-Source Lösungen, die für den professionellen Aufbau von Cloud Computing Umgebungen eingesetzt werden sollten. Dazu gehören openQRM, Eucalyptus, OpenStack, CloudStack und OpenNebula.

Grundlegendes! Bitte lesen!

Viele Unternehmen entscheiden sich vermehrt für den Aufbau einer eigenen (Private) Cloud, um die Kontrolle über Ressourcen, Daten, Sicherheit usw. zu behalten. Richtig ist, dass eine eigene Cloud die Agilität eines Unternehmens verbessert und die Systeme bis zu einem gewissen Grad skalieren können. Allerdings sollte sich ein Unternehmen immer bewusst machen, das die Skalierbarkeit einer eigenen Cloud einem manuellen Prozess gleicht. Bei diesem muss in Echtzeit auf Ressourcenengpässe durch das eigene Personal reagiert werden, indem weitere Hardwarekomponenten in Form von Speicherplatz, Arbeitsspeicher oder Rechenleistung nachgerüstet werden. Für jede virtuelle Instanz wird schließlich auch die physikalische Hardware benötigt. Neben Hardware- und Softwareressourcen sind Tools zum Echtzeit-Monitoring der Umgebung daher unerlässlich.

Hardware, Hardware, Hardware

Eine eigene Cloud bedarf also Unmengen an physikalischen Ressourcen um den Wunsch nach Flexibilität und quasi unendlichen virtuellen Ressourcen zu befriedigen. Heißt im Umkehrschluß daher für Unternehmen mit einer eigenen Cloud: Investieren, das eigene Rechenzentrum umbauen und Cloud-fähig zu machen.

Es ist ein Irrglaube, wenn man denkt, dass der Aufbau einer eigenen Cloud impliziert, sich anschließend nicht mehr um die Hochverfügbarkeit der eigenen Infrastruktur (physikalische Maschinen, virtuelle Maschinen, Master-Slave-Replikation, Hot-Standby, etc.) kümmern zu müssen. Das macht dann ja schließlich die Cloud alleine.

Konfigurieren, Skripte, Intelligenz

Eine Cloud funktioniert nicht von alleine. Sie muss entwickelt und mit Intelligenz ausgestattet werden. Das gilt für den Aufbau einer Private Cloud genau so wie für die Nutzung eines Public Cloud Angebots (im Falle von IaaS). Dazu müssen Skripte geschrieben, womöglich Software neu entwickelt werden, die auf der Cloud verteilt läuft. Weiterhin ist es wichtig, die Whitepaper des Anbieter zu lesen, KnowHow(!) aufzubauen und zu verstehen, wie die Cloud arbeitet, um sie für die eigenen Bedürfnisse nutzen zu können. Eine weitere Möglichkeit besteht natürlich darin, sich (zusätzlich) von Profis beraten zu lassen. Das ist bei der Nutzung einer eigenen Cloud nicht anders. Wenn eine virtuelle Maschine A ein Problem hat, dann kann sie plötzlich nicht mehr erreichbar sein, wie jeder normale physikalische Server nun einmal auch. Nun könnte man denken: “Dann nehme ich als Backup für virtuelle Maschine A halt noch eine virtuelle Maschine B dazu!” Und dann? Man könnte nun denken, dass die virtuelle Maschine B automatisch die Aufgaben der virtuelle Maschine A übernimmt. So einfach ist das aber nicht! Skripte müssen vorab dafür sorgen, dass die virtuelle Maschine B die Aufgaben von virtuelle Maschine A übernehmen soll, wenn diese plötzlich nicht mehr erreichbar ist. Auch die virtuelle Maschine B muss dafür zunächst vorbereitet werden. Dazu kann z.B. der eigentliche (wichtige) Inhalt der virtuelle Maschine A inkl. aller Konfigurationen etc. in einem zentralen Speicher und nicht auf dem lokalen Speicher abgelegt werden. Anschließend muss ein Skript dafür sorgen, dass die virtuelle Maschine B automatisch mit den Konfigurationen und allen Daten aus dem lokalen Speicher hochgefahren wird, wenn die virtuelle Maschine A nicht mehr verfügbar ist.

Virtuelles Rechenzentrum

Die Cloud gibt uns im Bereich Infrastructure as a Service letztendlich nur die Möglichkeit, aus einem quasi unendlich großen Pool von Ressourcen die (unendliche) Anzahl an Ressourcen zu dem Zeitpunkt zu bekommen, wenn wir sie benötigen. Wir erhalten von der Cloud somit ein eigenes hochskalierbares virtuelles Rechenzentrum. Das bedeutet aber im Umkehrschluss für den Betreiber einer Cloud (Private, Public), dass er ebenfalls die Menge an physikalischen Ressourcen vorhalten muss, damit die angefragten virtuellen Ressourcen jederzeit bereitgestellt werden können und damit immer ausreichend Ressourcen für die Nutzer zur Verfügung stehen.


Open-Source Lösungen für den Aufbau einer eigenen Cloud


openQRM

openQRM ist eine Open Source Cloud Computing Plattform für die Verwaltung von Rechenzentren und skalierbaren IT-Infrastrukturen und ist aktuell in der Version 5.0 verfügbar. Mittels einer zentralen Managementkonsole kann die Administration von physikalischen Servern ebenso vorgenommen werden wie von virtuellen Maschinen, wodurch Rechenzentren voll automatisiert und höchst skalierbar betrieben werden können. Neben einer offenen API und einem SOAP Web Service für die nahtlose Integration der eigenen Geschäftsprozesse, unterstützt openQRM alle bekannten Virtualisierungstechnologien und bietet die Möglichkeit für transparente Migrationen von "P-to-V", "V-to-P" und "V-to-V".

openQRM verfügt des Weiteren über ein integriertes Storage-Management, mit dem anhand des Snapshot-Verfahrens Serversysteme dupliziert werden können. Die Snapshots ermöglichen eine dynamische Anpassung des Speicherplatzes, bieten einen persistenten Cloud-Speicher und erlauben ein Backup/Restore der Server sowie deren Versionierung.

Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Dabei spielt es keine Rolle, ob physikalische oder virtuelle Maschinen eingesetzt werden!

Benefits auf einem Blick

Virtualisierung

openQRM unterstützt alle gängigen Virtualisierungstechnologien darunter VMWare, Citrix XenServer und KVM und bietet die Möglichkeit der Migration von P-to-V-, V-to-P- und V-to-V für physikalische Server als auch virtuelle Maschinen.

Storage

openQRM verfügt über ein zentralisiertes Speichersystem mit integriertem Storage Management, welches alle bekannten Storage-Technologien unterstützt. Dazu gehören u.a. Netapp, Equallogic, NFS, iSCSI ZFS und proprietäre auf LVM basierende Storage-Typen, für eine flexible und schnelle Duplizierung von Serversystemen.

Zentrales Management

openQRM verschmilzt die Welt von Open Source mit der von kommerziellen Produkten. Mit einer zentralen Managementkonsole sind alle Funktionen zur Administration von Rechenzentren, System- und Service-Überwachung, Hochverfügbarkeit und automatisierter Bereitstellung vorhanden.

Funktionen

Hardware/Software Isolation

openQRM isoliert die Hardware (physikalische Server, virtuelle Maschinen) vollständig von der Software (Server Images). Dabei ist die eigentliche Hardware eine "Computing Resource" und kann dadurch jederzeit durch eine andere Hardware ersetzt werden, ohne dass die Software (Server Image) neu konfiguriert werden muss.

Unterstützung für verschiedene Virtualisierungs-Technologien

Mit VMWare, Xen, KVM und dem Citrix XenServer unterstützt openQRM eine viehlzahl an virtuellen Maschinen und kann dieses transparent verwalten und migrieren. Neben der System-Migration von physikalischen Servern zu virtuellen Maschinen (P-to-V) können Systeme ebenfalls von virtuellen Maschinen zu physikalischen Servern (V-to-P) migriert werden. Darüber hinaus besteht die Möglichkeit ein System von einer Virtualisierungstechnologie zu einer anderen Virtualisierungstechnologie (V-to-V) zu verschieben.

Vollautomatische Nagios-Konfiguration

openQRM unterstützt die vollautomatische Konfiguration von Nagios mittels "nmap2nagios-ng". Damit wird das gesamte openQRM Netzwerk analysiert und auf Basis der Informationen eine Nagios-Konfiguration erstellt. Anschließend werden alle Services auf allen Systemen überwacht.

Integriertes Storage-Management

openQRM organisiert die Serversysteme wie Dateien und nutzt zur Verwaltung moderne Storagesysteme anstatt lokaler Festplatten. Mittels Logical Volume Managern (LVM) und deren Snapshot-Verfahren können Server-Templates auf schnellen Wege dupliziert werden.

"Sollen z.B. 10 neue Server ausgerollt werden, kann so einfach ein bestehendes Server-Image 10 mal dupliziert und die "Clone" direkt zum Deployment bereitgestellt werden."

Mit diesem Konzept steht ein zentrales Backup/Restore sowie die Möglichkeit von Hot-Backups ohne Downtime zur Verfügung.

openQRM unterstützt folgende Storage-Typen:

  • NFS (NAS)
  • iSCSI (iSCSI SAN)
  • Aoe/Coraid (AOE SAN)
  • NetApp (iSCSI SAN)
  • Local-disk (Übertragung von Server-Images auf lokale Festplatten)
  • LVM-Nfs (NFS auf LVM2, erlaubt schnelles Cloning)
  • LVM-iSCSI (iSCSI auf LVM2, erlaubt schnelles Cloning)
  • LVM-Aoe (Aoe auf LVM2, erlaubt schnelles Cloning)
  • Equallogic (iSCSI SAN)
  • ZFS (iSCSI SAN)

Hochverfügbarkeit und "N-to-1"-Fail-Over!

Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Unabhängig davon, ob physikalische oder virtuelle Maschinen eingesetzt werden.

"Um zum Beispiel 10 hochverfügbare Spezialsysteme zu betreiben benötigt man normalerweise weitere 10 "Stand-By"-Systeme. Mit openQRM jedoch benötigt man nur einen einzigen "Stand-By"-Server, der im Fehlerfall eines der 10 Spezialsysteme benutzt wird. Das heißt, man kann 9 "stromfressende", nicht ausgelastete Server einsparen. Perfekt für "Green IT".

Des Weiteren können physikalische Server virtuelle Maschinen als "Hot Stand-By" nutzen und lassen sich im Notfall in eine virtuelle Maschine migrieren.

Fertige Server-Templates

Mittels dem "Image-Shelf"-Plugin stellt openQRM bereits fertige Server Templates zur Verfügung. Dazu gehören Linux Distributionen wie Debian, Ubuntu, CentOS und openSuse. Des Weiteren können mit dem Plugin eigene Server Templates auf unterschiedliche Weise (lokal, http, https, ftp) bereitgestellt werden.

Unterstützung verschiedenster Deployment-Methoden

Mit openQRM können Server von jeder Art von Storage gestartet werden. Zusätzlich können die Server Templates von einem Storage-Typ zu einem anderen übertragen werden, dabei kann noch entschieden werden, ob die Server Templates auf einem physikalischen Server oder in einer virtuellen Maschine gestartet werden sollen.

Unterstützung verschiedener OS-Distributionen

Es stehen bereits vor-konfigurierte openQRM-Server Pakete für Debian, Ubuntu und CentOS zur Verfügung. Ein openQRM-Server kann aber alle gängigen Linux Distributionen verwalten.

Cloud-Selector

Mit dem Cloud-Selector kann der Cloud Administrator seine Cloud Produkte wie z.B. Prozessoren, Speicher, Festplattengröße oder den Typ der virtuellen Maschine auswählen und deren Preise festlegen.

Kostenrechner im Cloud-Portal

Die Cloud-Computing-Unit (CCU) kann einer regulären Währung (z.b. USD oder Euro) zugewiesen werden. Mit dem Kostenrechner werden die stündlichen, täglichen und monatlichen verbrauchten Kosten für eine Cloud Appliance berechnet.

Private Cloud Images

Mit der "Private Cloud Image"-Funktion können Cloud Benutzer eigene Server Templates anlegen und verwalten.

Volle SSL-Unterstützung

Der openQRM-Server arbeitet in einem vollständig SSL-verschlüsselten Bereich und unterstützt verschiedene Serverarchitekturen wie i386 und x86_64.

Ich möchte hier noch anmerken, dass es sich bei der openQRM Enterprise um einen deutschen Anbieter aus dem Bereich des Cloud Computing handelt!


Eucalyptus

Beim Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) handelt es sich um eine Open Source Software Infrastruktur zum Aufbau von skalierbaren Utility Computing bzw. Cloud Computing Umgebungen für spezielle Clustersysteme oder einfachen miteinander verbundenen Arbeitsplatzrechnern.

Eucalyptus wurde als ein Forschungsprojekt am Computer Science department an der University of California Santa Barbara entwickelt und wird mittlerweile von der Eucalyptus Systems Inc. vermarktet. Die Software wird aber weiterhin als Open Source Projekt gepflegt und weiterentwickelt. Die Eucalyptus Systems Inc. bietet darüber hinaus lediglich weitere Dienstleitungen und Produkte sowie einen professionellen Support rund um Eucalyptus an.

Folgende Funktionen stellt Eucalyptus bereit:

  • Kompatibilität mit den Schnittstellen zu Amazon EC2 und S3 (SOAP und REST).
  • Unterstützung aller Virtual Machines die auf einem Xen Hypervisor oder einer KVM ausgeführt werden.
  • Administrationstools für die System- und Benutzerverwaltung.
  • Die Möglichkeit mehrere Cluster für eine Cloud zu konfigurieren, wobei jeder einzelne Cluster über eine private interne IP-Adresse verfügt.

Architektur

Eucalyptus besteht aus fünf zusammenarbeitenden Hauptkomponenten um den angeforderten Cloud Service bereit zu stellen. Die Kommunikation zwischen den Komponenten erfolgt über gesicherte SOAP Nachrichten mittels WS-Security.

Cloud Controller (CLC)

Der Cloud Controller dient innerhalb einer Eucalyptus Cloud als Hauptkomponente für die Verwaltung des gesamten Systems und stellt den Administratoren und Benutzern einen zentralen Zugriffspunkt bereit. Die Kommunikation aller Clients mit dem Eucalyptus System erfolgt ausschließlich nur über den Cloud Controller anhand der auf SOAP oder REST basierenden API. Der Cloud Controller ist dafür zuständig, alle Anfragen zu der richtigen Komponente weiterzuleiten, diese zu sammeln und die Antwort der Komponente anschließend wieder zu dem Client zurück zu senden. Der Cloud Controller ist somit die öffentliche Schnittstelle einer Eucalyptus Cloud.

Cluster Controller (CC)

Der Cluster Controller ist innerhalb des Eucalyptus Systems für die Verwaltung des virtuellen Netzwerks zuständig. Der Cloud Controller erhält alle Anfragen auf Basis seiner SOAP oder REST Schnittstellen. Der Cloud Controller erhält alle Informationen über die vorhandenen Node Controllers des Eucalyptus Systems und ist für die Kontrolle des Lebenszyklus jedes einzelnen verantwortlich. Er leitet alle Anfragen an die Node Controller mit verfügbaren Ressourcen weiter um damit virtuelle Instanzen zu starten.

Node Controller (NC)

Ein Node Controller steuert das Betriebssystem und den zugehörigen Hypervisor eines Rechners (Node) im Eucalyptus System. Auf jeder physikalischen Maschine die eine durch den Cluster Controller instantiierte virtuelle Instanz auf Grund einer Anfrage beherbergt, muss eine Instanz eines Node Controller vorhanden sein.

Walrus (W)

Walrus ist für die Zugriffsverwaltung auf den Speicherdienst innerhalb eines Eucalyptus Systems zuständig. Walrus erhält die Anfragen über seine SOAP oder REST Schnittstelle.

Storage Controller (SC)

Der Storage Controller verwaltet den Speicherdienst innerhalb eines Eucalyptus Systems und verfügt über eine Schnittstelle zu Amazon's S3 Dienst. Der Storage Controller arbeit in Verbindung mit Walrus und wird für die Speicherung und den Zugriff auf die Images der Virtual Machines, die Kernel Images, die RAM Disk Images und die Daten der Benutzer verwendet. Die Images der Virtual Machines können rein privat oder öffentlich zugänglich gemacht werden und können dabei komprimiert und verschlüsselt gespeichert werden. Die Images werden lediglich entschlüsselt, wenn ein Node eine neue virtuelle Instanz starten muss und dazu einen Zugriff auf das Image benötigt.

Das Clustersystem

Ein Eucalyptus System vereint und verwaltet Ressourcen von Single-Cluster als auch Multi-Cluster Systemen. Dabei besteht ein Cluster aus einer Gruppe von Rechnern, die alle mit dem selben LAN verbunden sind. Zu jedem Cluster kann wiederum einer aber auch mehrere Node Controller gehören, die für die Verwaltung der Instantiierung und Beendigung der virtuellen Instanzen verantwortlich sind.

Ein Single-Cluster besteht aus mindestens zwei Maschinen. Auf dem einen werden der Cluster Controller, der Storage Controller und der Cloud Controller ausgeführt, auf dem anderen der Node Controller. Diese Art der Konfiguration ist vor allem für Experimente und schnelle Konfigurationen geeignet. Die dargestellte Konfiguration könnte ebenfalls auf einer einzigen Maschine implementiert werden. Allerdings ist dafür eine äußerst leistungsstarke Hardware notwendig!

Bei einem Multi-Cluster wird jede Komponente (CC, SC, NC, und CLC) auf einer separaten Maschine ausgeführt. Dies sollte die bevorzugte Art und Weise sein das Eucalyptus System zu konfigurieren, wenn damit ernsthaft gearbeitet werden soll. Mit einem Multi-Cluster kann zudem die Performance erhöht werden, indem einem Controller die passende Maschine zugewiesen wird. Zum Beispiel sollte der Cloud Controller auf einer Maschine mit einer schnellen CPU ausgeführt werden. Im Allgemeinen bringt die Entscheidung für einen Multi-Cluster eine höhere Verfügbarkeit, sowie eine bessere Lastverteilung und eine optimierte Verteilung der Ressourcen über alle Cluster. Das Clusterkonzept ist vergleichbar mit dem Konzept der Verfügbarkeitszonen der Amazon EC2. Dabei werden die Ressourcen über mehrere Verfügbarkeitszonen hinweg verteilt, damit ein Fehler in einer Zone nicht die Anwendung beeinträchtigt.

Eucalyptus und die Ubuntu Enterprise Cloud

Bei der Ubuntu Enterprise Cloud (UEC) handelt es sich um eine Open Source Initiative von Ubuntu, um auf eine einfachere Art und Weise skalierbare Cloud Infrastrukturen auf Basis von Eucalyptus bereitzustellen und diese zu konfigurieren.

Mit der Ubuntu Enterprise Cloud können Public Clouds erstellt werden, welche Amazon's EC2 infrastructure nutzen. Es können damit aber genau so gut Private Clouds entwickelt werden, die auf der eigenen Infrastruktur im eigenen Rechenzentrum hinter der eigenen Firewall gehostet werden.

Vorteile von Eucalyptus

Bei Eucalyptus handelt es sich um eine Umgebung für Cloud Services, mit der Public Clouds auf Amazon's EC2 Infrastruktur bzw. Private Clouds im hauseigenen Rechenzentrum erstellt werden können. Die grundlegenden Vorteile sollen hier noch einmal kurz aufgeführt werden:

  • Open Source und Entwicklung
    Eucalyptus wurde geschaffen, um die Kommunikation und Forschung von Cloud Computing Plattformen zu fördern. Der Quellcode ist frei verfügbar, was es ermöglicht die Plattform so zu erweitern, damit sie den eigenen Anforderungen entspricht. Eucalyptus wird zunehmend weiterentwickelt. Darüber hinaus ist die Aufnahme und Integration von Funktionswünschen und Verbesserungsvorschlägen sehr schnell.
  • Community
    Eucalyptus verfügt über eine große Community die gerne bereit ist einander zu helfen. Über die Foren kann schnell Kontakt zu anderen Benutzern aufgenommen und Hilfe bezogen werden.
  • Public Cloud
    Eucalyptus funktioniert einwandfrei auf Amazon's EC2 Framework und kann damit als Public Cloud eingesetzt werden.
  • Private Cloud
    Eucalyptus kann auf der eigenen Infrastruktur im eigenen Rechenzentrum hinter der eigenen Firewall als Private Cloud eingesetzt werden. Dadurch ist die Kontrolle bzgl. der Sicherheit und der gesamten Umgebung in der eigenen Hand.
  • Portabilität
    Auf Grund der Kompatibilität von Eucalyptus mit Amazon's EC2 API sowie der Flexibilität von Eucalyptus, können Anwendungen ohne großen Aufwand von einer Cloud in die andere migriert werden. Darüber hinaus besteht die Möglichkeit des Aufbaus von Hybrid Clouds, indem eine Private Cloud mit einer Public Cloud erweitert bzw. kombiniert wird.
  • Qualitativ durch Tests
    Durch den Einsatz von Eucalyptus in Ubuntu's Enterprise Cloud findet tagtäglich ein weltweiter realer Test auf Basis von mehr als tausend Server-Instanzen statt.
  • Kommerzieller Support
    Neben den Foren der Eucalyptus Community kann natürlich auch auf einen kommerziellen Support zurückgegriffen werden.

Open Nebula

OpenNebula ist ein Open Source Virtual Infrastructure Manager mit dem aus vorhandenen Rechenzentren jede Art von Cloud Computing Umgebung aufgebaut und bereitgestellt werden kann. In erster Linie dient OpenNebula als Tool zur Verwaltung der virtualisierten Infrastruktur des eigenen Rechenzentrums bzw. der eigenen Cluster, also der eigenen Private Cloud.

Darüber hinaus ist OpenNebula in der Lage Hybrid Clouds aufzubauen, also die eigene lokale Infrastruktur mit einer Public Cloud Infrastruktur zu verbinden/kombinieren, um die Skalierbarkeit der eigenen Umgebung noch weiter zu erhöhen. OpenNebula verfügt zusätzlich über spezielle Schnittstellen für die Verwaltung von virtuellen Maschinen, Speicherplatz und des Netzwerks von Public Clouds.

Funktionen

Private Cloud Computing

  • Internal Interfaces for Administrators and Users
    Mit einer Unix ähnlichen Kommandozeile und einer XML-RPC API kann der Lebenszyklus der virtuellen Maschinen und physikalischen Server verwaltet werden. Weitere Administrationsmöglichkeiten bietet die libvirt API.
  • Steuerung
    Die Verwaltung der Arbeitslast und Zuweisung der Ressourcen kann nach bestimmten Regeln wie z.B. der aktuellen Auslastung automatisch vorgenommen werden. Des Weiteren wird der Haizea VM-based lease manager unterstützt
  • Virtualisierungsmanagement
    Es existieren Konnektoren für Xen, KVM und VMware, sowie einem generischen libvirt Konnektor für weitere Virtual Machine Manager. Die Unterstützung von Virtual Box ist in Planung.
  • Image Management
    Es sind Funktionen für den Transfer und das Clonen von Virtual Machine Images vorhanden.
  • Netzwerk Management
    Es lassen sich isolierte virtuelle Netze festlegen um virtuelle Maschinen miteinander zu verbinden.
  • Service Management
    Unterstützung von Multi Tier Services bestehend aus Gruppen von miteinander verbundenen virtuellen Maschinen und deren Auto Konfiguration während des Boot Vorgangs.
  • Sicherheit
    Die Verwaltung der Benutzer wird durch den Administrator der Infrastruktur vorgenommen.
  • Fehlertoleranz
    Eine persistente Datenbank dient zum Speichern aller Informationen der Hosts und virtuellen Maschinen.
  • Skalierbarkeit
    Tests zeigten bisher, das OpenNebula mehrere hundert Server und virtuelle Maschinen verwalten kann.
  • Installation
    Die Installation erfolgt auf einem UNIX Cluster Front-End ohne das weitere Services benötigt werden. OpenNebula wird mit Ubuntu 9.04 (Jaunty Jackalope) ausgeliefert.
  • Flexibilität und Erweiterbarkeit
    Die Architektur, Schnittstellen und Komponenten sind offen, flexibel und erweiterbar. Dadurch kann OpenNebula mit jedem aktuellen Produkt aus dem Bereich Virtualisierung, Cloud Computing oder Management Tool für Rechenzentren integriert werden.

Hybrid Cloud Computing

  • Cloud Plugins
    Konnektoren für Amazon EC2 und ElasticHosts.
  • Zusammenschluss
    Unterstützung für den gleichzeitigen Zugriff auf mehrere Remote-Clouds.
  • Erweiterbarkeit
    Modulare Konzepte für die Entwicklung neuer Konnektoren.

Public Cloud Computing

  • Cloud Schnittstellen für Benutzer
    Implementierung einer Teilmenge der Amazon EC2 Query API und der OGF OCCI API
  • Erweiterbarkeit
    Die OpenNebula Cloud API ermöglicht die Implementierung neuer/weiterer Cloud Schnittstellen.

OpenStack

OpenStack ist ein weltweites Gemeinschaftsprojekt von Entwicklern und Cloud Computing Spezialisten, die das Ziel verfolgen eine Open Source Plattform für den Aufbau von Public und Private Clouds zu entwickeln. Das Projekt wurde initial von der Nasa und Rackspace gegründet und will Anbietern von Cloud Infrastrukturen ein Werkzeug in die Hand geben, mit dem sie unterschiedliche Arten von Clouds ohne großen Aufwand auf Standard Hardwarekomponenten aufbauen und bereitstellen können.

Der gesamte OpenStack Quellcode ist frei verfügbar und unterliegt der Apache 2.0 Lizenz. Dadurch ist jeder in der Lage auf dieser Basis seine eigene Cloud zu entwickeln und ebenfalls Verbesserungen in das Projekt zurückfließen zu lassen. Der Open Source Ansatz des Projekts soll zudem die Entwicklung von Standards im Bereich des Cloud Computing weiter fördern, Kunden die Angst vor einem Vendor Lock-in nehmen und ein Ecosystem für Cloud Anbieter schaffen.

OpenStack besteht derzeit aus insgesamt sechs Kernkompenten und wird stetig weiterentwickelt. OpenStack Compute, OpenStack Object Storage und OpenStack Image Service, OpenStack Identity, OpenStack Dashboard und OpenStack Networking.

Man muss sich allerdings darüber im Klaren sein, dass es sich bei OpenStack um kein fertiges Produkt handelt, das sofort einsatzfähig ist, sondern um einzelne Teilprojekte die selbst ineinander integriert und für die eigenen Bedürfnisse angepasst werden müssen. Es gibt aber mittlerweile fertige OpenStack Installationsroutinen von Mitgliedern des OpenStack Projekts.

OpenStack Compute

OpenStack Compute dient dem Aufbau, Bereitstellen und Verwalten von großen Virtual Machine Clustern, um auf dieser Basis eine redundante und skalierbare Cloud Computing Plattform zu errichten. Dazu stellt OpenStack Compute diverse Kontrollfunktionen und APIs zur Verfügung, mit denen Instanzen ausgeführt und Netzwerke verwaltet werden sowie die Zugriffe der Nutzer auf die Ressourcen gesteuert werden können. OpenStack Compute unterstützt zudem eine große Anzahl von Hardwarekonfigurationen und sieben Hypervisor.

OpenStack Compute kann bspw. Anbietern dabei helfen Infrastructure Cloud Services bereitzustellen oder IT-Abteilungen ermöglichen ihren internen Kunden und Projekten Ressourcen bei Bedarf zur Verfügung zu stellen. Zudem können große Datenmengen (Big Data) mit Tools wie Hadoop verarbeitet werden oder Web Anwendungen entsprechend ihrer Ressourcenbedürnisse bedient werden.

OpenStack Object Storage

Mit OpenStack Object Storage können auf Basis von standardisierten Servern redundante und skalierbare Object Storage Cluster mit einer Größe von bis zu 1 Petabyte aufgebaut werden. Dabei handelt es sich nicht um ein Dateisystem und ist nicht für das Speichern von Echtzeitdaten ausgelegt, sondern für das langfristige Speichern von statischen Daten gedacht, die bei Bedarf abgerufen oder aktualisiert werden können. Gute Anwendungsbeispiele für OpenStack Object Storage sind das Speichern von Virtual Machine Images, Photos, E-Mails, Backupdaten oder Archivierung. Da der Object Storage dezentral verwaltet wird, verfügt er über eine hohe Skalierbarkeit, Redundanz und Beständigkeit der Daten.

Die OpenStack Software sorgt dafür, dass die Daten auf mehrere Speicherbereiche im Rechenzentrum geschrieben werden, um damit die Datenreplikation und Integrität innerhalb des Clusters sicherzustellen. Die Storage Cluster skalieren dabei horizontal, indem weitere Knoten bei Bedarf hinzugefügt werden. Sollte ein Knoten ausfallen, sorgt OpenStack dafür, dass die Daten von einem aktive Knoten repliziert werden.

OpenStack Object Storage kann von Anbietern genutzt werden, um einen eigenen Cloud Storage bereizustellen oder die Server Images von OpenStack Compute zu speichern. Weitere Anwendungsfälle wären Dokumentenspeicher, eine Back-End Lösung für Microsoft SharePoint, eine Archivierungsplattform für Logdateien oder für Daten mit langen Aufbewahrungsfristen oder einfach nur zum Speichern von Bildern für Webseiten.

OpenStack Image Service

Der OpenStack Image Service hilft bei der Suche, Registrierung und dem Bereitstellen von virtuellen Maschinen Images. Dazu bietet der Image Service eine API mit einer Standard REST Schnittstelle, mit der Informationen über das VM Image abgefragt werden können, welches in unterschiedlichen Back-Ends abgelegt sein kann, darunter OpenStack Object Storage. Clients können über den Service neue VM Images registrieren, Informationen über öffentlich verfügbare Images abfragen und über eine Bibliothek ebenfalls darauf zugreifen.

Der OpenStack Image Service unterstützt eine Vielzahl an VM Formaten für private und öffentliche Images, darunter Raw, Machine (kernel/ramdisk, z.B. AMI), VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK (VMWare) und OVF (VMWare).

OpenStack Identity

Der OpenStack Identity Service stellt eine zentrale Authentifizierung über alle OpenStack Projekte bereit und integriert sich in vorhandene Authentifizierungs-Systeme.

OpenStack Dashboard

Das OpenStack Dashboard ermöglicht Administratoren und Anwendern den Zugang und die Bereitstellung von Cloud-basierten Ressourcen durch ein Self-Service Portal.

OpenStack Networking

OpenStack Networking ist ein skalierbares und API basierendes System für die Verwaltung von Netzwerken und IP-Adressen.


CloudStack

CloudStack wurde ursprünglich von Cloud.com entwickelt. Nach der Übernahme durch Citrix Systems im Jahr 2011 wurde Citrix zum Hauptsponsor von CloudStack. Die Open-Source Cloud Plattform basiert auf Java und hilft beim Aufbau und der Verwaltung von skalierbaren Infrastrukturen. Zu den aktuell unterstützten Hypervisorn gehören VMware, Oracle VM, KVM, XenServer und die Xen Cloud Platform. Neben einer eigenen RESTful API implementiert CloudStack ebenfalls die Amazon EC2 und S3 APIs sowie VMwares vCloud API. Die Cloud-Infrastruktur kann entweder über die Web-Oberfläche, einer Kommandozeile oder die API konfiguriert und verwaltet werden.

CloudStack besteht aus fünf Kernkomponenten. Der Compute Controller verwaltet die Rechenleistung, der Network Controller steuert das virtuelle Netzwerk und der Storage Controller ist für die Speicherverwaltung des BlockStorage zuständig. Alle drei Komponenten haben direkten Kontakt mit der physikalische Hardware. Auf diesen Komponenten setzt die CloudStack Orchestration Engine auf, die für den Aufbau, die Steuerung und Verwaltung der CloudStack Infrastruktur verantwortlich ist. Über der Orchestration Engine befindet sich als letzte Komponente die CloudStack API, die mit der Web-Oberfläche, Kommandozeile oder über REST interagiert und die Befehle an die Orchestration Engine weitergibt.

Citrix Systems ist nicht das einzige bekannte Unternehmen, was CloudStack unterstützt. Weitere Supporter des CloudStack Projekts sind RightScale, PuppetLabs, Juniper Networks, Enstratus, TrendMicro, Intel und Equinix.


Bildquelle: ©Gerd Altmann / PIXELIO



"Infrastructure-as-a-Platform" mit mehr Komfort in die Cloud

Die Zukunft der Unternehmens-IT liegt im X-as-a-Service. Vor allem Infrastructure-as-a-Services ermöglichen den schnellen Zugriff auf Rechen- und Speicher-Ressourcen und erfreuen sich immer größerer Beliebtheit. Was jedoch vielen Angeboten fehlt ist die sogenannte "Convenience", also die bequeme Konfiguration der Infrastruktur. Der Hamburger Managed Hosting Anbieter internet4YOU geht neue Wege und erfindet den Bereich "Infrastructure-as-a-Platform (IaaP)". Vor allem für kleine- und mittelständische Unternehmen, die nicht über das notwendige IT-Know-How verfügen, um sich Standard IaaS Ressourcen zusammenzubauen, ist IaaP ein sehr interessanter Ansatz.

Infrastructure-as-a-Platform - Die Einfachheit zählt

Was den meisten IaaS-Lösungen fehlt, ist der komfortable Zugriff auf Ressourcen, mit denen sich virtuelle Infrastrukturen aufbauen lassen. Dabei handelt es sich in der Regel um Services von Cloud Anbietern der ersten Generation, wie bspw. den Amazon Web Services. Hier erfolgt der Zugriff über eine API, um damit die virtuellen Maschinen zu steuern und sämtliche Infrastrukturkomponenten und Services miteinander interagieren zu lassen. Graphische Verwaltungs-/ Konfigurationsoberflächen sind nur mit einem sehr kleinen Funktionsumfang vorhanden. Instanzen lassen sich zwar starten, stoppen und herunterfahren, für die Konfiguration einer komplexen Infrastruktur ist aber Expertenwissen sowie umfangreiches Know-How mit paralleler Programmierung usw. erforderlich.

Und das ist der entscheidende Faktor. Der gewöhnliche Cloud Nutzer ist kein Cloud Computing Experte und muss bzw. sollte es auch nicht sein. Er kennt sich nicht mit den Themen aus, die eine Cloud überhaupt zu einer Cloud machen. Das ist für ihn auch nicht notwendig, er will die "Blackbox" schließlich nur für seine Zwecke nutzen. Darüber hinaus hat er nicht das Interesse oder gar die Zeit, sich mit den oft komplexen Systemen und Prozessen auseinanderzusetzen und diese zu erlernen. In der Regel erwartet der durchschnittliche Cloud Nutzer eine in sich stimmige und integrierte Plattform, auf der er sich seine notwendigen IT-Ressourcen zusammenbauen kann, die er über einen bestimmen Zeitraum für seine Zwecke benötigt.

Es gibt keine offizielle Definition von Infrastructure-as-a-Platform. Ursprünglich stammt der Begriff von ScaleUp Technologies. Dabei handelt es sich um eine eigenständige Tochter von internet4YOU, die Lösungen für den Aufbau und die Verwaltung von Cloud Infrastrukturen anbietet. Neben internet4YOU respektive ScaleUp Technologies bieten auch Anbieter wie Profitbricks und Zimory aber auch Open-Source Lösungen wie openQRM die Möglichkeiten einer IaaP.

Infrastructure-as-a-Platform gehört die Zukunft

Neben dem einfacheren Zugriff auf die Ressourcen, bündeln Infrastructure-as-a-Platform Lösungen insbesondere verschiedene IaaS Ressourcen wie Rechenleistung, Speicherplatz, Netzwerkkomponenten usw. und ermöglichen Unternehmen damit den Aufbau eines eigenen Rechenzentrum on-Demand, also ein "Data-Centre-as-a-Service" (DCaaS).

Bereits etablierte Cloud Computing Anbieter - der ersten Generation - müssen damit beginnen in diesem Bereich aufzuholen und ihren bestehenden und neuen Kunden mehr Convenience bieten, mit der diese die Infrastrukturen bequemer nutzen können und während der Konfiguration zudem weniger Zeit und Expertenwissen benötigen. Denn insbesondere IT-Abteilungen von kleinen- und mittelständischen Unternehmen werden in Zukunft auf diesen Komfort achten.


Bildquelle: ©Gerd Altmann / PIXELIO



openQRM 5.0 erscheint mit überarbeiteter Benutzeroberfläche und neuem Dual-Lizenzmodell

Wie bereits Anfang Juni hier auf CloudUser angekündigt, hat die openQRM Enterprise GmbH mit openQRM 5.0 die nächste Generation ihrer Infrastructure-as-a-Service- (IaaS) und Cloud Computing Management Lösung veröffentlicht. Zudem wird ein neues duales Lizenzmodell präsentiert, das es Unternehmen ermöglicht, professionellen Support aus erster Hand zu erhalten und damit ihre Investitionen in eine Open-Source Datacenter-Management-Plattform langfristig zu sichern.

openQRM 5.0 erscheint mit überarbeiteter Benutzeroberfläche und neuem Dual-Lizenzmodell

Komplett neue Benutzeroberfläche

openQRM 5.0 wurde weitgehend umgeschrieben, wobei nicht nur äußerliche Änderungen an dem IaaS- und Cloud-Builder vorgenommen wurden. Neben der Umstellung der graphischen Benutzeroberfläche auf das Model-View-Controller-Konzept wurden zudem alle openQRM-Plugins neu geschrieben und mit weiteren Funktionen ausgestattet. Als weitere Erneuerung steht nun ein komplett neues Cloud-Portal zur Verfügung, sowie Postgres als weitere Backend-Datenbank neben MySQL.

openQRM 5.0 wurde darüber hinaus so erweitert, dass alle weltweit möglichen Sprachen unterstützt werden können. Als Standardsprachen unterstützt openQRM 5.0 ab sofort Englisch und Deutsch, das Cloud-Portal zusätzlich noch Spanisch, Niederländisch, Französisch und Italienisch.

Um den Administrator zu zeigen, welche Aktionen das System aktuell im Hintergrund durchführt, hat openQRM 5.0 eine Statusanzeige für „Active Events“ erhalten, die der Admin jederzeit einsehen kann.

Neben der webbasierten Benutzeroberfläche bietet openQRM 5.0 dem Nutzer nun auch einen vollwertigen Kommandozeilen-Client, mit dem die Management-Plattform innerhalb einer Terminal-Sitzung kontrolliert oder mit weiteren Anwendungen integriert werden kann.

Alle weiteren Erneuerungen befinden sich im Change-Log zu openQRM 5.0 unter http://www.openqrm-enterprise.com/de/ueber-openqrm/changlog-50.html.

Dual-Lizenzmodell für professionellen Support

Mit openQRM 5.0 ändert sich aufgrund verstärkter Nachfrage der Kunden das Lizenzmodell. Neben der bereits vorhandenen Open-Source-Version (GPL 2.0) können Unternehmen zusätzlich eine Enterprise-Version erwerben. Diese bietet neben erweiterten, unternehmensrelevanten Funktionen, ebenfalls professionellen Support durch die openQRM Enterprise GmbH.

In den letzten Jahren vermehrten sich die Anfragen von Kunden nach professionellem Support und Enterprise-Lizenzen, aber vor allem nach weiteren Feature-Wünschen. Darüber hinaus ist die Anzahl der Support-Anfragen angestiegen. Aus diesem Grund hat sich die openQRM Enterprise GmbH dafür entschieden das Lizenzmodell zu ändern, um diesen Anfragen weiterhin professionell gerecht zu werden. Professionelle Anwender erhalten mit der neuen Enterprise-Version somit ein kommerziell lizensiertes Produkt, inklusive der damit einhergehenden Investitions- und Updatesicherheit, Produktgewährleistung und professionellem Support. Kunden mit bestehenden Serviceverträgen (SLA) werden automatisch von der neuen Version profitieren und erhalten alle nötigen Lizenzen für openQRM Enterprise 5.0.

Die Community-Version von openQRM 5.0 wird von der Änderungen ebenfalls profitieren. Die freie Version von openQRM 5.0 erscheint wie bislang auch unter der GPLv2-Lizenz und wird weiterhin stetig verbessert werden. Zudem will die openQRM Enterprise GmbH die Qualität der Dokumentation, HowTos und Videos - auf welche die Community kostenlos Zugriff erhalten wird - fortlaufend steigern.

Weitere Informationen zur Community- und Enterprise-Version von openQRM 5.0 und deren Unterschiede sind auf http://openqrm-enterprise.com/products-service/version-comparison.html zu finden.



openQRM gibt erste Informationen zur neuen Version 5.0 bekannt

Lange haben wir von den Kölner Jungs um Projekt Manager Matt Rechenburg und ihrer Cloud- und Automatisierungssoftware openQRM nichts mehr gehört. (Immer diese NDAs mit denen ich geknebelt werde...) Heute gab es dann aber ein erstes Lebenszeichen. Wie Matt auf dem openQRM Blog schreibt, wird openQRM 5.0 voraussichtlich am 01. August 2012 erscheinen und ein echtes Mayor Release werden. Neben der vollständigen Überarbeitung der Benutzeroberfläche, soll sich die User-Experience erheblich verbessern.

openQRM Projekt Manager Matt Rechenburg

Neben dem Tausch der Framestruktur gegen einen vollständig objektorientieren Model-View-Controller (MVC) Ansatz, bietet das MVC-Konzept nun ebenfalls den Zugriff über eine Restful API sowie die Möglichkeit der Nutzung unterschiedlicher Landessprachen. Zunächst wurden nur Englisch und Deutsch übersetzt. Weitere Sprachen sind aber bereits in Arbeit. Weiterhin wurde das openQRM Cloud Portal vollständig überarbeitet und wird in sechs unterschiedlichen Sprachen (EN/DE/ES/NL/FR/IT) verfügbar sein. Im Backend wird in Zukunft ebenfalls die Postgres Datenbank unterstützt. Aktueller Standard ist MySQL.

"Auf Grund dieser großen Überarbeitung von openQRM mussten wir jedes openQRM Plugin einzeln anpassen. Man kann sich vorstellen, dass dies viel Entwicklungszeit gekostet hat und weiterhin kosten wird, um sicherzustellen, für die Nutzer die beste openQRM Erfahrung aller Zeiten zu entwickeln.", so Matt.

Aktuell arbeitet das Team an der Überarbeitung der letzten Plugins. Nachdem alles fertiggestellt, ist wird der Stand des Programmcodes eingefroren, damit die Q&A Phase mit der Community starten kann.

Das openQRM 5.0 Release wird für den 01. August 2012 erwartet und wird, wie bereits die Version 4.9, von der openQRM Enterprise GmbH gesponsert.



openQRM bringt Clonezilla, Cobbler, FAI, LinuxCOE und Opsi in die Cloud

openQRM beendet seinen nächsten Meilenstein und führt in seiner dritten Phase nun die Deployment-Methode "install-from-template" ein.

Nachdem openQRM mit der Version 4.x 2008/2009 vollständig neu entwickelt wurde, fokussierten sich die Entwickler zunächst auf die Methode ("network-deployment"), mit der flexibel und dynamisch neue Systeme aus unterschiedlichen Speichertechnologien gestartet werden konnte. In der zweiten Phase wurde das "local-deployment" hinzugefügt, mit dem virtuelle Maschinen bequem in bereits bestehende virtuelle Umgebungen integriert werden kann. openQRM ist nun in der ditten Phase angekommen und führt die Methode "install-from-template", insbesondere für lokal installierte Systeme, ein.

Mit dieser dritten Deployment-Methode stellt openQRM nun alle möglichen Provisionierungsmechanismen innerhalb einer einzigen Managementkonsole bereit. Um die neue "install-from-template" Funktion einzuführen, wurde das "openQRM Appliance Model" erweitert, das nun erlaubt, openQRM dynamisch mit weiteren neuen Technologien für das lokale Deployment wie Cobbler, FAI, Opsi, usw. zu erweitern.

Folgende Technologien stehen bereits als Plugins für openQRM zur Verfügung:

  • Clonezilla - Ermöglicht die lokale Provisionierung via Disk-Imaging (Klonen des Festplatten-Inhalts). Verfügbar für Windows und Linux.
  • Cobbler - Linux Installation Server für die schnelle Einrichtung von Netzwerkinstallationsumgebungen.
  • FAI - Bei FAI handelt es ich um ein nicht interaktives System für die Installation, Anpassung und Verwaltung von Linux Systemen und Softwarekonfigurationen auf Rechnern und virtuellen Maschinen.
  • LinuxCOE - Das HP Linux Common Operating Environment (LinuxCOE) ist ein weltweites Programm für die Provisionierung und dem Lebenszyklusmanagement von Linux Systemen.
  • Opsi - Opsi ist ein Open Source Client Management System für Windows Clients und basiert auf einem Linux Server.

Da openQRM so entworfen wurde, um als ein abstrahiertes Modell eines Rechenzentrums zu dienen, sind alle oben genannten Funktionen in der openQRM Cloud wiederzufinden. Dies bedeutet, dass openQRM als eine Middleware genutzt werden kann, um vorhandene Umgebungen und Technologien wie Cobbler, FAI, LinuxCOE und Opsi für das Cloud Computing zu nutzen.



Einrichten der openQRM Cloud für das Deployment von physikalischen Windows Systemen auf CentOS 5.5

Dieses Tutorial zeigt Schritt für Schritt, wie eine openQRM Cloud auf CentOS 5.5 so eingerichtet wird, dass damit anschließend physikalische Windows Systeme deployed werden können. Für dieses Tutorial werden dazu zwei physikalische Systeme benötigt.

1. Los geht es mit einer neuen CentOS 5.5 Installation

Während der Installation des Systems nehmen wir eine manuelle Partitionierung vor und erstellen 3 Partitionen:

    1. primary ext3 mounted at / (the rootfs)
    2. primary swap
    3. primary “lvm” (wird zum Speichern des Server-Image benötigt)

An dieser Stelle ist es wichtig zu beachten, ein benutzerspezifisches Partitionsschema zu wählen und eine dedizierte Partition zu erstellen, auf der später die Server-Images gespeichert werden. (/dev/hda3). Bei der Paketauswahl selektieren wird zudem das “Gnome Desktop Environment”. Weitere Software wird nicht benötigt.

Wichtig: SELinux und die Firewall müssen deaktiviert werden!

Wenn die Installation abgeschlossen ist, starten wir das System neu und melden uns an.

Die folgende Konsolenausgabe zeigt die exakte CentOS Version. Alle Konsolenbefehle in diesem Tutorial werden des Weiteren mit "root" ausgeführt.

[root@cloud ~]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
[root@cloud ~]#

2. Vorbereiten des Netzwerks

Nun bearbeiten wir die /etc/sysconfig/network-scripts/ifcfg-eth0 und tragen eine statische, private IP-Adresse ein. (In diesem Beispiel: 192.168.88.6)

[root@cloud network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:02:b3:a0:d3:12
ONBOOT=yes
DHCP_HOSTNAME=cloud
IPADDR=192.168.88.6
NETMASK=255.255.255.0
GATEWAY=192.168.88.1
TYPE=Ethernet
[root@cloud network-scripts]#

Um die Änderungen zu übernehmen, starten wir das Netzwerk neu.

[root@cloud network-scripts]# /etc/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
[ OK ]
[root@cloud network-scripts]#

Nun hinterlegen wir die statische IP-Adresse (in unserem Fall “192.168.88.6″) und den Hostname (in unserem Fall “cloud”) in der /etc/hosts. Der Hostname darf hierbei nicht in der ersten Zeile zusammen mit 127.0.0.1 stehen!

[root@cloud ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.88.6 cloud
::1 localhost6.localdomain6 localhost6
[root@cloud ~]#

3. Vorbereiten des Speicherplatz für die Server-Images

Nun bereiten wir die dedizierte Partition so vor, dass sie zusammen mit lvm genutzt werden kann. Anschließend erstellen wir eine Logical Volume Group “vol”.

[root@cloud ~]# pvcreate /dev/hda3
Physical volume "/dev/hda3" successfully created
[root@cloud ~]# vgcreate vol /dev/hda3
Volume group "vol" successfully created
[root@cloud ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vol 1 0 0 wz--n- 186.22G 186.22G
[root@cloud ~]#

4. Installation des Enterprise iSCSI Target

Seitdem CentOS das "ietd" (Enterprise iSCSI Target) nicht mehr als Standard RPM Paket unterstützt, müssen wir dieses nun aus den Sourcen erstellen.

[root@cloud ~]# yum -y install kernel-devel openssl-devel gcc rpm-build
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... 
Complete!
[root@cloud ~]#

Wir erstellen ein ietd Verzeichnis und laden und entpacken die letzte iscsi-target-[version].tar.gz Version von http://iscsitarget.sourceforge.net

[root@cloud ~]# mkdir ietd
[root@cloud ~]# cd ietd/
[root@cloud ietd]# wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.1/iscsitarget-1.4.20.1.tar.gz/
.... 
2002-06-10 20:41:12 (245 KB/s) - `iscsitarget-1.4.20.1.tar.gz' saved [137487/137487]
[root@cloud ietd]# tar -xzf iscsitarget-1.4.20.1.tar.gz
[root@cloud ietd]# cd iscsitarget-1.4.20.1

Kompilieren:

[root@cloud iscsitarget-1.4.20.1]# make
Applying Patch compat-2.6.32.patch
patching file kernel/conn.c
Applying Patch compat-2.6.31.patch
.... 
CC [M] /root/ietd/iscsitarget-1.4.20.1/kernel/seq_list.o
LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.o
Building modules, stage 2.
MODPOST
CC /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.mod.o
LD [M] /root/ietd/iscsitarget-1.4.20.1/kernel/iscsi_trgt.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.3.1.el5-i686'

Installieren:

[root@cloud iscsitarget-1.4.20.1]# make install
`usr/ietd' -> `/usr/sbin/ietd'
`usr/ietadm' -> `/usr/sbin/ietadm'
`etc/initd/initd.redhat' -> `/etc/init.d/iscsi-target'
install: creating directory `/etc/iet'
`etc/ietd.conf' -> `/etc/iet/ietd.conf'
`etc/initiators.allow' -> `/etc/iet/initiators.allow'
`etc/targets.allow' -> `/etc/iet/targets.allow'
`doc/manpages/ietadm.8' -> `/usr/share/man/man8/ietadm.8'
`doc/manpages/ietd.8' -> `/usr/share/man/man8/ietd.8'
`doc/manpages/ietd.conf.5' -> `/usr/share/man/man5/ietd.conf.5'
install: creating directory `/usr/share/doc/iscsitarget'
`ChangeLog' -> `/usr/share/doc/iscsitarget/ChangeLog'
`COPYING' -> `/usr/share/doc/iscsitarget/COPYING'
`RELEASE_NOTES' -> `/usr/share/doc/iscsitarget/RELEASE_NOTES'
`README' -> `/usr/share/doc/iscsitarget/README'
`README.vmware' -> `/usr/share/doc/iscsitarget/README.vmware'
`README.initiators' -> `/usr/share/doc/iscsitarget/README.initiators'
`kernel/iscsi_trgt.ko' -> `/lib/modules/2.6.18-194.3.1.el5/extra/iscsi/iscsi_trgt.ko'
Running depmod
[root@cloud iscsitarget-1.4.20.1]#

Verlinken den Ablageort der ietd.conf Konfigurationsdatei.

[root@cloud ~]# mv /etc/iet/ietd.conf /etc/iet/ietd.conf.org
[root@cloud ~]# > /etc/ietd.conf
[root@cloud ~]# ln -s /etc/ietd.conf /etc/iet/ietd.conf
[root@cloud ~]#

Und starten das iSCSI-Target:

[root@cloud ~]# /etc/init.d/iscsi-target start
Starting iSCSI Target: [ OK ]
[root@cloud ~]#

5. Vorbereiten der Datenbank

Als Datenbank für den openQRM Server nutzen wir das Package “mysql-server”.

[root@cloud ~]# yum -y install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... 
Complete!
[root@cloud ~]#

Nach der Installation starten wir den mysqld service.

[root@cloud ~]# /etc/init.d/mysqld start
Initializing MySQL database: Installing MySQL system tables...
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables...
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
100521 14:44:53 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cloud password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
[root@cloud ~]#

Nun prüfen wir, dass wir uns mit der Datenbank verbinden können.

[root@cloud ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> quit
Bye
[root@cloud ~]#

Und fügen mysqld zu den init Startskripten mittels chkconfig hinzu.

[root@cloud bin]# chkconfig --add mysqld
[root@cloud bin]# chkconfig mysqld on
[root@cloud bin]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@cloud bin]#

6. Installation von openQRM

openQRM wird in diesem Tutorial aus den Sourcen erstellt. Diese sind in dem Subversion Repository des openQRM Projects verfügbar. Für die Installation sind hier lediglich ein Subversion Client und “make” notwendig. Diese sollten also installiert werden.

[root@cloud ~]# yum -y install subversion
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.... 
Complete!
[root@cloud ~]#

Nun müssen die openQRM Sourcen aus dem SVN Repository ausgecheckt werden.

[root@cloud ~]# svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm
.... 
A openqrm/trunk/src/rpm/README
A openqrm/trunk/src/rpm/openqrm-entire.spec
A openqrm/branches
A openqrm/tags
Checked out revision 1996.
[root@cloud ~]#

Wir wechseln in das src/ Verzeichnis.

[root@cloud ~]# cd openqrm/trunk/src/
[root@cloud src]#

Anschließend führen wir “make” aus. Dafür wird eine funktionsfähige Internetverbindung benötigt. Sollte dieses nicht der Fall sein, können die Sourcen auch von http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download heruntergeladen werden. Diese müssen danach in das Home-Verzeichnis entpackt werden.

[root@cloud src]# make
.... 
[root@cloud src]#

Alle Ergebnisse der Kompilierung werden vom openQRM-Build System automatisch gecached. Um sicherzustellen, dass alle Komponenten richtig erstellt wurden, kann “make” einfach erneut ausgeführt werden.

[root@cloud src]# make
Checking requirements for the compilation phase
openqrm-server requires: make, gcc, portmap, rsync, zlib-devel, wget, tar, bzip2, unzip, patch
found make installed
found gcc installed
found portmap installed
found rsync installed
found zlib-devel installed
found wget installed
found tar installed
found bzip2 installed
found unzip installed
found patch installed
openqrm-plugin-aoe-storage requires:
openqrm-plugin-aws requires:
openqrm-plugin-citrix requires:
openqrm-plugin-cloud requires:
openqrm-plugin-collectd requires:
openqrm-plugin-dhcpd requires:
openqrm-plugin-dns requires:
openqrm-plugin-equallogic-storage requires:
openqrm-plugin-highavailability requires:
openqrm-plugin-image-shelf requires:
openqrm-plugin-iscsi-storage requires:
openqrm-plugin-kvm requires:
openqrm-plugin-kvm-storage requires:
openqrm-plugin-linux-vserver requires:
openqrm-plugin-linuxcoe requires:
openqrm-plugin-local-server requires:
openqrm-plugin-local-storage requires:
openqrm-plugin-lvm-storage requires:
openqrm-plugin-nagios2 requires:
openqrm-plugin-nagios3 requires:
openqrm-plugin-netapp-storage requires:
openqrm-plugin-nfs-storage requires:
openqrm-plugin-puppet requires:
openqrm-plugin-sanboot-storage requires:
openqrm-plugin-solx86 requires:
openqrm-plugin-sshterm requires:
openqrm-plugin-tftpd requires:
openqrm-plugin-tmpfs-storage requires:
openqrm-plugin-vbox requires:
openqrm-plugin-vmware-esx requires:
openqrm-plugin-vmware-server requires:
openqrm-plugin-vmware-server2 requires:
openqrm-plugin-windows requires:
openqrm-plugin-xen requires:
openqrm-plugin-xen-storage requires:
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires:
Checking for required components to compile openQRM finished successfully
if [ -d ./thirdparty ]; then mkdir -p ../buildtmp; cp -aR ./thirdparty/* ../buildtmp/; fi
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
Creating the default initrd-template
-> found component busybox (busybox-1.14.2.tar.bz2) already downloaded
-> Found busybox-1.14.2/_install/bin/busybox already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component pciutils (pciutils-3.1.4.tar.gz) already downloaded
-> Found pciutils-3.1.4/pcimodules already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component dropbear (dropbear-0.52.tar.gz) already downloaded
-> Found dropbear-0.52/dropbear already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
Adding /sbin/portmap to default initrd-template
Adding /sbin/rpc.statd to default initrd-template
Adding /bin/bash to default initrd-template
Adding /usr/bin/rsync to default initrd-template
Adding /usr/bin/wget to default initrd-template
Adding /sbin/modprobe to default initrd-template
Adding /sbin/depmod to default initrd-template
Adding /sbin/insmod to default initrd-template
Adding /sbin/lsmod to default initrd-template
Adding /sbin/mke2fs to default initrd-template
Adding /sbin/sfdisk to default initrd-template
Adding /sbin/udevd to default initrd-template
Adding /lib/udev/vol_id to default initrd-template
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-> found component adodb (adodb498.tgz) already downloaded
-> found component jquery (jquery-1.3.2.tgz) already downloaded
-> found component js-interface (interface_1.2.zip) already downloaded
-> found component openqrm-client.centos.i386 (openqrm-client.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-client.centos.x86_64 (openqrm-client.4.6.1.centos.x86_64.tgz) already downloaded
-> found component openqrm-client.debian.i386 (openqrm-client.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-client.debian.x86_64 (openqrm-client.4.6.1.debian.x86_64.tgz) already downloaded
-> found component openqrm-client.ubuntu.i386 (openqrm-client.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-client.ubuntu.x86_64 (openqrm-client.4.6.1.ubuntu.x86_64.tgz) already downloaded
-> found component openqrm-initrd-template.centos.i386 (openqrm-initrd-template.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-initrd-template.centos.x86_64 (openqrm-initrd-template.4.6.1.centos.x86_64.tgz) already download
-> found component openqrm-initrd-template.debian.i386 (openqrm-initrd-template.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-initrd-template.debian.x86_64 (openqrm-initrd-template.4.6.1.debian.x86_64.tgz) already download
-> found component openqrm-initrd-template.ubuntu.i386 (openqrm-initrd-template.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-initrd-template.ubuntu.x86_64 (openqrm-initrd-template.4.6.1.ubuntu.x86_64.tgz) already download
[root@cloud src]#

Nun führen wir “make install” aus.

[root@cloud src]# make install
include/
include/openqrm-plugin-local-storage-functions
bin/
.... 
Creating the openqrm-client boot-service package
[root@cloud src]#

Am Ende initialisieren und starten wir openQRM mittels “sudo make start”.

[root@cloud src]# make start
Checking the requirements for RedHat based systems ...
openqrm-server requires: httpd, php, php-mysql, php-soap, mysql, syslinux, screen, procmail, openssl
-> found httpd installed
NOTICE: Trying to automatically install php ...
Loaded plugins: fastestmirror
.... 
Checking for required components finished successfully
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.88.6 for Server
[ OK ]
First startup detected. Running initialization.
Looking for syslinux/pxelinux.0...found: /usr/lib/syslinux/pxelinux.0
Creating custom apache config.../etc/httpd/conf.d/openqrm-httpd.conf
Checking /usr/share/openqrm/etc/openqrm-server.conf for OP[ OK ]B_PROTOCOL=https..Reloading httpd:
Adding password for user openqrm
Initializing dropbear...
Will output 1024 bit rsa secret key to '/usr/share/openqrm/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgmOa49UMeOPqid06cR96yfRD/SQ98J1REpLKyyJ518iFFQyGKb9j2quZD+8FfKYt6rgFgS6
kGw95qJf6lqYc/rIH5ezcl4bVCn0Zo9pQkTyF496+iAp6AbPOX9KfBivu+5KWc7sfxOiDWGErPhzTGSkvjxwDAu2PkXAvTjUHMhhXxLk= root@cloud
Fingerprint: md5 de:cc:34:cb:2b:e5:b1:3d:50:dd:cc:f0:b5:ca:e9:e5
Adding public key to /root/.ssh/authorized_keys...
Starting the openQRM-server ver. 4.6.
Initialization complete. Please configure your openQRM Server at: http://192.168.88.6/openqrm/
-> User: openqrm -> Password: openqrm
[root@cloud src]#

“make start” führt zusätzlich eine Check-Routine aus, die überprüft, dass alle Abhängigkeiten für die Einwandfreie Nutzung von openQRM vorhanden sind. Ggf. nicht vorhandene Pakete werden automatisch installiert.

Während des ersten Starts wird der openQRM Server initialisiert. Nachdem openQRM vollständig installiert wurde, kann nun die Konfiguration mittels der Weboberfläche vorgenommen werden.

7. Konfiguration von openQRM

Wir melden uns am openQRM Server per http://ip-adresse/openqrm an. Der Benutzer und das Passwort sind jeweils “openqrm”. Nach der Konfiguration sollten diese Daten geändert werden.

Als erstes wählen wir als Netzwerkkarte die Bridge Schnittstelle für das openQRM Management.

Als Datenbank für das openQRM Backend wählen wir “myslq”.

Anschließend konfigurieren wir die Verbindungsinformationen für die Datenbank.

openQRM ist nun vollständig konfiguriert.

Wir werden automatisch zum Datacenter Dashboard weitergeleitet.

8. Erstellen eines Windows Image

Mit dem Plugin-Manager müssen wir als nächstes die folgenden Plugins aktivieren und starten:

  • dhcpd
  • tftpd
  • sanboot-storage
  • windows
  • cloud

Anschließend wechseln wir nach Base >> Components >> Create >> Storage. Dort erstellen wir einen neuen Speicher vom Typ “Sanboot-Storage (iSCSI)” und wählen den openQRM Server als Ressource.

Wir geben dem Storage Server einen Namen und speichern diesen.

Die Liste der verfügbaren Speicher sind nun wie folgt aus.

Wir klicken auf den “Mgmt” Button des neu erstellten “sanboot” Storage Server.

Hier wählen wir die Volume Group “vol”.

Nun erstellen wir ein neues Volume mit dem Namen “windowsxp″. Die Größe muss etwas größer sein als die der lokalen Festplatte des Systems, das verwendet wird, um das Image zu erstellen.

In unserem Tutorial verwenden wir eine 40 GB große lokale Festplatte, um ein Windows System zu installieren und zu einem LUN auf ein iSCSI-Target zu übertragen. Das Volume das wir erstellen hat eine Größe von 41GB und ist damit ein wenig Größer als die eigentliche physikalische Festplatte.

Mittels der Konsole würden wir wie folgt vorgehen:

[root@cloud ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
windowsxp vol -wi-ao 40.04G
[root@cloud ~]# cat /etc/ietd.conf
Target windowsxp:windowsxp
Lun 0 Path=/dev/mapper/vol-windowsxp,Type=fileio
[root@cloud ~]#

Installation von Windows auf der lokalen Festplatte des zweiten Systems

In diesem Tutorial verwenden wir Windows XP Professional und nutzen exakt die GPXE Anweisungen von http://etherboot.org/wiki/sanboot/winxp. Wir nutzen dazu eine frische Windows Installation und nehmen keine Partitionierung der Festplatte vor.

Achtung:

Es wird "Install local + Transfer to iSCSI Lun" verwendet, da Windows XP es nicht unterstützt, direkt auf einem iSCSI-Target installiert zu werden. Neuere Windows Version wie bspw. Windows 7 können dagegen direkt auf einem iSCSI-Target installiert werden, siehe dazu http://etherboot.org/wiki/sanboot/iscsi_install

Nachdem Windows installiert wurde, fügen wir die “iSCSI Boot” Unterstützung hinzu. Dazu gehen wir auf die Webseite http://etherboot.org/wiki/sanboot/winnt_iscsi und laden dort die für Windows passende "Initiator 2.x boot-buildxxx-arch/lang.exe" herunter. In unserem Fall i386/X86 EN.

Wir speichern die Datei auf unserem Desktop.

Wir führen die Datei aus und folgen den Anweisungen.

Nun laden wir den Windows SAN Boot Configuration Driver von http://etherboot.org/wiki/sanboot/winnt_sanbootconf herunter.

Die ZIp-Datei beinhaltet den SAN Boot Treiber. Wir entpacken den Inhalt auf unseren Desktop.

Nun starten wir den sanbootconf Installer und folgen den Anweisungen.

Damit ist die Installation abgeschlossen.

Übertragen des Festplatteninhalts mittels nc

Um den Inhalt der lokalen Festplatte des Windows Systems auf das iSCSI LUN auf dem “Sanboot” Storage Server zu übertragen, nutzen wir "nc" und "dd". Weitere Informationen hierzu sind unter http://solutions.unixsherpa.com/2009/08/10/remote-mirroring-using-nc-and-dd zu finden.

Nach der Windows Installation starten wir das System neu und konfigurieren den Systemstart im BIOS so, dass das System vom Netzwerk aus (pxe-boot) gestartet werden kann. Anschließend wird das System nun innerhalb von openQRM als neue "idle" Ressource vom Typ “Physical System” gestartet.

Wenn sich das System im Status "idle" befindet müssen wir die folgenden Schritte vornehmen, um den Festplatteninhalt des physikalischen Windows Systems auf das iSCSI LUN zu übertragen:

1. Starten eines nc Listener auf dem logischen Windows Volume

[root@cloud ~]# ls /dev/mapper/vol-windowsxp
/dev/mapper/vol-windowsxp
[root@cloud ~]# nc -l 12345 | dd of=/dev/mapper/vol-windowsxp
# this command won't return but listen on port 12345 to submit data
# which it reads bitwise from the network port to /dev/mapper/vol-windowsxp

2. Mittels des “openqrm login” Befehl anmelden
Here the syntax of the “openqrm login” comand:

/usr/share/openqrm/bin/openqrm login -i [ip-address-of-the-idle-resource-withe-the-windows-installed-on-local-disk]
[root@cloud ~]# cd /usr/share/openqrm/bin/
[root@cloud bin]# ./openqrm login -i 192.168.88.251
Login to resource 192.168.88.251 ...
Host '192.168.88.251' key accepted unconditionally.
(fingerprint md5 ff:5f:e7:60:ae:14:74:4a:39:15:8c:a6:62:98:73:0b)
bash-3.2#

Wir müssen hierbei beachten, dass die Shell in diesem Fall über keine PATH Umgebung verfügt. Die Befehle müssen daher unter der Angabe des vollständigen Pfads ausgeführt werden.

Der folgende Befehl dient dazu, die lokale Festplatte der Windows Installation zu identifizieren.

bash-3.2# cat /proc/partitions
major minor #blocks name
8 0 39082680 sda
8 1 39070048 sda1
bash-3.2# /sbin/fdisk -l /dev/sda
Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4864 39070048+ 7 HPFS/NTFS
bash-3.2#

3. dd und nc gemeinsam nutzen

Um den Festplatteninhalt remote auf das logische Volume zu übertragen, nutzen wir die Kombination von dd und nc.

bash-3.2#
bash-3.2# dd if=/dev/sda | nc 192.168.88.6 12345

Abhängig von der Größe der Festplatte und der Geschwindigkeit des Netzwerks, kann dieser Vorgang ein Weile dauern.

Auf dem openQRM Server kann der Befehl "kill -USR1 [pid-of-dd-process]" genutzt werden, um zu sehen, wie viele Bytes dd bereits übertragen hat.

..
78165360+0 records in
78165360+0 records out
40020664320 bytes (40 GB) copied, 6322.11 seconds, 6.3 MB/s
[root@cloud ~]#

Nun führen für "sync" aus, um sicherzustellen, dass alle Bits auf das logische Volume übertragen wurden.

[root@cloud ~]# sync
[root@cloud ~]#

9. Vorbereiten des Windows Image

Wir schalten die Ressource die sich im Zustand "idle" befindet herunter (die Windows Installation auf der lokalen Festplatte), entfernen die Festplatte und starten sie über das Netzwerk neu.

Es sollte darauf geachtet werden, das die Bootreihenfolge auf "Network Boot only" steht.

Wenn das System neu gestartet ist und sich im Status "idle" befindet, erstellen wir erneut in logisches "Image" in openQRM.

Wir wechseln dazu nach Base >> Components >> Create >> Image und wählen den “Sanboot” Storage Server.

Anschließend geben wir dem Image einen Namen und wählen das “windowsxp″ Volume als das Root-Device.

Die Liste der verfügbaren Images sind nun wie folgt aus.

Nun erstellen wir eine "Appliance". Dazu wechseln wir zu Base >> Appliance >> Create und wählen die Ressource "idle".

Wir nennen die "Appliance" windowsxp, wählen den “default” kernel und das “windowsxp” Image und speichern die Appliance.

Wir starten die "Appliance".

Das folgende Video auf YouTube zeigt den Systemstart des Windows Systems von dem iSCSI Storage Server.

http://www.youtube.com/watch?v=IwnyUgS--w4

Das Windows Image ist damit nun deployed und funktionsfähig. Nun müssen wir das Image so konfigurieren, damit es mittels openQRM verwaltet werden kann.

Dazu erstellen wir auf dem Windows Image im ersten Schritt einen Windows Benutzer mit dem Namen "root".

Als nächstes muss der openQRM Client auf dem Windows Image installiert werden. Dazu öffnen wir einen Web-Browser und melden uns an den openQRM Server an.

Anschließend gehen wir zu Plugins >> Deployment >> Windows >> About

Hier laden wir den Windows openQRM-Client herunter.

Wir starten die openQRM-Client Installationsroutine und folgen den Anweisungen.

Now please run “gpedit.msc” and add the permission to “remote shutdown” to user “root”.

Wichtig: Sollte die Windows Firewall aktiviert sein, muss der TCP Port 22 geöffnet werden.

10. openQRM Cloud Konfiguration

Nun wechseln wir nach Plugins >> Cloud >> Configuration >> Main Config und konfigurieren die folgenden Punkte:

  • cloud_admin_email > eine valide E-Mail Adresse
  • auto_provision → true
  • external_portal_url → (optional) externe URL zu einem Cloud Portal
  • request_physical_systems → false
  • auto_give_ccus → 100
  • show_disk_resize → (optional) true
  • show_private_image → true
  • cloud_currency → (optional) auf US oder Euro setzen
  • cloud_1000_ccus → Wie viele 1000 CCUs wie viel US/Euro entsprechen

Für alle weiteren Konfigurationspunkte können die Standardwerte genommen werden. Speichern nicht vergessen!

Der folgende Screenshot zeigt die Hauptseite zur Konfiguration der Cloud.

Als nächstes müssen die Cloud Produkte mittels des "Cloud-Selector" konfiguriert werden.

Dazu gehen wir nach Plugins >> Cloud >> Configuration >> Products >> Kernel und erstellen ein neues "Windows" Kernel Produkt.

Das sieht dann wie im folgenden Screenshot aus.

Nun erstellen wir ein "Memory" Produkt. Dieses muss den exakt verfügbaren Speicher aufweisen, das auf dem zweiten physikalischen System verfügbar ist. (Das System, welches das Windows Image deployed.) In diesem Tutorial verwenden wir ein System mit 3008 MB physikalischen Arbeitsspeicher. Dieser muss entsprechend angepasst werden.

Das sieht dann wie im folgenden Screenshot aus.

Nun erstellen wir ein “Physical System”.

Das sieht dann wie im folgenden Screenshot aus.

Der nächste Schritt besteht darin, der Cloud mitzuteilen, welche Images den Cloud Benutzern angezeigt werden sollen. Dazu wechseln wir nach Plugins >> Cloud >> Configuration >> Private Images und wählen in den Checkboxen "All" für das "windowsxp " Image.

Nun erstellen wir einen oder mehrere Cloud Benutzer. Hierfür gehen wir nach Plugins >> Cloud >> User und fügen einen neuen Benutzer inkl. einer gültigen E-Mail Adresse hinzu. Als Cloud Administrator kann man sich mit jedem beliebigen Cloud Benutzer anmelden, indem man auf den Namen des Cloud Benutzers klickt.

Die Liste der Cloud Benutzer sieht im Anschluss wie folgt aus.

Das openQRM Portal sieht nach einem erfolgreichen Login dann wie folgt aus.

Wir klicken auf den 2ten Tab mit dem Namen "Visual Cloud Designer".

Der Virtual Cloud Designer zeigt alle verfügbaren Komponenten innerhalb der Cloud an. Mittels Drag and Drop kann nun eine eigene Cloud Appliance konstruiert werden.

Anschließend sollten die Kosten (stündlich, täglich, moantlich) für die Appliance betrachtet werden.

Mit einem einzigen Klick kann die Appliance der Cloud hinzugefügt werden.

Für das Cloud Deployment erstellt openQRM automatisch ein LVM Snapshot für das ursprüngliche Windows Image. Das bedeutet, dass es sich bei der (remote) Festplatte des Windows Image eigentlich um ein LVM Snapshot handelt. Im Storage Manager ist das Cloud Volume daher mit einem "s" (Snapshot) gekennzeichnet.

Auf der Konsole verwendet man dazu den folgenden Befehl:

[root@cloud ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
2.cloud_1_1_ vol swi-ao 19.53G windowsxp 0.06
windowsxp vol owi-ao 40.04G
[root@cloud ~]#

Lizenzen:
Wichtig! Für das Deployment jedes einzelnen Windows Image ist eine entsprechende und gültige Windows Lizenz erforderlich.

11. Die nächsten Schritte

  • Verwenden von Sanboot-Storage inkl. AOE Deployment
  • Separierung des Storage, Hypvervisors und openQRM auf dedizierte Systeme
  • openQRM Server als Hochverfügbarkeitslösung
  • Hinzufügen weiterer virtualisierter Hosts unterschiedlichen Typs
  • Hinzufügen von physikalischen Systemen
  • Hinzufügen von weiteren Storage Systemen
  • Aktivieren des automatischen Monitorings
  • IP- und Netzwerkmanagement
  • Cloud-Billing
  • Cloud Integration / SOAP WebService

Quelle

  • Howto: Setup openQRM Cloud deploying physical Windows Systems on CentOS 5.5


openQRM integriert Ubuntu Enterprise Cloud, Amazon EC2 und Eucalyptus

Gesponsert durch die openQRM Enterprise, veröffentlicht das openQRM project ein neues Plugin, das Hybrid Cloud Computing ermöglicht.

Mit dem Plugin erhalten openQRM Nutzer nun die Möglichkeit, ihre selbst verwalteten Systeme transparent und vollautomatisiert zwischen Private und Public Clouds zu migrieren. Das Importieren bereits vorhandener Cloud Instanzen aus der Ubuntu Enterprise Cloud (UEC), Amazon EC2 oder Eucalyptus kann damit ohne großen Aufwand erfolgen. Dasselbe gilt ebenso für den Export der Systeme aus der openQRM Cloud heraus. Cloud Transparenz! Über die graphische Web Oberfläche können alle dafür benötigten Schritte der Migration durchgeführt werden. Damit können dem eigenen Rechenzentrum nach Bedarf externe Ressourcen von Public Cloud Anbietern hinzugefügt werden.

Durch die Nutzung einer agilen Privat zu Public oder Public zu Private Migration, kann damit kontrolliert werden, welche Daten und Dienste in einem sicheren Bereich bereitgestellt werden sollen. Somit können sensible Systeme innerhalb des eigenen Rechenzentrums betrieben und alle weiteren ressourcenintensiven Systeme zu Cloud Anbietern verlagert werden.

Ein Überblick über die neuen Funktionen zeigt das Video am Ende dieses Artikels.

Für alle die einen tieferen Einblick in eine Hybrid Cloud Lösung haben möchten, stellt openQRM Enterprise ein detailliert beschriebenes How to auf ihren Webseiten zur Verfügung. Dieses kann hier heruntergeladen werden.

Das Plugin steht bereits auf der Seite des openQRM project unter http://sourceforge.net/projects/openqrm zum Download bereit.



Einrichtung einer openQRM Cloud mit KVM auf Ubuntu Lucid Lynx

Dieses Tutorial dient als Schritt für Schritt Anleitung zur Einrichtung einer openQRM Cloud auf einem Ubuntu 10.04 Lucid Lynx und der KVM Virtualisierungstechnologie. Benötigt wird dafür ein physikalisches System, auf welchem VT (Virtualization Technology) aktiviert ist.

1. Los geht es mit einer neuen Ubuntu Lucid Linux Installation

Während der Installation des Systems nehmen wir eine manuelle Partitionierung vor und erstellen 3 Partitionen:

  • 1 - primary ext4 mounted at / (the rootfs)
  • 2 - primary swap
  • 3 - primary "nicht verwenden" (wird zum Speichern des Server-Image benötigt)

An dieser Stelle ist es wichtig zu beachten, ein benutzerspezifisches Partitionsschema zu wählen und eine dedizierte Partition zu erstellen, auf der später die Server-Images gespeichert werden. Diese Partition wird dann als "do not use" markiert.

Wenn die Installation abgeschlossen ist, starten wir das System neu und melden uns an. Wurde zu beginn die Ubuntu-Server Version installiert muss zusätzlich das "ubuntu-desktop" package installiert werden.

matt@cloud:~$ sudo apt-get install ubuntu-desktop

2. Vorbereiten des Netzwerks

Zunächst installieren wir die "bridge-utils".

matt@cloud:~$ sudo apt-get install bridge-utils
Reading package lists... Done
Building dependency tree
...
Setting up bridge-utils (1.4-5ubuntu2) ...
matt@cloud:~$

Anschließend editieren wir "/etc/network/interfaces" und richten eine Bridge mit einer statischen, privaten IP-Adresse ein.

matt@cloud:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
Waiting for br0 to get ready (MAXWAIT is 2 seconds).
ssh stop/waiting
ssh start/running, process 2864
matt@cloud:~$

Wir führen den Befehl "brctl show" aus und überprüfen damit die Netzwerkkonfiguration.

matt@cloud:~$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.002215be747a no eth0
matt@cloud:~$

Nun hinterlegen wir die statische IP-Adresse (in unserem Fall "192.168.88.3") und den Hostname (in unserem Fall "cloud") in der /etc/hosts. Der Hostname darf hierbei nicht in der ersten Zeile zusammen mit 127.0.0.1 stehen!

matt@cloud:~$ cat /etc/hosts
127.0.0.1 localhost
192.168.88.3 cloud.openqrm cloud
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
matt@cloud:~$

3. Vorbereiten des Speicherplatz für die Server-Images

Wir installieren lvm2, nfs-kernel-server, iscsi-target und vblade.

matt@cloud:~$ sudo apt-get install lvm2 nfs-kernel-server iscsitarget vblade
Reading package lists... Done
Building dependency tree
...
ldconfig deferred processing now taking place
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-21-server
matt@cloud:~$

Nun bereiten wir die dedizierte Partition aus Schritt 1 so vor, dass sie zusammen mit lvm genutzt werden kann. Anschließend erstellen wir eine Logical Volume Group "vol".

matt@cloud:~$ sudo pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
matt@cloud:~$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 lvm2 -- 186.23g 186.23g
matt@cloud:~$ sudo vgcreate vol /dev/sda3
Volume group "vol" successfully created
matt@cloud:~$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
vol 1 0 0 wz--n- 186.22g 186.22g
matt@cloud:~$

Wir editieren /etc/default/iscsitarget und konfigurieren "iscsitarget" so, dass es während des Bootvorgangs startet.

matt@cloud:~$ cat /etc/default/iscsitarget
ISCSITARGET_ENABLE=true
matt@cloud:~$

Nun starten wir "iscsitarget" und die "nfs-kernel-server" Services.

matt@cloud:~$ sudo /etc/init.d/iscsitarget start
* Starting iSCSI enterprise target service
matt@cloud:~$
matt@cloud:~$ sudo /etc/init.d/nfs-kernel-server start
* Exporting directories for NFS kernel daemon...
* Starting NFS kernel daemon
matt@cloud:~$

4. Vorbereiten der Datenbank

Als Datenbank für den openQRM Server nutzen wir das Package "mysql-server".

matt@cloud:~$ sudo apt-get install -y mysql-server
Reading package lists... Done
Building dependency tree
...
Setting up mysql-server (5.1.41-3ubuntu12) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$

Aus Gründen der Einfachheit wird in diesem Beispiel das MySQL Passwort leer gelassen.

5. Vorbereiten von KVM

Dafür installieren wir das "kvm" Package.

matt@cloud:~$ sudo apt-get install -y kvm
Reading package lists... Done
Building dependency tree
.....
Setting up qemu-kvm (0.12.3+noroms-0ubuntu9) ...
qemu-kvm start/running
Setting up kvm (1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$

6. Installation von openQRM

openQRM wird in diesem Tutorial aus den Sourcen erstellt. Diese sind in dem Subversion Repository des openQRM Projects verfügbar. Für die Installation sind hier lediglich ein Subversion Client und "make" notwendig. Diese sollten also installiert werden.

matt@cloud:~$ sudo apt-get install -y subversion make
Reading package lists... Done
Building dependency tree
...
Setting up subversion (1.6.6dfsg-2ubuntu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
matt@cloud:~$

Nun müssen die openQRM Sourcen aus dem SVN Repository ausgecheckt werden.

matt@cloud:~$ svn co https://openqrm.svn.sourceforge.net/svnroot/openqrm openqrm
....
matt@cloud:~$

Wir wechseln in das src/ Verzeichnis.

matt@cloud:~$ cd openqrm/trunk/src/
matt@cloud:~/openqrm/trunk/src$

Anschließend führen wir "make" aus. Dafür wird eine funktionsfähige Internetverbindung benötigt. Sollte dieses nicht der Fall sein, können die Sourcen auch von http://sourceforge.net/projects/openqrm/files/openQRM-4.6/source/openqrm-thirdparty-cache.tgz/download heruntergeladen werden. Diese müssen danach in das Home-Verzeichnis entpackt werden.

matt@cloud:~/openqrm/trunk/src$ make
....

Alle Ergebnisse der Kompilierung werden vom openQRM-Build System automatisch gecached. Um sicherzustellen, dass alle Komponenten richtig erstellt wurden, kann "make" einfach erneut ausgeführt werden.

matt@cloud:~/openqrm/trunk/src$ make
Checking requirements for the compilation phase
openqrm-server requires: make, gcc, portmap, rsync, zlib1g-dev, wget, tar, bzip2, unzip, wget, netbase, patch
found make installed
found gcc installed
found portmap installed
found rsync installed
found zlib1g-dev installed
found wget installed
found tar installed
found bzip2 installed
found unzip installed
found wget installed
found netbase installed
found patch installed
openqrm-plugin-aoe-storage requires:
openqrm-plugin-aws requires:
openqrm-plugin-citrix requires:
openqrm-plugin-cloud requires:
openqrm-plugin-collectd requires:
openqrm-plugin-dhcpd requires:
openqrm-plugin-dns requires:
openqrm-plugin-equallogic-storage requires:
openqrm-plugin-highavailability requires:
openqrm-plugin-image-shelf requires:
openqrm-plugin-iscsi-storage requires:
openqrm-plugin-kvm requires:
openqrm-plugin-kvm-storage requires:
openqrm-plugin-linux-vserver requires:
openqrm-plugin-linuxcoe requires:
openqrm-plugin-local-server requires:
openqrm-plugin-local-storage requires:
openqrm-plugin-lvm-storage requires:
openqrm-plugin-nagios2 requires:
openqrm-plugin-nagios3 requires:
openqrm-plugin-netapp-storage requires:
openqrm-plugin-nfs-storage requires:
openqrm-plugin-puppet requires:
openqrm-plugin-sanboot-storage requires:
openqrm-plugin-solx86 requires:
openqrm-plugin-sshterm requires:
openqrm-plugin-tftpd requires:
openqrm-plugin-tmpfs-storage requires:
openqrm-plugin-vbox requires:
openqrm-plugin-vmware-esx requires:
openqrm-plugin-vmware-server requires:
openqrm-plugin-vmware-server2 requires:
openqrm-plugin-windows requires:
openqrm-plugin-xen requires:
openqrm-plugin-xen-storage requires:
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires:
Checking for required components to compile openQRM finished successfully
if [ -d ./thirdparty ]; then mkdir -p ../buildtmp; cp -aR ./thirdparty/* ../buildtmp/; fi
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
Creating the default initrd-template
-> found component busybox (busybox-1.14.2.tar.bz2) already downloaded
-> Found busybox-1.14.2/_install/bin/busybox already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component pciutils (pciutils-3.1.4.tar.gz) already downloaded
-> Found pciutils-3.1.4/pcimodules already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
-> found component dropbear (dropbear-0.52.tar.gz) already downloaded
-> Found dropbear-0.52/dropbear already in the build-cache
-> Skipping compilation, taking the ready built component from the cache
/lib64/ld-2.11.1.so /lib64/ld-linux-x86-64.so.2
Adding /sbin/portmap to default initrd-template
Adding /sbin/rpc.statd to default initrd-template
Adding /bin/bash to default initrd-template
Adding /usr/bin/rsync to default initrd-template
Adding /usr/bin/wget to default initrd-template
Adding /sbin/modprobe to default initrd-template
Adding /sbin/depmod to default initrd-template
Adding /sbin/insmod to default initrd-template
Adding /sbin/lsmod to default initrd-template
Adding /sbin/mke2fs to default initrd-template
Adding /sbin/sfdisk to default initrd-template
Adding /sbin/udevd to default initrd-template
Adding /sbin/blkid to default initrd-template
/lib64/libnss_files-2.11.1.so /lib64/libnss_files.so.2
-> found component jquery (jquery-1.3.2.tgz) already downloaded
-> found component js-interface (interface_1.2.zip) already downloaded
-> found component openqrm-client.centos.i386 (openqrm-client.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-client.centos.x86_64 (openqrm-client.4.6.1.centos.x86_64.tgz) already downloaded
-> found component openqrm-client.debian.i386 (openqrm-client.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-client.debian.x86_64 (openqrm-client.4.6.1.debian.x86_64.tgz) already downloaded
-> found component openqrm-client.ubuntu.i386 (openqrm-client.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-client.ubuntu.x86_64 (openqrm-client.4.6.1.ubuntu.x86_64.tgz) already downloaded
-> found component openqrm-initrd-template.centos.i386 (openqrm-initrd-template.4.6.1.centos.i386.tgz) already downloaded
-> found component openqrm-initrd-template.centos.x86_64 (openqrm-initrd-template.4.6.1.centos.x86_64.tgz) already download
-> found component openqrm-initrd-template.debian.i386 (openqrm-initrd-template.4.6.1.debian.i386.tgz) already downloaded
-> found component openqrm-initrd-template.debian.x86_64 (openqrm-initrd-template.4.6.1.debian.x86_64.tgz) already download
-> found component openqrm-initrd-template.ubuntu.i386 (openqrm-initrd-template.4.6.1.ubuntu.i386.tgz) already downloaded
-> found component openqrm-initrd-template.ubuntu.x86_64 (openqrm-initrd-template.4.6.1.ubuntu.x86_64.tgz) already download
-> found component kvm-nic-bios (kvm-nic-bios-1.1.tgz) already downloaded
-> found component gpxe (undionly.kpxe.0.9.9.tgz) already downloaded
-> found component sshterm-component (openqrm-plugin-sshterm-components-1.0.tgz) already downloaded
-> found component openqrm-client.windows (openQRM-Client-4.6.1-setup.exe) already downloaded
matt@cloud:~/openqrm/trunk/src$

Nun führen wir "sudo make install" aus.

matt@cloud:~/openqrm/trunk/src$ sudo make install
Creating the openqrm-client boot-service package
include/
include/openqrm-plugin-kvm-functions
.... further install output
sbin/
sbin/openqrm-kvm-storage-monitord
matt@cloud:~/openqrm/trunk/src$

Am Ende initialisieren und starten wir openQRM mittels "sudo make start".

matt@cloud:~/openqrm/trunk/src$ sudo make start
.... runtime dependency check, automatic install additional requirements
...
openqrm-plugin-xen requires: , screen
-> found screen installed
openqrm-plugin-xen-storage requires: , screen
-> found screen installed
openqrm-plugin-zabbix requires:
openqrm-plugin-zfs-storage requires: , open-iscsi
-> found open-iscsi installed
Checking for required components finished successfully
First startup detected. Running initialization.

Adding system startup for /etc/init.d/openqrm ...
/etc/rc0.d/K24openqrm -> ../init.d/openqrm
/etc/rc1.d/K24openqrm -> ../init.d/openqrm
/etc/rc6.d/K24openqrm -> ../init.d/openqrm
/etc/rc2.d/S98openqrm -> ../init.d/openqrm
/etc/rc3.d/S98openqrm -> ../init.d/openqrm
/etc/rc4.d/S98openqrm -> ../init.d/openqrm
/etc/rc5.d/S98openqrm -> ../init.d/openqrm
Looking for syslinux/pxelinux.0...found: /usr/lib/syslinux/pxelinux.0
Creating custom apache config.../etc/apache2/conf.d/openqrm-httpd.conf
Checking /usr/share/openqrm/etc/openqrm-server.conf for OPENQRM_WEB_PROTOCOL=https.. * Reloading web server config apache2
Adding password for user openqrm
Initializing dropbear...
Will output 1024 bit rsa secret key to '/usr/share/openqrm/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxroot@cloud
Fingerprint: md5 28:46:66:b4:b7:59:b6:28:70:ec:2b:6f:16:4a:dd:70
Adding public key to /root/.ssh/authorized_keys...
Starting the openQRM-server ver. 4.6.
Initialization complete. Please configure your openQRM Server at: http://[server-ip-address]/openqrm/
-> User: openqrm -> Password: openqrm
matt@cloud:~/openqrm/trunk/src$

"make start" führt zusätzlich eine Check-Routine aus, die überprüft, dass alle Abhängigkeiten für die Einwandfreie Nutzung von openQRM vorhanden sind. Ggf. nicht vorhandene Pakete werden automatisch installiert.

Während des ersten Starts wird der openQRM Server initialisiert. Nachdem openQRM vollständig installiert wurde, kann nun die Konfiguration mittels der Weboberfläche vorgenommen werden.

7. Konfiguration von openQRM

Wir melden uns am openQRM Server per http://localhost/openqrm an. Der Benutzer und das Passwort sind jeweils "openqrm". Nach der Konfiguration sollten diese Daten geändert werden.

Als erstes wählen wir als Netzwerkkarte die Bridge Schnittstelle für das openQRM Management.

Als Datenbank für das openQRM Backend wählen wir "myslq".

Anschließend konfigurieren wir die Verbindungsinformationen für die Datenbank.

openQRM ist nun vollständig konfiguriert.

Wir werden automatisch zum Datacenter Dashboard weitergeleitet.

8. Vorbereiten der Server-Images

Als Nächstes müssen wir die folgenden Plugins aktivieren und starten:

  • cloud
  • dhcpd
  • image-shelf
  • kvm
  • lvm-storage
  • tftpd

Anschließend wechseln wir nach Base >> Components >> Create >> Storage. Dort erstellen wir einen neuen Speicher vom Typ "Lvm Storage Server (NFS)" und wählen den openQRM Server als Ressource.

Wir geben dem Storage Server einen Namen und speichern diesen.

Die Liste der verfügbaren Speicher sind nun wie folgt aus.

Wir klicken auf den "Mgmt" Button des neu erstellten "lvm-nfs" Storage Server.

Hier wählen wir die Volume Group "vol".

Nun erstellen wir ein neues Volume mit dem Namen "ubuntu64" und einer Größe von 5000 MB.

Im Anschluss erstellen wir ein weiteres Volume mit dem Namen "debian64" und einer Größe von 5000 MB.

Nun wechseln wir nach Base >> Components >> Create >> Image und erstellen Images aus den eben erstellten Volumes. Im ersten Schritt wählen wir den Storage Server auf dem die Images physikalisch gespeichert sind.

Anschließend geben wir dem Image einen Namen (in diesem Beispiel "ubuntu64") und wählen das "ubuntu64" Volume als das Root-Device.

Dieses wiederholen wir für ein weiteres Image und geben diesem den Namen "debian64" und wählen das "debian64" Volume als das Root-Device.

Die Liste der verfügbaren Images sind nun wie folgt aus.

Auf der Konsole erhalten wir folgende Ausgabe:

matt@cloud:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38543848 3470824 33115088 10% /
none 1523376 324 1523052 1% /dev
none 1528204 200 1528004 1% /dev/shm
none 1528204 164 1528040 1% /var/run
none 1528204 0 1528204 0% /var/lock
none 1528204 0 1528204 0% /lib/init/rw
none 38543848 3470824 33115088 10% /var/lib/ureadahead/debugfs
/dev/mapper/vol-ubuntu64
5039616 141212 4642404 3% /vol/ubuntu64
/dev/mapper/vol-debian64
5039616 141212 4642404 3% /vol/debian64
matt@cloud:~$ sudo exportfs
/vol/ubuntu64 192.168.88.3
/vol/debian64 192.168.88.3
matt@cloud:~$ ls /vol/ubuntu64/
lost+found
matt@cloud:~$ ls /vol/debian64/
lost+found
matt@cloud:~$

Mittels des "image-shelf" Plugin werden die weiterhin noch leeren Images mit dem Root Dateisystem befüllt.

Dazu gehen wir nach Plugins >> Deployment >> Image-Shelf >> Import und wählen das "openqrm-enterprise" Image-Shelf.

Hier erhalten wir nun eine liste von verfügbaren Server Templates. Wir wählen das "Ubuntu x86_64" und klicken auf "get".

Nun wählen wir das Image zu dem die Server Templates hinzugefügt werden sollen. Wir nehmen das "ubuntu64" Image, dass wir vorhin erstellt haben und klicken "put".

Image-Shelf verarbeitet nun die Anfrage im Hintergrund. Dabei werden die ausgewählten Server Templates heruntergeladen und auf dem Storage Server entpackt. Der gesamte Vorgang nimmt ein wenig Zeit in Anspruch.

Derselbe Vorgang muss für das "debian64" Image ebenfalls vorgenommen werden.

Nachdem Image-Shelf die Verarbeitung abgeschlossen hat, erhalten wir folgende Konsolenausgabe:

matt@cloud:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 38543848 3552184 33033728 10% /
none 1523376 324 1523052 1% /dev
none 1528204 200 1528004 1% /dev/shm
none 1528204 164 1528040 1% /var/run
none 1528204 0 1528204 0% /var/lock
none 1528204 0 1528204 0% /lib/init/rw
none 38543848 3552184 33033728 10% /var/lib/ureadahead/debugfs
/dev/mapper/vol-ubuntu64
5039616 1144532 3639084 24% /vol/ubuntu64
/dev/mapper/vol-debian64
5039616 1084104 3699512 23% /vol/debian64
matt@cloud:~$ sudo exportfs
/vol/ubuntu64 192.168.88.3
/vol/debian64 192.168.88.3
matt@cloud:~$ ls /vol/ubuntu64/
bin cdrom etc initrd.img lib64 media opt root selinux sys usr vmlinuz
boot dev home lib lost+found mnt proc sbin srv tmp var
matt@cloud:~$ ls /vol/debian64/
bin cdrom emul home lib lib64 media opt root selinux sys usr vmlinuz
boot dev etc initrd.img lib32 lost+found mnt proc sbin srv tmp var
matt@cloud:~$

Beide Images sind nun mit einem validen Root Dateisystem befüllt. Die Konfiguration der openQRM Cloud kann nun fortgeführt werden.

9. Erstellen eines KVM Host

Nun müssen wir openQRM die virtualisierten Hosts mitteilen. Dazu gehen wir nach Base >> Appliances >> Create und wählen "openQRM Server" als "resource".

Wir geben der neuen Appliance einen Namen (in diesem Beispiel "kvm-host"), setzen den "resource-type" auf "KVM Host" und speichern.

Die Liste der Appliances sieht nach dem Erstellen der "kvm-host" Appliance wie folgt aus.

10. Konfiguration der openQRM Cloud

Nun wechseln wir nach Plugins >> Cloud >> Configuration >> Main Config und konfigurieren die folgenden Punkte:

  • cloud_admin_email > eine valide E-Mail Adresse
  • auto_provision → true
  • external_portal_url → (optional) externe URL zu einem Cloud Portal
  • request_physical_systems → false
  • auto_give_ccus → 100
  • show_disk_resize → (optional) true
  • show_private_image → true
  • cloud_currency → (optional) auf US oder Euro setzen
  • cloud_1000_ccus → Wie viele 1000 CCUs wie viel US/Euro entsprechen

Für alle weiteren Konfigurationspunkte können die Standardwerte genommen werden. Speichern nicht vergessen!

Der folgende Screenshot zeigt die Hauptseite zur Konfiguration der Cloud.

Als nächstes müssen die Cloud Produkte mittels des "Cloud-Selector" konfiguriert werden.

Dazu gehen wir nach Plugins >> Cloud >> Configuration >> Products >> Kernel und erstellen ein neues "Ubuntu64" Kernel Produkt.

Diesen Schritt wiederholen wir, um ein "Debian64" Kernel Produkt zu erstellen.

Im Anschluss erstellen wir ein "KVM VM" Virtualisierung Produkt.

Das sieht dann wie im folgenden Screenshot aus.

Der nächste Schritt besteht darin, der Cloud mitzuteilen, welche Images den Cloud Benutzern angezeigt werden sollen. Dazu wechseln wir nach Plugins >> Cloud >> Configuration >> Private Images und wählen in den Checkboxen "All" für das "ubuntu64" und "debian64" Image.

Nun erstellen wir einen oder mehrere Cloud Benutzer. Hierfür gehen wir nach Plugins >> Cloud >> User und fügen einen neuen Benutzer inkl. einer gültigen E-Mail Adresse hinzu.

Die Liste der Cloud Benutzer sieht im Anschluss wie folgt aus.

Als Cloud Administrator kann man sich mit jedem beliebigen Cloud Benutzer anmelden, indem man auf den Namen des Cloud Benutzers klickt.

Das openQRM Portal sieht nach einem erfolgreichen Login dann wie folgt aus.

Wir klicken auf den 2ten Tab mit dem Namen "Visual Cloud Designer".

Der Virtual Cloud Designer zeigt alle verfügbaren Komponenten innerhalb der Cloud an. Mittels Drag and Drop kann nun eine eigene Cloud Appliance konstruiert werden.

Anschließend sollten die Kosten (stündlich, täglich, moantlich) für die Appliance betrachtet werden.

Mit einem einzigen Klick kann die Appliance der Cloud hinzugefügt werden.

11. Nutzen der openQRM Cloud

Um Zugriff auf die "KVM VM" Konsole zu erhalten, muss das "xtightvncviewer" Package installiert werden.

matt@cloud:~$ sudo apt-get install xtightvncviewer
Reading package lists... Done
...
Setting up xtightvncviewer (1.3.9-6) ...
update-alternatives: using /usr/bin/xtightvncviewer to provide /usr/bin/vncviewer (vncviewer) in auto mode.
matt@cloud:~$

Um sich per VNC an der ersten Cloud Appliance (KVM VM) anzumelden nutzen wir den folgenden Befehl.

matt@cloud:~$ vncviewer localhost:1

Der folgende Screenshot zeigt den Bootvorgang der Cloud Appliance in einer KVM VM.

Die openQRM Cloud schickt dem Cloud Benutzer automatisch eine E-Mail, in der die IP-Adresse und alle Anmeldeinformationen enthalten sind.

Wir können uns nun anmelden und mit der Cloud Appliance arbeiten.

12. Die nächsten Schritte

  • Separierung des Storage, Hypvervisors und openQRM auf dedizierte Systeme
  • openQRM Server als Hochverfügbarkeitslösung
  • Hinzufügen weiterer virtualisierter Hosts unterschiedlichen Typs (XEN, VMwAre, etc.)
  • Hinzufügen von physikalischen Systemen
  • Hinzufügen von weiteren Storage Systemen
  • Aktivieren des automatischen Monitorings
  • IP- und Netzwerkmanagement
  • Cloud-Billing
  • Cloud Integration / SOAP WebService

Quelle

  • HowTo: Setup your own openQRM Cloud with KVM on Ubuntu Lucid Lynx


openQRM Enterprise wird Partner des Canonical Software Partner Programms

Das Kölner Unternehmen openQRM-Enterprise, Anbieter der gleichnamigen Cloud Computing Plattform openQRM, ist dem Canonical Software Partner Programm beigetreten und wird in diesem Zuge mit Professional Services und einem langfristigen Support die openQRM Cloud auf den Ubuntu Server Distributionen unterstützen.

Canonical ist Distributor von Ubuntu Linux und stellt mit der Ubuntu Enterprise Cloud eine auf Eucalyptus basierende Cloud Computing Infrastruktur Lösung bereit.

Weitere Informationen sind auf den Webseiten von Ubuntu zu finden:

Quelle

  • openQRM-Enterprise


openQRM ab sofort mit Service Level Agreements & Professional Services

Die openQRM Enterprise aus Köln bietet ihren Kunden und Nutzern von openQRM per sofort professionelle Service Level Agreements (SLA) auf Basis der Level Basic, Standard und Premium.

Durch die Einführung dieser SLAs setzt sich die openQRM Enterprise damit selbst das Ziel, hochqualitativen Support für die Cloud Computing Plattform openQRM zu liefern, wodurch Kunden direkten Kontakt mit dem openQRM Enterprise Support-Team herstellen können und weiterhin Zugriff auf einen Bug-Tracker erhalten.

Abgerundet werden die SLAs mit Professional Services, mit denen eine direkte Unterstützung bei der Einführung und der Lösung von Problemen mit openQRM geboten wird. Dazu gehören ebenfalls die regelmäßige Unterstützung durch das openQRM Enterprise Support-Team, um den einwandfreien Betrieb und die Wartung (Updates) von openQRM zu gewährleisten und die Entwicklung spezieller und spezifischer Funktionen und Anforderungen durch den Kunden.

Service Level Agreements

  • Vollständiges Zugriff auf das openQRM Enterprise Bug-Tracking System
  • Updates durch die openQRM Enterprise
  • Zertifizierung der openQRM Umgebung durch die openQRM Enterprise
  • openQRM Enterprise Newsletter
  • Monatliche Berichte inkl. Besprechung
  • Direkter Kontakt zum openQRM Enterprise Support-Team

Professional Services

  • Unterstützung der openQRM Umgebung auf Basis der eigenen Anforderungen
  • Automatische openQRM Updates
  • Entwicklung neuer Funktionen für openQRM - auch auf Basis eigener Anforderungen
  • Zertifizierung der openQRM Umgebung durch die openQRM Enterprise
  • openQRM Enterprise Newsletter

openQRM Updates ab sofort durch die openQRM Enterprise

Weiterhin wird die openQRM Enterprise die aktive Entwicklung von openQRM übernehmen, wodurch die Qualität und Innovation von openQRM weiter verbessert werden soll und wichtige Updates zeitnah veröffentlicht werden können.

Wichtig hierbei ist, dass die openQRM Enterprise alle Änderungen und Releases weiterhin auf dem Open-Source Repository von SourceForge.net zur Verfügung stellen wird, so dass jeder openQRM weiter frei nutzen kann.

Quelle

  • openQRM
  • openQRM Enterprise


openQRM mit neuen Funktionen

Bereits seit dem 12.03.2010 ist der Funktionsumfang der Cloud Computing Plattform openQRM erweitert. Eines der neuen Features ist die Unterstützung des Windows Betriebssystems. Folgende vier neue Funktionen sind verfügbar:

kvm-storage plug-in

Das kvm-storage Plugin kombiniert die KVM Virtualisierungstechnologie mit der LVM Speichertechnologie. Dadurch können ab sofort lokale virtuelle Maschinen auf Basis von KVM durch die Nutzung von virtuellen Festplatten auf Basis von LVM Volumes schnell bereitgestellt werden.

xen-storage plug-in

Das xen-storage Plugin kombiniert die Xen Virtualisierungstechnologie mit der LVM Speichertechnologie. Dadurch können ab sofort lokale virtuelle Maschinen auf Basis von Xen durch die Nutzung von virtuellen Festplatten auf Basis von LVM Volumes schnell bereitgestellt werden.

sanboot-storage plug-in

Mit dem sanboot-storage Plugin können Windows Betriebssysteme schnell auf dem physischen System bereitgestellt werden. Dazu werden die Windows Server Images auf direktem Weg von einem SAN Speicher (iSCSI oder AOE) mittels gPXE bereitgestellt. Eine der herausragenden neuen Funktionen ist die Möglichkeit Live Snapshots des Windows Betriebssystems direkt in einem SAN zu speichern. Diese Snapshots können anschließend für ein erneutes Deployment/ Rollback verwendet werden.

windows plug-in

Mit dem windows Plugin kann über die Oberfläche des openQRM Servers ein Windows Betriebssystem vollständig verwaltet werden, indem der openQRM-Client auf dem Windows Server Image installiert wird. Durch die Unterstützung des Windows Betriebssystems geht openQRM damit den nächsten Schritt, eine zentrale Management Console für Cloud Computing Rechenzentren und IT-Infrastrukturen bereitzustellen.




Eigenschaften einer Cloud Platform

Ich habe bisher einige Cloud Computing Plattformen, darunter openQRM, OpenNebula oder OpenECP vorgestellt und ein paar weitere werden noch folgen. Daher erläutere ich in diesem Artikel die grundsätzlichen Eigenschaften die eine Cloud Plattform (meiner Meinung nach) hat bzw. haben sollte.

1. Zunächst sollten ausreichend virtualisierte Serverressourcen zur Verfügung stehen. Weiterhin müssen, (vor allem dann) wenn sich mehrere Kunden auf einem System befinden, jedem Kunden diese virtualisierten Serverressourcen garantiert werden und die einzelnen virtuellen Instanzen isoliert und damit vollständig von einander getrennt betrieben werden.

2. Zum Bereitstellen von umfangreichen Enterprise-Class-Services wie z.B. hohe Verfügbarkeit, Systemwiederherstellungen nach Datenverlusten, automatische Skalierung während Lastspitzen und Ressourcenoptimierungen muss eine große (unbegrenzte) Menge an virtualisierten Serverressourcen vorhanden sein.

3. Für ein zustandsbehaftetes Lifecycle Management, wozu Snapshots, schnelles Cloning (duplizieren) und eine dynamische Versorgung mit Ressourcen über große Server Infrastrukturen gehören, wird ein virtualisierter Cloud Speicher benötigt.

4. Für die Anpassung der virtuellen Topologie - durch das Hinzufügen weiterer Netzwerkfunktionen für Sicherheit, Routing, Load Balancing, Application Firewalls, Protokol Optimierung, etc. in den OSI Schichten 3 bis 7 - und die Möglichkeit die jeweiligen (Teil)-Netzwerke auf Multi-Kunden Systemen zu isolieren und Ressourcen zu garantieren, werden virtuelle Netzwerk Ressourcen benötigt.

5. Es müssen umfangreiche und offene APIs zur Kontrolle sämtlicher Ressourcen vorhanden sein, damit Cloud Computing Anbieter ihren Kunden die vollständige Kontrolle über deren privaten virtuellen Rechenzentren anbieten können.

6. Die Cloud Plattform muss für allen gängigen Virtualisierungs-Plattformen vollständige Kompatibilität bieten und jede virtuelle Maschine unterstützen, um u.a. einen Vendor Lock-in zu vermeiden. Des Weiteren müssen Funktionen für die Migration von virtuellen Maschinen zwischen unterschiedlichen Virtualisierungs-Technologien (P2V, V2P und V2V) vorhanden sein.

7. Zu guter letzt sollte die Cloud Plattform auf Open Source basieren, um eine größtmögliche Kompatibilität zu allen möglichen Clouds aufzuweisen und um einfach adaptiert und angenommen zu werden.



Ein Cloud Desktop mit openQRM

Nachdem ich eyeOS in zwei Artikeln ausführlich vorgestellt habe, möchte ich in diesem Artikel eine weitere interessante Möglichkeit aufzeigen, einen persönlichen Cloud Desktop zu nutzen. Dazu dient das von mir ebenfalls schon vorgestellte Cloud Management Tool openQRM, auf dessen Portal Webseite (http://www.openqrm-portal.de) ich die Idee (von Matt Rechenburg beschrieben) entdeckt habe.

Cloud Desktops wie auch Desktop-Virtualisierung sind für mich die Megatrends der Zukunft, die bei jedem auf der Roadmap stehen sollten!

Um uns einen Cloud Desktop mit openQRM zu erstellen gehen wir wir folgt vor:

1. Bestellen einer Cloud Appliance von openQRM

Zunächst legt man sich einen Account unter https://demo.openqrm.com und erstellt einen neuen Cloud-Request.

2. Installation von vncserver und Gnome auf der Cloud Appliance

Die Pakete vnc4server, xorg und gnome müssen per apt-get auf der Cloud Appliance wie folgt installiert werden.

root@cloud-91-1-x:~# apt-get install tightvncserver vnc4server xorg gnome

3. Erstellen eines VNC Users

Mit dem Befehl adduser wird ein neuer Benutzer erstellt.

root@cloud-91-1-x:~# adduser matt
Adding user `matt' ...
Adding new group `matt' (1001) ...
Adding new user `matt' (1001) with group `matt' ...
Creating home directory `/home/matt' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for matt
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y
root@cloud-91-1-x:~#

Danach mit dem su Befehl zum eben erstellten Benutzer wechseln.

root@cloud-91-1-x:~# su - matt
matt@cloud-91-1-x:~$

4. Erstellen einer VNC Passwortdatei

Mit dem vnc4passwd Tool wird eine neue VNC Passwortdatei erzeugt.

matt@cloud-91-1-x:~$ vnc4passwd
Password:
Verify:
matt@cloud-91-1-x:~$

5. Erstellen eines xstartup Skript

Für den automatischen Start einer Gnome Session nach dem VNC-Login muss eine xstartup Datei im .vnc/ Verzeichnis angelegt werden.

matt@cloud-91-1-x:~$ vi .vnc/xstartup
matt@cloud-91-1-x:~$ cat .vnc/xstartup
#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
gnome-session &

matt@cloud-91-1-x:~$

Die Datei muss nun noch ausführbar gemacht werden.

matt@cloud-91-1-x:~$ chmod -x
matt@cloud-91-1-x:~$ .vnc/xstartup

6. Start des vncserver

Nun muss der vncserver gestartet werden.

matt@cloud-91-1-x:~$ tightvncserver
xauth: creating new authority file /home/matt/.Xauthority

Creating default startup script /home/matt/.vnc/xstartup
Starting applications specified in /home/matt/.vnc/xstartup
Log file is /home/matt/.vnc/cloud-91-1-x:1.log

7. Verbindung mit dem Cloud Desktop herstellen

Mit einem vncviewer Tool (Linux/Windows) kann man sich nun mit dem Befehl vncviewer[IP-Adresse der Cloud-Appliance]:1 mit dem Gnome Desktop in der Cloud verbinden.

matt@matt-laptop:~$ vncviewer x.x.x.x:1

Nach der Anmeldung steht ein vollständiger Gnome Desktop in der Cloud zur Verfügung.

Quelle

Your Desktop in the Cloud (DE)



On-Demand Infrastruktur für virtuelle Labore

OpenNebula kann dazu genutzt werden um virtuelle Labore bereitzustellen. Dabei erhält jeder Student Zugriff auf eine eigene "virtuelle" Infrastruktur, die nur er verwalten kann. Bei der Infrastruktur kann es sich um ein einzelnes System oder ein vollständig verteiltes System handeln. Hierbei kapselt die virtuelle Maschine die Installation für einen Kurs.

Architektur

Aufbau & Bereitstellung

Um das virtuelle Labor bereitzustellen muss zunächst das Netzwerk, wie in den Howtos [1] und [2] beschrieben, konfiguiert werden.

Als nächstes muss ein Master Image erstellt werden. Dieses wird als Basis benutzt um die virtuellen Maschinen für eine Sitzung zu erstellen. In diesem Image muss sämtliche Software, für die späteren virtuellen Hosts des Labor, installiert sein. Aus dem Master Image können anschließend Instanzen von virtuellen Maschinen erstellt werden, indem von der Masterdatei jeweils eine Kopie erstellt wird.

Sobald die Master Virtual Machine konfiguriert ist, kann diese repliziert und als Virtual Machine Template für alle Instanz verwendet werden.

Dabei ist zu beachten, dass sich jede virtuelle Maschine in zwei Dingen voneinander unterscheiden muss:

  • Der Pfad zu dem Image, um die virtuelle Maschine zu mounten.
  • Die MAC-Adresse, da jede virtuelle Maschine eine eigene IP-Adresse benötigt.

Angenommen es sollen 10 virtuelle Computer für ein Labor erstellt werden. Dazu werden 10 unterschiedliche Kopien der Master Virtual Machine und 10 unterschiedliche Virtual Machine Templates benötigt. Die Templates könnten z.B. mit dem Namen VMachineXX.template - wobei XX den Zahlen 1 bis 10 entspricht - bezeichnet werden.

Um die virtuellen Maschinen zu starten wird der Befehl onevm mit folgenden Parametern benötigt.

$ onevm create VMachineXX.template

Dieser Befehl muss 10 mal wiederholt werden, wobei der Platzhalter XX durch die Zahlen 1 bis 10 ersetzt wird. Die IP-Adresse der virtuellen Maschine erhält man entsprechend der Netzwerk-Konfiguration.

Nun reicht es aus, dem Seminarteilnehmer einen Benutzernamen, ein Passwort und die IP-Adresse der virtuellen Maschine mitzuteilen.

Quelle



On-Demand Skalierung eines Computer Cluster

Nachdem ich OpenNebula und die Funktionen bereits kurz vorgestellt habe, möchte ich - angeregt durch die Projekte auf der OpenNebula Webseite - die Einsatzmöglichkeiten auf Basis von vier Anwendungsbeispielen vorstellen. Dazu werde ich in den nächsten Tagen jedes Beispiel auf Grund der Menge und Übersichtlichkeit in einem eigenen Artikel behandeln.

Auch wenn sich diese Beispiele speziell auf OpenNebula beziehen, kann die Umsetzung dieser Ansätze ebenfalls mit anderen Cloud Infrastruktur Management Tools, wie z.B. openQRM erfolgen.

On-Demand Skalierung eines Computer Cluster

Mit OpenNebula können auf einem pyhsikalischen Cluster dynamisch mehrere virtuelle Cluster parallel betrieben werden. Dadurch können Ressourcen wie z.B. Rechenleistung on-Demand bereitgestellt werden, indem die Anzahl der verfügbaren Hosts mit den Bedürfnissen der Benutzer wächst. Da virtuelle Hosts weniger physikalische Ressourcen benötigen, kann ein Cluster dadurch optimiert und konsolidiert werden, da die Anzahl der tatsächlich vorhandenen physikalischen Systeme reduziert werden kann, was dazu führt, dass weniger räumlicher Platz, Strom, Kühlung und Administration erforderlich ist.

Die Zuweisung der physikalischen Ressourcen zu den virtuellen Hosts wird dabei dynamisch und abhängig von den Anforderungen (benötigte Ressourcen) von dem Virtual Machine Manager übernommen. Des Weiteren kann ein Cluster in mehrere Partitionen aufgeteilt werden, da die physikalischen Ressourcen eines Clusters genutzt werden können, um sie einem Host bereitzustellen, der mit einem (anderen) virtuellen Cluster verknüpft ist.

Dieses Beispiel zeigt, wie das Bereitstellen der Ressourcen von der eigentlichen Ausführung, auf einem speziellen Service Layer durch den Local Resource Manager (LRM) getrennt werden kann.

Architektur

Bereitstellung mit der Sun Grid Engine (SGE)

Zunächst muss das Netzwerk, wie in den Howtos [1] und [2] beschrieben, konfiguiert werden, um neue virtuelle SGE Hosts mit unterschiedlichen Namen zu erstellen.

Um das grundlegende Virtual Machine Image zu erstellen kann der Befehl xen-create-image benutzt, ein Image von einem frisch installiertes Betriebssystem verwendet oder ein bereits verwendetes Virtual Machine Image genutzt werden.

Zusätzlich muss der virtuelle SGE Host genau so konfiguriert werden wie der physikalische SGE Host (NFS, NIS, execd, etc.)

Dieses Image dient als Grundlage für alle neuen virtuellen SGE Hosts. Jeder virtuelle Hosts muss an einem eigenen Ort abgelegt werden. Hierzu existiert das zentrale Verzeichnis sgebase, dass alle Images beinhaltet. Für jedes Image wird anschließend ein eigenes Verzeichnis mit dem Namen des Images erstellt.

$ cp -R sgebase sgehost01

Nun muss ein neues Virtual Machine Template erstellt werden. (Es kann auch ein bereits bestehendes kopiert werden und angepasst werden.)

MEMORY=64
CPU=1
OS=[
kernel="/boot/vmlinuz-2.6.18-4-xen-amd64",
initrd="/boot/initrd.img-2.6.18-4-xen-amd64",
root="sda1",
boot="hd"]
DISK=[
source="/local/xen/domains/xen/domains/sgehost/disk.img",
target="sda1",
readonly=no]
DISK=[
source="/local/xen/domains/xen/domains/sgehost/swap.img",
target="sda2",
readonly=no]
NIC=[mac="00:16:3e:01:01:03"]

Jetzt muss noch der Pfad zu dem Image, dem Kernel, der Ramdisk etc. angepasst werden.

Zum Starten des neuen virtuellen Host benötigen wir folgenden Befehl:

$ onevm create

Um Aufgaben entgegen zu nehmen muss der neue Host mit SGE anschließend bekannt gemacht werden .

$ qconf -ah sgehost01
$ qconf -as sgehost01
$ qconf -se

Soll der neue Host einer Gruppe zugeordnet werden, benötigen wir folgenden Befehl:

$ qconf -mhgrp @allhosts

Quelle



openQRM – Die Cloud Computing Plattform für Rechenzentren

openQRM ist eine Open Source Cloud Computing Plattform für die Verwaltung von Rechenzentren und skalierbaren IT-Infrastrukturen und ist aktuell in der Version 4.6 verfügbar.

Mittels einer zentralen Managementkonsole kann die Administration von physikalischen Servern ebenso vorgenommen werden wie von virtuellen Maschinen, wodurch Rechenzentren voll automatisiert und höchst skalierbar betrieben werden können.

Neben einer offenen API und einem SOAP Web Service für die nahtlose Integration der eigenen Geschäftsprozesse, unterstützt openQRM alle bekannten Virtualisierungstechnologien und bietet die Möglichkeit für transparente Migrationen von "P-to-V", "V-to-P" und "V-to-V".

openQRM verfügt des Weiteren über ein integriertes Storage-Management, mit dem anhand des Snapshot-Verfahrens Serversysteme dupliziert werden können. Die Snapshots ermöglichen eine dynamische Anpassung des Speicherplatzes, bieten einen persistenten Cloud-Speicher und erlauben ein Backup/Restore der Server sowie deren Versionierung.

Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Dabei spielt es keine Rolle, ob physikalische oder virtuelle Maschinen eingesetzt werden!

Benefits auf einem Blick

  • Virtualisierung
    openQRM unterstützt alle gängigen Virtualisierungstechnologien darunter VMWare, Citrix XenServer und KVM und bietet die Möglichkeit der Migration von P-to-V-, V-to-P- und V-to-V für physikalische Server als auch virtuelle Maschinen.
  • Storage
    openQRM verfügt über ein zentralisiertes Speichersystem mit integriertem Storage Management, welches alle bekannten Storage-Technologien unterstützt. Dazu gehören u.a. Netapp, Equallogic, NFS, iSCSI ZFS und proprietäre auf LVM basierende Storage-Typen, für eine flexible und schnelle Duplizierung von Serversystemen.
  • Zentrales Management
    openQRM verschmilzt die Welt von Open Source mit der von kommerziellen Produkten. Mit einer zentralen Managementkonsole sind alle Funktionen zur Administration von Rechenzentren, System- und Service-Überwachung, Hochverfügbarkeit und automatisierter Bereitstellung vorhanden.

Funktionen

  • Hardware/Software Isolation
    openQRM isoliert die Hardware (physikalische Server, virtuelle Maschinen) vollständig von der Software (Server Images). Dabei ist die eigentliche Hardware eine "Computing Resource" und kann dadurch jederzeit durch eine andere Hardware ersetzt werden, ohne dass die Software (Server Image) neu konfiguriert werden muss.
  • Unterstützung für verschiedene Virtualisierungs-Technologien
    Mit VMWare, Xen, KVM und dem Citrix XenServer unterstützt openQRM eine viehlzahl an virtuellen Maschinen und kann dieses transparent verwalten und migrieren. Neben der System-Migration von physikalischen Servern zu virtuellen Maschinen (P-to-V) können Systeme ebenfalls von virtuellen Maschinen zu physikalischen Servern (V-to-P) migriert werden. Darüber hinaus besteht die Möglichkeit ein System von einer Virtualisierungstechnologie zu einer anderen Virtualisierungstechnologie (V-to-V) zu verschieben.
  • Vollautomatische Nagios-Konfiguration

    openQRM unterstützt die vollautomatische Konfiguration von Nagios mittels "nmap2nagios-ng". Damit wird das gesamte openQRM Netzwerk analysiert und auf Basis der Informationen eine Nagios-Konfiguration erstellt. Anschließend werden alle Services auf allen Systemen überwacht.

  • Integriertes Storage-Management
    openQRM organisiert die Serversysteme wie Dateien und nutzt zur Verwaltung moderne Storagesysteme anstatt lokaler Festplatten. Mittels Logical Volume Managern (LVM) und deren Snapshot-Verfahren können Server-Templates auf schnellen Wege dupliziert werden.

    "Sollen z.B. 10 neue Server ausgerollt werden, kann so einfach ein bestehendes Server-Image 10 mal dupliziert und die "Clone" direkt zum Deployment bereitgestellt werden."

    Mit diesem Konzept steht ein zentrales Backup/Restore sowie die Möglichkeit von Hot-Backups ohne Downtime zur Verfügung.

    openQRM unterstützt folgende Storage-Typen:

    • NFS (NAS)
    • iSCSI (iSCSI SAN)
    • Aoe/Coraid (AOE SAN)
    • NetApp (iSCSI SAN)
    • Local-disk (Übertragung von Server-Images auf lokale Festplatten)
    • LVM-Nfs (NFS auf LVM2, erlaubt schnelles Cloning)
    • LVM-iSCSI (iSCSI auf LVM2, erlaubt schnelles Cloning)
    • LVM-Aoe (Aoe auf LVM2, erlaubt schnelles Cloning)
    • Equallogic (iSCSI SAN)
    • ZFS (iSCSI SAN)
  • Hochverfügbarkeit und "N-to-1"-Fail-Over!
    Mit der "N-zu-1" Fail-Over Funktion steht mehreren Serversystemen ein einzelner Stand-By-Server zur Verfügung. Unabhängig davon, ob physikalische oder virtuelle Maschinen eingesetzt werden.

    "Um zum Beispiel 10 hochverfügbare Spezialsysteme zu betreiben benötigt man normalerweise weitere 10 "Stand-By"-Systeme. Mit openQRM jedoch benötigt man nur einen einzigen "Stand-By"-Server, der im Fehlerfall eines der 10 Spezialsysteme benutzt wird. Das heißt, man kann 9 "stromfressende", nicht ausgelastete Server einsparen. Perfekt für "Green IT".

    Des Weiteren können physikalische Server virtuelle Maschinen als "Hot Stand-By" nutzen und lassen sich im Notfall in eine virtuelle Maschine migrieren.

  • Fertige Server-Templates
    Mittels dem "Image-Shelf"-Plugin stellt openQRM bereits fertige Server Templates zur Verfügung. Dazu gehören Linux Distributionen wie Debian, Ubuntu, CentOS und openSuse. Des Weiteren können mit dem Plugin eigene Server Templates auf unterschiedliche Weise (lokal, http, https, ftp) bereitgestellt werden.
  • Unterstützung verschiedenster Deployment-Methoden
    Mit openQRM können Server von jeder Art von Storage gestartet werden. Zusätzlich können die Server Templates von einem Storage-Typ zu einem anderen übertragen werden, dabei kann noch entschieden werden, ob die Server Templates auf einem physikalischen Server oder in einer virtuellen Maschine gestartet werden sollen.
  • Unterstützung verschiedener OS-Distributionen
    Es stehen bereits vor-konfigurierte openQRM-Server Pakete für Debian, Ubuntu und CentOS zur Verfügung. Ein openQRM-Server kann aber alle gängigen Linux Distributionen verwalten.
  • Cloud-Selector
    Mit dem Cloud-Selector kann der Cloud Administrator seine Cloud Produkte wie z.B. Prozessoren, Speicher, Festplattengröße oder den Typ der virtuellen Maschine auswählen und deren Preise festlegen.
  • Kostenrechner im Cloud-Portal
    Die Cloud-Computing-Unit (CCU) kann einer regulären Währung (z.b. USD oder Euro) zugewiesen werden. Mit dem Kostenrechner werden die stündlichen, täglichen und monatlichen verbrauchten Kosten für eine Cloud Appliance berechnet.
  • Private Cloud Images
    Mit der "Private Cloud Image"-Funktion können Cloud Benutzer eigene Server Templates anlegen und verwalten.
  • Volle SSL-Unterstützung
    Der openQRM-Server arbeitet in einem vollständig SSL-verschlüsselten Bereich und unterstützt verschiedene Serverarchitekturen wie i386 und x86_64.

Auszeichnungen

Preise

  • openQRM ist Open Source und unterliegt der GPL (GNU General Public License).

Support

  • Die openQRM Enterprise ist der Hauptsponsor von openQRM. Das Team um CEO Matthias Rechenburg, CTO Christoph Moeller und Vertriebs- und Marketing-Direktor Andre Westbunk weist langjährige Erfahrungen für das flexible, konsistente und transparente Betreiben von Rechenzentren und bietet professionelle Services zu openQRM um damit die Gesamtbetriebskosten (TCO) von IT-Abteilungen zu senken.
  • Ich möchte hier noch anmerken, dass es sich bei der openQRM Enterprise um einen deutschen Anbieter aus dem Bereich des Cloud Computing handelt!

Quelle

openQRM
openQRM Enterprise



Die 11 besten Open Source Cloud Computing Projekte 2009

Auf Basis von John Willis's Cloud Computing Awards 2009 - "The Cloudies", hat Mark Hinkle seine Top 11 Open Source Cloud Computing Projekte 2009 ausgewählt. Da ich Open Source und Cloud Computing für unzertrennlich halte, stelle ich die Projekte - Chef, collectd, Eucalyptus, OpenNebula, openQRM, Puppet, RabbitMQ, Zenoss, Bitnami, ECP und Ubuntu Enterprise Cloud jeweils kurz vor.

Chef

Bei Chef handelt es sich um ein Integrations-Framework für das Konfigurationsmanagement aller Arten von IT Infrastrukturen, aber speziell für die Bereitstellung von Cloud Umgebungen. Dazu wird mittels eines Quellcodes beschrieben, wie jeder Teil der Infrastruktur aufgebaut werden soll. Diese Infrastrukturbeschreibung wird anschließend einem Server zugeordnet. Das Ergebnis ist eine voll automatisierte Infrastruktur.

Webseite: http://wiki.opscode.com/display/chef/Home

collectd

collectd ist ein Daemon, der Statistiken der System-Performance sammelt und sie in RRD-Dateien speichert. Der Daemon verfügt über eine Plugin Architektur, die es erlaubt Informationen von einer Vielzahl von Diensten und Servern wie Apache, memcache und Linux-VServer zu sammeln. collectd ist damit die Ideale Erweiterung für bereits vorhandene System Management-Tools.

Webseite: http://collectd.org

Eucalyptus

Eucalyptus steht für "Elastic Utility Computing Architecture Linking Your Programs To Useful Systems" und dient zum Erstellen einer Cloud Computing Infrastruktur auf Cluster Systeme. Die aktuelle Schnittstelle ist mit den Schnittstellen von Amazon EC2, S3 und EBS kompatible. Die Infrastruktur ist allerdings dafür gedacht, mehrere Client-Schnittstellen unterstützen. Eucalyptus basiert auf gängigen Linux-Tools und grundlegenden Web-Service-Technologien, die eine einfache Installation und Wartung ermöglichen.

Ich habe Eucalyptus bereits vor kurzem ausführlich vorgestellt. Der Artikel kann HIER nachgelesen werden.

Webseite: http://open.eucalyptus.com

OpenNebula

Mit OpenNebula kann jegliche Art von Cloud Umgebung aufgebaut werden. Darüber hinaus können damit virtuelle Infrastrukturen in einem Rechenzentrum oder einem Cluster verwaltet werden, oder eine lokale Infrastruktur mit einer Public Cloud Infratruktur verbunden und kombiniert werden, um damit hoch skalierbare Hosting Umgebungen zu entwickeln. OpenNebula unterstützt ebenfalls Public Clouds, indem Schnittstellen zur Verfügung stehen mit denen virtuelle Machinen, Speichersysteme und das Netzwerk verwaltet werden können.

Webseite: http://www.opennebula.org

openQRM

openQRM ist eine Open Source Lösung zur Verwaltung und dem automatisierten und skalierbaren Betrieb von Rechenzentren- und Cloud-Computing-Plattformen. Die Administration der physikalischen Server und der virtuellen Maschinen erfolgt dabei in einer übergreifenden zentralen Managementkonsole. Mit einer Snapshot-Funktion können Serversysteme dupliziert und Backup/Restore, sowie Server-Versionierung und eine dynamische Anpassung des Speicherplatzes vorgenommen werden.

Webseite: http://www.openqrm.com

Puppet

Puppet ist ein Model-Driven Open Source-Framework für den automatisierten Aufbau und die Konfiguration von Servern. Mit Puppet können administrative Aufgaben wie z.B. das Hinzufügen von Benutzern, die Installation von Software oder die Aktualisierung der Serverkonfiguration auf vielen unterschiedlichen Arten von Systemen vorgenommen werden. Der Clou hierbei ist allerdings, dass immer derselbe Code verwendet werden kann, obgleich die Systeme auf völlig unterschiedlichen Betriebssystemen laufen.

Webseite: http://reductivelabs.com/products/puppet

RabbitMQ

RabbitMQ is ein Enterprise Messaging System welches auf dem AMQP Standard aufsetzt. AMQP ist ein Standard, mit dem Middleware Systeme, untereinander Nachrichten austauschen können.

Webseite: http://www.rabbitmq.com

Zenoss

Zenoss dient zur Überwachung der Amazon Web Services und vielen weiteren Arten von Cloud Computing Umgebungen und virtuellen Infrastrukturen.

Webseite: http://community.zenoss.org/index.jspa

Bitnami

Bitnami vereinfacht die Bereitstellung von Web Anwendungen, sowohl virtuell als auch in einer Cloud. Jeder BitNami Stack beinhaltet eine Anwendung, die mit jeder von ihr benötigten Software so ausgestattet ist um vollständig ausgeführt zu werden. BitNami Stacks sind kostenlos als gewöhnliche Installationsroutinen, virtuelle Machine Images und Cloud Templates erhältlich. Systeme die z.B. BitNami Anwendungen verwenden sind u.a. Drupal, Joomla!, Wordpress, SugarCRM, Alfresco, Redmine und Subversion.

Webseite: http://www.bitnami.org

Enomaly’s Elastic Computing Platform (ECP)

ECP ist eine programmierbare virtuelle Cloud Infrastruktur für kleine, mittlere und große Unternehmen. Es unterstützt beim Design, Bereitstellen und Verwalten von virtuellen Anwendungen innerhalb einer Cloud. Weitere Funktionen sind die automatische Skalierung von virtuellen Maschinen, Load Balancing, Systemanalysse, sowie die Konfiguration und Optimierung der Cloud Kapazitäten.

Webseite: http://src.enomaly.com

Ubuntu Enterprise Cloud

Die Ubuntu Enterprise Cloud (UEC) ist in der Ubuntu Server Edition enthalten und beinhaltet eine Vielzahl an Open Source Projekten wie z.B. Eucalyptus. Anwendern steht damit die Möglichkeit offen eine eigene Private Cloud aufzusetzen.

Ein Tutorial zum Einrichten einer eigenen Private Cloud mit der Ubuntu Enterprise Cloud habe ich gestern HIER veröffentlicht.

Webseite: http://www.ubuntu.com/cloud

Quelle

Mark Hinkle
John Willis