Kategorien
Services

IBM Smart Business Systems

Mit den Smart Business Systems stellt IBM integrierte Plattformen für die Servicebereitstellung inkl. Managementfunktionen für Hardware, Speicher, Netze, Virtualisierung und Services bereit, mit denen Lastoptimierte Systeme aufgesetzt werden können.

Zu den aktuellen Angeboten gehören die IBM CloudBurst™ Family (IBM CloudBurst 1.1) und die WebSphere CloudBurst Appliance.

IBM CloudBurst™ Family

Bei der IBM CloudBurst™ handelt es sich um ein IBM Service Management-Paket, mit dem die vorhandene IT-Infrastruktur erweitert werden kann. Dazu zählen Hardware-, Software- und Service-Lösungen für den Einsatz einer Private Cloud.

IBM CloudBurst 1.1

IBM CloudBurst 1.1 bietet auf Basis der IBM BladeCenter®-Plattform bereits vorinstallierte und integrierte Management-Funktionen für die Verwaltung der Hardware, Middleware und vorhandener Applikationen.

Funktionen und Vorteile der IBM CloudBurst 1.1

  • Schnellere Wertschöpfung durch bereits vorinstallierte und vorkonfigurierte Umgebung.
  • Flexibilität auf Basis einer skalierbaren Plattform.
  • Self-Service-Portal zur schnellen Bereitstellung von Cloud-Services.
  • Eine zentrale Schnittstelle zur Verwaltung physischer und virtueller Workloads und Systeme.
  • Verringerung des Ausfalls des Gesamtsystems durch mehrere Redundanzebenen.
  • Steigerung der Energieeffizienz durch die Möglichkeit des aktiven Managements des Stromverbrauchs der BladeCenter.

WebSphere CloudBurst Appliance

Mit der IBM WebSphere CloudBurst Appliance kann auf virtuelle WebSphere-Images zugegriffen werden, um das Erstellen, Implementieren und Management von Anwendungsumgebungen in einer Private Cloud vorzunehmen.

Funktionen und Vorteile der WebSphere CloudBurst Appliance

  • Verringerung der Einrichtung von WebSphere-Umgebungen
  • Vordefinierte Muster und virtuelle Images
  • Überwachung der Nutzung zur Leistungsverrechnung (Abrechnung der tatsächlichen Nutzung) durch Managementberichte

Quelle

  • IBM Smart Business Systems
Kategorien
Grundlagen

Was ist Grid Computing?

Die Charakteristiken von Computercluster sind das Bereitstellen von reiner Rechnerleistung in einem lokalen begrenzten Bereich. Die nächste Herausforderung bestand also darin, die Rechenleistung nicht nur lokal, sondern auch global verfügbar zu machen und neben der Rechenleistung z.B. auch Daten und Applikationen bereitzustellen.

Mitte der 1990er wurde der Begriff des Metacomputing als Möglichkeit zur Erweiterung von Paralleler Datenverarbeitung und Custer Computing eingeführt. Die Idee bestand darin, große Computersysteme über WAN-Leitungen (Wide Area Network) miteinander zu verbinden. Im Jahr 1997 wurden erstmals zwei Supercomputer des High Performance Computing Center Stuttgart (HLRS) und des Pittsburgh Supercomputing Centre (PSC) miteinander verbunden. Trotz der Verfügbarkeit von hohen Bandbreiten innerhalb der nationalen und internationalen Forschungsnetzwerke scheiterte das Experiment auf Grund der Latenz.

Das Metacomputing bezieht sich aber lediglich nur auf Computer (Rechenleistung) im Allgemeinen. Ian Foster und Carl Kesselman stellten im Jahre 1999 ein neues erweitertes Konzept mit dem Namen Grid Computing vor, das neben Computer auch andere Arten von (IT-)Ressourcen wie Software, Datenbanken, Rechenleistung, Speicherplatz oder spezielle Hardware beinhalten und miteiander vernetzen kann. Der Begriff des Grid wird abgeleitet aus dem englischen Wort Electrical Power Grid (Deutsch: Stromnetz), dessen Idee darin besteht, die Ressourcen den Benutzern so zur Verfügung zu stellen, als wenn sie den Strom aus der Steckdose bekommen würden. Dabei verfügt das Grid über standardisierte Schnittstellen, über die der Benutzer seine Anfragen übermitteln kann und ihm die Ressourcen dann automatisiert zugeteilt werden. Die Ressourcen sind dabei über das Internet verteilt und können unterschiedlichen ’virtuellen’ Organisationen angehören. Anhand der Schnittstellen kann der Status der Ressourcen abgefragt und diese direkt angesprochen werden. Ein entscheidender Vorteil liegt darin, dass der geographische Ort an dem sich die Ressource befindet nicht mehr von Bedeutung ist – siehe Graphik. Auf Grund des beliebigen und weltweiten Zugriffs auf Ressourcen über das Internet gilt das Grid als Generalisierung des World Wide Web. Davon abgeleitet steht die Technologie des Grid Computing somit als die Basistechnologie für die Koordination und Verarbeitung organisationsübergreifender Geschäftsprozesse und den gemeinschaftlichen Austausch und die Nutzung von Ressourcen.

Das entscheidende Ziel des Grid Computings bestand also darin, Ressourcen gemeinschaftlich global zu nutzen sowie diese zu koordinieren und darüber hinaus gemeinsam Probleme institutionsübergreifend in dynamischen virtuellen Organisationen zu lösen. Genauer bedeutet dies, dass zu Beginn Formalitäten wie das Abrechnungsschema und die Zugangsrechte geklärt werden und anschließend der Zugriff auf die Ressourcen wie z.B. Rechnerleistung oder Anwendungen für die gemeinschaftliche Nutzung bereitgestellt werden. Der Begriff der virtuellen Organisation beschreibt in diesem Fall eine dynamische Allianz von Organisationen, die ein gemeinsames Interesse während der Nutzung des Grids vertreten.

Arten von Grid Computing

Je nachdem wie die Ressourcen miteinander vernetzt sind und um was für ein Anwendungsszenario es sich handelt, können Grids in unterschiedliche Arten unterteilt werden. Nachfolgend werden fünf unterschiedliche Arten betrachtet.

  • Compute Grids
    Compute Grids werden verwendet um einem Benutzer Rechnerleistung bzw. Rechnerkapazität, die ihm in seiner eigenen Umgebung nicht zur Verfügung stehen, verteilt bereitzustellen. Das Bereitstellen kann hierbei eine derzeit nicht verwendete Ressource – z.B. eine Workstation außerhalb der Geschäftszeiten sein, oder aber auch ein Hochleistungclustersystem.
  • Data Grids
    Data Grids werden eingesetzt um große verteilte Datenmengen gemeinsam zu Nutzen und diese zu verarbeiten. Dabei wird eine sogenannte Data-Federation, eine organisationübergreifende Sicht auf alle Daten, die beispielsweise einem Projekt zugewiesen sind, definiert. Bei so einer Data-Federation handelt es sich um ein dezentral verwaltetes System, bei dem derjenige, der die Daten in dieser Umgebung zur Verfügung stellt auch die uneingeschränkte Kontrolle über diese Daten behält.
  • Application Grids
    Application Grids waren der erste Ansatz um virtuelle Organisationen zu etablieren und damit die organisationsübergreifende gemeinsame Nutzung von Ressourcen voranzutreiben. Die Betreiber der Grids sollten dadurch eine höhere Auslastung und die Benutzer ein besseres Angebot erfahren. Themen, die innerhalb dieses Grids auftreten, sind sichere und schnelle Datenverbindungen, Authentifikationen, Authorisierungen und Single-Sign-On sowie Accounting und Abbrechnungsmöglichkeiten.
  • Resource Grids
    Resource Grids sind die Erweiterung der Application Grids. Diese definieren ein Rollenmodell, in dem eindeutig zwischen einem Grid Benutzer, einem Grid Provider und einem Resource Provider unterschieden wird. Die Hierarchie ist logisch geordnert. Ein Grid Benutzer verwendet die Grid Infrastruktur des Grid Provider um die dort vorhandenen Ressourcen des Resource Providers zu nutzen. Für den Grid Benutzer unterscheidet sich die Funktionalität des Application- und des Resource Grids nicht. Das Konzept der beiden hat aber einen gravierenden Unterschied. Application Grids werden vertikal integriert, was bedeutet dass der Bedarf an Fremdleistungen sehr gering gehalten wird und die Komponenten individuell hinzugefügt werden. Dagegen müssen bei einem Resource Grid alle Schnittstellen definiert und offen gelegt werden, da jeder Ressource Provider über die Spezifikation der Grid Infrastruktur des Grid Providers informiert sein muss um dort ggf. seine Ressourcen anbieten zu können.
  • Service Grids
    Ein Service Grid verbindet das Konzept der Serviceorientierung mit der Technik der Resource Grids. Ein Service wird in diesem Zusammenhang als ein Bündel von mehreren Komponenten betrachtet, von dem jede einzelne Komponente wiederum als Utility von einem anderen Resource Provider zur Verfügung gestellt wird. In dieser Form des Grids existiert eine übergeordnete Form des Grid Providers, der so genannte Grid Service Provider, der im direkten Kontakt mit den Grid Benutzern steht und ihnen einen Komplettservice anbietet. Das bedeutet, dass der Grid Benutzer nicht darüber informiert ist, welcher Resource Provider ihm welche Ressource bereitstellt.
Kategorien
Management

Thin Clients

IT-Abteilungen leben neben einem erhöhten Kostendruck zusätzlich mit den Problemen der Sicherheit und der Aufrechterhaltung des IT-Betriebs.

Der in den letzten Jahren immer mal wieder aktuell gewordene und dann wieder verblasste Ansatz der Thin Client Nutzung kann der IT helfen diese Probleme zu bewältigen, verfügen Thin Clients doch gegenüber den klassischen Desktop PCs über einige Vorteile.

Zunächst sind Thin Clients – wie der Name schon andeutet – sehr einfach und weniger komplex als Desktop PCs. Das liegt zum einen an den geringeren und funktional beschränkten Hardwareressourcen, zum anderen an der eingesetzten Software. Die benötigte Software wird serverseitig betrieben, wodurch ein lokales „vollwertiges“ Betriebssystem nicht benötigt wird. Diese beiden Kernpunkte sorgen dafür, das Thin Clients weniger sensibel bzgl. Fehler und Angriffe sind.

Von Desktop PCs wird heutzutage erwartet, dass sie 24/7 funktionsfähig sind. Dabei wird jedoch nicht bedacht, das nicht vorhersehbare Situationen, wie Hackerangriffe, der Ausfall der Hardware oder ganz einfach Benutzer dafür verantwortlich sind, das dem nicht so ist und niemand diese Erwartungen gewährleisten kann.

Speziell die Einflussnahme der Benutzer auf die Systemkonfiguration erhöht auf Thin Clients, durch das Beschränken oder vollständige entziehen der Rechte, die Systemstabilität und schützt den Benutzer und das gesamte Unternehmensnetzwerk vor Angriffen durch Viren, Würmer und jeglicher Form von Malware. Weiterhin wird die Stabilität und der Schutz erhöht, da Thin Clients ihre Anwendungen von einem oder mehreren zentralen Servern beziehen und nicht mehr – wie Desktop PCs – auf lokale Anwendungen und ein vollwertiges lokales Betriebssystem angewiesen sind.

Trotz hinreichender Anordnung speichern Benutzer ihre Daten generell auf der lokalen Festplatte und nicht wie gefordert auf die dafür vorgesehenen Netzlaufwerke, also auf den zentralen Servern. Nicht selten hört man von Fehlern der Festplatte die dazu führen, dass die Arbeit eines Tages in kurzer Zeit hinfällig war und erneut erledigt werden muss. Der Diebstahl der Daten sollte auch hier nicht außer acht gelassen werden. Auf der anderen Seite sind Benutzer in diesem Fall für Backups selber zuständig, was verständlicherweise gerne mal vergessen wird. Da Thin Clients über keine lokalen Daten verfügen, sind damit alle oben genannten Probleme hinfällig. Das Speichern der Daten erfolgt auf zentralen Servern, wo von ihnen jeden Tag automatisiert ein Backup vorgenommen wird. Dazu kommt, dass wenn keine lokalen Daten vorhanden sind, diese auch nicht gestohlen werden können. Zudem reicht es aus, Desktop-Firewall Konzepte serverseitig einzurichten, wodurch der Administrationsaufwand verringert wird.

Der letzte Themenbereiche behandelt die physikalische Sicherheit der Systeme. Werden Desktop PCs gestohlen, ist der Angreifer im schlimmsten Fall im Besitz unternehmenskritischer Daten (Festplattenverschlüsselung hin oder her). Thin Clients hingegen werden erst dann sinnvoll, wenn sie mit einem Server des Unternehmensnetzwerks verbunden sind und haben außerhalb des Unternehmens für den Angreifer keinen Nutzen. Auch der Diebstahl der Daten durch den Anschluss externer Geräte wie USB-Sticks oder USB-Festplatten oder das Übertragen von Viren etc. durch CDs stellt ein nicht zu verkennendes Problem dar. Der Zugriff kann bei Desktop PCs natürlich unterbunden werden. Das physikalische entfernen stellt sich jedoch als ziemlich schwierig und aufwendig dar. Fällt die Entscheidung daher auf Thin Clients, sollte mit den Gedanken gespielt werden sich gegen physikalische vorhandene USB-Ports und CD/DVD Laufwerke zu entscheiden.

All die oben beschriebenen Probleme der Desktop PCs können natürlich durch diverse Softwareangebote behoben werden. Jedoch verursachen diese wiederum Anschaffungs-, Installations- und Wartungskosten. Zudem ist die Verträglichkeit mit vorhandener (spezial)-Software nicht garantiert.

Erweitern wir den Thin Client Gedanken nun um das Thema Cloud Computing ist es durchaus vorstellbar, dass die Infrastruktur für die Terminalserver nun nicht mehr im eigenen Rechenzentrum steht, sondern als Appliance/Image oder einem Terminalserver in einer Cloud z.B. von Amazon, GoGrid oder einem anderen Anbieter gehostet wird. Ein Unternehmen müsste dann lediglich über die Hardwareressourcen (Thin Clients) und eine schnelle Internetverbindung verfügen. Das ist wohlgemerkt natürlich eine sehr abstrakte und ideale Sicht auf das Thema, die noch tiefer durchdrungen werden muss.

Quelle der Graphik

  • NetPoint
Kategorien
Grundlagen

Was ist Cluster Computing?

Handelte es sich bei Supercomputern zu Beginn noch um Systeme mit spezieller Technologie, werden heute in der Regel gängige Servertechnologien eingesetzt. Dabei werden viele einzelne, in der Regel kostengünstige Server zu einem so genannten Servercluster vernetzt, um über die Rechenleistung eines Supercomputers zu verfügen.

Die Grundlagen des Cluster Computing legte Gene Amdahl als Computerarchitekt bei IBM. In seinem 1967 veröffentlichten Paper zum Thema ’Parallel Processing’ stellte er folgende These auf, die auch als Amdahl’s Law bezeichnet wird und als Basis für Multiprozessor sowie Clustercomputer gilt.

Das Gesetz besagt, ’… wie sich der nicht parallelisierbare Anteil eines Programms auf die Gesamtrechenzeit auswirkt …’. Genauer bedeutet dies, dass die Geschwindigkeitszunahme in erster Linie durch den sequentiellen Anteil des Algorithmus beschränkt wird. Das ist darauf zurückzuführen, dass sich die Ausführungszeit nicht durch Parallelisierung verkleinern lässt.

Die ersten Ideen einen Computercluster aufzubauen stammen aus den Zeiten, in denen auch die ersten Computernetzwerke aufgebaut wurden. Der Grundgedanke zum Aufbau solcher Netzwerke bestand darin, Ressourcen in Form von Computersystemen untereinander zu verbinden und damit einen quasi Computercluster aufzubauen. Durch die Einführung der Paket vermittelnden Netzwerke im Jahre 1962 durch die Firma RAND, wurde auf dieser Grundlage 1969 das ARPANET Projekt gegründet. Dieses gilt als das erste Commodity-Netzwerk auf Basis eines Computercluster, in dem vier unterschiedliche Computercenter miteinander verbunden wurden. Jedes dieser vier Computercenter war für sich selbst wieder ein Computercluster, die aber nur autonom arbeiteten. Aus dem ARPANET wurde später das Internet, weshalb das Internet auch als die ’Mutter’ aller Computercluster gilt, aus dem Grund, das quasi alle Computerressourcen inkl. aller bereits bestehenden Cluster zusammengeschlossen werden können.

Ein Computercluster beschreibt also eine meist große Anzahl von einzelnen miteinander vernetzten Computern, die dazu verwendet werden einzelne Teilaufgaben, die zu einer Gesamtaufgabe gehören, parallel zu verarbeiten. Von außen betrachtet wirkt ein Computercluster wie ein einzelnes System. Die jeweiligen Knoten sind dabei untereinander über ein schnelles Netzwerk verbunden. Durch den Aufbau solcher Serverfarmen wird die Rechenkapazität und Verfügbarkeit deutlich gegenüber eines einzigen Computers erhöht. Vor allem die Ausfallsicherheit eines solchen Computercluster ist ein entscheidender Vorteil gegenüber einem einzelnen Computersystem. Fällt innerhalb eines Clusterverbunds ein einzelnes System aus, hat das keinen direkten Einfluss auf alle anderen beteiligten Systeme innerhalb des Clusters. Es wird damit also eine Redundanz erzielt. Computercluster können am besten für die Verarbeitung von Batch-Jobs eingesetzt werden, bei denen viele parallele Teilberechnungen durchgeführt werden. Handelt es sich bei der Verarbeitung jedoch um Teilaufgaben, die im hohen Maße synchronisiert werden müssen, sind Computercluster dafür nicht geeignet, da der Kommunikationsoverhead zwischen den einzelnen Systemen den Performancegewinn, der durch die parallele Verarbeitung entsteht, wieder relativiert.

Der erste kommerziell zu erwerbende Computercluster (ARCnet) wurde im Jahr 1977 von der Firma Datapoint vorgestellt. Mit dem so genannten VAXCluster für ihr
VAX-System hatte die Firma DEC im Jahr 1983 den ersten richtigen Erfolg im Bereich des kommerziellen Clustercomputing.

Arten von Computer Cluster

Das Ziel des Cluster Computing ist die Bereitstellung einer sehr hohen Rechenleistung bzw. einer besonders ausfallsicheren Rechnerumgebung. Von diesen Zielen ausgehend werden verschiedene Arten von Computercluster und dadurch auch deren Einsatzfeld definiert.

Bei Clustersystemen wird grundsätzlich zwischen homogenen und heterogenen Clustern unterschieden. Homogene Cluster zeichnen sich dadurch aus, dass die jeweiligen Computer, die dem Cluster angehören, alle das gleiche Betriebssystem und die gleiche Hardware einsetzen. Computer, die zu einem heterogenen Cluster gehören, dürfen über unterschiedliche Betriebssysteme und Hardware verfügen.

Heutzutage werden drei Arten von Computercluster unterschieden und eingesetzt:

  • Hochverfügbarkeit Cluster
    Hochverfügbarkeit Cluster werden verwendet die Verfügbarkeit zu steigern und für eine bessere Ausfallsicherheit zu sorgen. Aus diesem Grund darf die gesamte Hardware als auch die Software eines solchen Cluster in keinerWeise über einen Single-Point-of-Failure verfügen, da die Definition und der Zweck diesem widersprechen würde. Im Fehlerfall werden die Dienste von dem defekten Host des Cluster auf einen anderen Host automatisch übertragen. Einsatzgebiete solcher Clustersysteme sind Bereiche, in denen eine Ausfallzeit maximal einige Minuten pro Jahr erlaubt. Eine besondere Art von Hochverfügbarkeit Cluster sind die so genannten ’stretched Cluster’. In diesem Fall werden einzelne Hosts eines Cluster räumlich getrennt in verschiedene weit voneinander entfernte Rechenzentren untergebracht. Kommt es in einem der Rechenzentren zu einem nicht vorhersagbaren Problem, können die Hosts des anderen Rechenzentrums vollständig die Aufgaben übernehmen.
  • Load-Balancing Cluster
    Load-Balancing Cluster werden dazu verwendet eine Lastverteilung auf mehrere Computer zu ermöglichen. Aus der Benutzersicht steht ihm nur eine zentrale Einheit gegenüber, die aber logisch gesehen aus mehreren vernetzten Systeme besteht. Um die Leistung des gesamten Cluster zu erhöhen, werden nicht die einzelnen Hosts für sich aufgerüstet, sondern ein zusätzlicher Host dem Cluster hinzugefügt. Einsatzbereiche sind Umgebungen, in denen die Anforderungen an die Rechenleistung extrem hoch sind.
  • High Performance Computing Cluster
    High Performance Computing Cluster werden überwiegend dazu verwendet Berechnungsverfahren durchzuführen, wobei die Berechnungen auf mehrere Hosts verteilt werden. Hierbei werden zwei unterschiedliche Arten der Aufgabenverteilung unterschieden. Eine Möglichkeit besteht darin, die Aufgaben in unterschiedliche Pakete zu verteilen, die dann parallel auf mehreren Hosts ausgeführt werden. Die andere Variante wäre, die Aufgaben auf die einzelnen Hosts direkt zu verteilen. Einsatzgebiete der High Performance Computing Cluster liegen überwiegend in den wissenschaftlichen Bereichen, aber auch die Serverfarmen für das Rendern von 3D-Computergrafiken und Computeranimationen gehören zu dieser Art von Cluster.
Kategorien
Grundlagen

Was sind Supercomputer?

Supercomputer sind Hochleistungsrechner die auf eine sehr hohe Verarbeitungsleistung ausgerichtet sind. Sie verfügen über ein Array von Prozessoren, die auf eine gemeinsame Peripherie und einen gemeinsamen Hauptspeicher zugreifen können. Die Aufgaben werden parallel auf mehrere Prozessoren verteilt und anschließend ebenfalls mit hoher Parallelität abgearbeitet. Da das Array dabei aus mehreren tausend Prozessoren bestehen kann, wird damit die Arbeitsgeschwindigkeit erhöht. Die Rechnerarchitektur eines Supercomputers ist dabei speziell für eine bestimmte Anwendung angepasst, um die höchstmögliche Verarbeitungsgeschwindigkeit zu erreichen.

In den 1970er wurden die ersten Supercomputer von der Firma Cray (benannt nach dem Unternehmensgründer Seymour Cray) hergestellt. Der erste Supercomputer bekam den Namen Cray-1 und verfügte über 250 MegaFLOPS.

Welche Ziele werden mit Supercomputern verfolgt?

Der Wunsch aufwendige Abbildungen der Realwelt (Simulationen) und immer genauere Vorhersagen und aussagekräftige Gesamtergebnisse zu liefern ist in der Vergangenheit drastisch gewachsen. Hinzu kommt, dass Simulationen immer realitätsnaher werden und die beiläufigen Neben- und Randbedingungen zunehmen. Damit u.a. solche umfangreichen und hochparametrigen numerischen Probleme schnell gelöst werden können und immer mehr komplexere Zusammenhänge mit einbezogen werden können, sind Systeme mit extrem schneller und hoher Rechenleistung erforderlich. Für die Lösungen solcher Problemstellungen kommen Supercomputer zum Einsatz. Typischerweise werden Supercomputer heute in den folgenden Bereichen eingesetzt.

  • In der Klimaforschung zur Wettervorhersage.
  • Für die Auswertung hochauflösender bewegter Bilder in Echtzeit.
  • Für den Einsatz in Verteidigungssystemen als Zentrale Einheit.
  • In der Festkörperphysik.
  • In der Weltraumforschung.
  • Zur Berechnung von Filmsequenzen.
  • In den Bereichen der Simulations- und Crashtechnik.

Wie zu erkennen ist, handelt es sich in den Beispielen um Bereiche, in denen komplexe Systeme oder Teilsysteme untereinander stark verbunden sind. Diese Abhängigkeiten führen dazu, das Veränderungen in einem Teilsystem sich in der Regel auch parallel auf alle weiteren vorhanden Systeme auswirken, was eine hohe Rechenleistungen voraussetzt.

Kategorien
Analysen Services

Cloud Computing Technologien im Vergleich

Auf den Devopsdays 09 fand ein Vergleich aktueller Cloud Computing Technologien auf Basis einer Matrix statt. Dabei wurden die Funktionen und Services diverser führender Anbieter/ Technologien einander gegenübergestellt.

Kategorien
Tutorials

Installation einer Private Cloud mit OpenNebula

Dieser Artikel beschreibt das Einrichten einer Private Cloud mit OpenNebula auf Ubuntu. Die Infrastruktur besteht dabei aus drei physikalischen Maschinen. Einem Front-End und zwei Nodes, auf denen die virtuellen Maschinen ausgeführt werden. Auf den Nodes muss zusätzlich eine Bridge konfiguriert werden, damit die virtuellen Maschinen das lokale Netzwerk erreichen können. Für das Einrichten der Brigde siehe den Bereich Bridging.

Installation

Auf dem System für das Front-End installieren wir OpenNebula mit folgendem Befehl:

sudo apt-get install opennebula

Für jeden Node installieren wir den OpenNebula-Node:

sudo apt-get install opennebula-node

Um später die SSH Schlüssel zu kopieren, benötigt der oneadmin (wird von OpenNebula erstellt) ein Passwort. Dazu führen wir auf jeder Maschine folgenden Befehl aus:

sudo passwd oneadmin

Nachfolgend müssen die Namen für node01 und node02 entsprechend der eigenen Installation angepasst werden.

Nun kopieren wir den SSH Schlüssel des oneadmin auf jeden Node und in die Datei authorized_keys des Front-Ends.

sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@node01:/var/lib/one/.ssh/authorized_keys
sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@node02:/var/lib/one/.ssh/authorized_keys
sudo sh -c "cat /var/lib/one/.ssh/id_rsa.pub >> /var/lib/one/.ssh/authorized_keys"

Der SSH Schlüssel jedes Nodes muss in die Liste der bekannten Hosts unter /etc/ssh/ssh_known_hosts auf dem Front-End hinzugefügt werden. Nun muss die SSH Session beendet werden und der SSH Schlüssel von ~/.ssh/known_hosts nach /etc/ssh/ssh_known_hosts kopiert werden.

sudo sh -c "ssh-keygen -f .ssh/known_hosts -F node01 1>> /etc/ssh/ssh_known_hosts"
sudo sh -c "ssh-keygen -f .ssh/known_hosts -F node02 1>> /etc/ssh/ssh_known_hosts"

Diese Schritte erlauben dem oneadmin SCP ohne ein Passwort oder manuellen Eingriff zu nutzen, um eine Image auf den Nodes bereitzustellen.

Auf dem Front-End muss ein Verzeichnis zum Speichern der Images für die virtuellen Maschinen erstellt und dem oneadmin Zugriff auf das Verzeichnis gegeben werden.

sudo mkdir /var/lib/one/images
sudo chown oneadmin /var/lib/one/images/

Nun kann eine virtuelle Maschine in das Verzeichnis /var/lib/one/images kopiert werden.

Eine virtuelle Maschine auf Basis von Ubuntu kann mit dem vmbuilder erstellt werden, siehe dazu JeOS and vmbuilder.

Konfiguration

Der OpenNebula Cluster kann nun konfiguriert werden. Weiterhin können virtuelle Maschinen dem Cluster hinzugefügt werden.

Auf dem Front-End geben wir dazu folgenden Befehl ein:

onehost create node01 im_kvm vmm_kvm tm_ssh
onehost create node02 im_kvm vmm_kvm tm_ssh

Als nächstes erstellen wir eine Template-Datei mit dem Namen vnet01.template für das virtuelle Netzwerk:

NAME = "LAN"
TYPE = RANGED
BRIDGE = br0
NETWORK_SIZE = C
NETWORK_ADDRESS = 192.168.0.0

Die NETWORK_ADDRESS sollte dem eigenen lokalen Netzwerk entsprechen.

Mit dem onevnet Befehl fügen wir das virtuelle Netzwerk OpenNebula hinzu:

onevnet create vnet01.template

Jetzt erstellen wir eine Template-Datei für eine virtuelle Maschine mit dem Namen vm01.template:

NAME = vm01

CPU = 0.5
MEMORY = 512

OS = [ BOOT = hd ]

DISK = [
source = "/var/lib/one/images/vm01.qcow2",
target = "hda",
readonly = "no" ]

NIC = [ NETWORK="LAN" ]

GRAPHICS = [type="vnc",listen="127.0.0.1",port="-1"]

Mit dem Befehl onevm starten wir die virtuelle Maschine:

onevm submit vm01.template

Mit dem Befehl onevm list können wir weitere Informationen über die gestarteten virtuellen Maschinen abfragen. Mit dem Befehl onevm show vm01 erhalten wir detaillierte Informationen zu einer bestimmten virtuellen Maschine.

Quelle

Kategorien
Analysen

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.

Kategorien
Services

OpenECP

Sam Johnston hat mit OpenECP (Open Elastic Computing Platform) einen Fork von Enomalys ECP entwickelt und veröffentlicht, den ich in diesem Artikel vorstelle.

Bei OpenECP handelt es sich um einen Open Source Fork von Enomaly’s Elastic Computing Platform (ECP), welche im November 2009 kommerzialisiert wurde. Der Fork beinhaltetdabei die vollständige ECP und behebt darüber hinaus einige schwerwiegende Sicherheitslücken.

OpenECP ist eine Web basierte Management Plattform für Linux basierte Hypervisor, einschließlich KVM und Xen und kann dafür genutzt werden um Public und Privat Cloud Computing Umgebungen aufzubauen.

OpenECP soll immer frei verfügbar sein, weshalb es unter die Affero General Public License v3 gestellt wurde.

Funktionen

  • Unterstützung von Xen, KVM, Qemu, OpenVZ und Amazon EC2
  • Unterstützung von mehreren OpenECP Server
  • REST Web Service API
  • Ein Dashboard zur Auswertung und Steuerung (Last-Ausgleich)
  • Automatisiertes Deployment von virtuellen Maschinen

Screenshots

OpenECP Cluster Manager

OpenECP Repository

OpenECP User Manager

Quelle

Vielen Dank auch an Andre Westbunk

Kategorien
Services

Enomaly's Elastic Computing Platform

Enomaly’s Elastic Computing Platform (ECP) dient Internet Carriern, Hosting-Providern und deren Kunden dazu, die Stärken von Cloud Computing, wie Flexibilität und Kosteneinsparungen zu nutzen. Mit ECP können vollständige Cloud Computing Plattformen verwaltet und Infrastrukturen on-Demand bereitgestellt werden. Weitere Möglichkeiten bestehen in der dynamischen Versorgung mit Ressourcen und der Skalierung nach Bedarf.

Enomaly’s Elastic Computing Platform bietet folgende Funktionen:

Unbegrenzte Skalierbarkeit
Mit der ECP Architektur können große Cloud Plattformen über mehrere Rechenzentren in unterschiedlichen geographischen Regionen hinweg aufgebaut werden.

Eigene Konfigurationsmöglichkeiten für die optimale Anpassung an das Unternehmen
Unternehmen können, unterstützt durch eine Echtzeit-Überwachung, sowie umfangreichen Befehls- und Kontrollmöglichkeiten, ihre Cloud Infrastrukturen bzgl. Lastspitzen entsprechend anpassen.

Sicherheit trotz mehrerer unterschiedlicher Nutzer auf einer Plattform
Auf Basis von sehr fein granular einstellbaren Zugriffskontrollen kann ein Benutzer den Zugriff auf die Cloud Plattform (für Multi-User) so einstellen, dass nur die jeweils eigenen Ressourcen eingesehen und verwaltet werden können. Darüber hinaus kann ein Anbieter eine unbegrenzte Anzahl von VLANs für jeden Kunden erstellen und damit das Netzwerk zwischen mehreren Kunden so aufteilen und die Teilnetzwerke so isolieren, dass jedem Kunden innerhalb der Cloud die Privatsphäre seiner Daten garantiert wird. Ein Quota System schützt die Cloud gegen den Missbrauch.

Automatisierte Versorgung mit Ressourcen
ECP verfügt über eine Regelbasis zur automatischen Versorgung mit Ressourcen und kann damit den optimalen Standort einer virtuellen Anwendung bestimmen. Dazu stellt ECP sicher, dass ein Node einem optimalen physikalischen als auch virtuellen Standort zugeordnet ist. Weiterhin ist ECP in der Lage, ein offline Image einer virtuellen Maschine zu ändern, um den Speicherplatz, die Vernetzung, den Zustand des Clusters, etc. für schnelle Deployments und Off-Site Migrationen vorzunehmen.

Integration in vorhandene Infrastrukturen
ECP verfügt über eine API, mit der Benutzer die Verwaltung ihrer Cloud Infrastruktur automatisieren können, um z.B. externe SLAs oder andere Systeme für die Verwaltung zu integrieren. Darüber hinaus stellt ECP eine Back-Office API bereit, mit der weitere Systeme zur Ressourcenversorgung und Abbrechnung von (anderen) Anbietern integriert und administrative Aufgaben automatisiert werden können.

Integration von ECP im Rechenzentrum

Quelle