5
www.it-administrator.de August 2011 45 PRAXIS I Workshop eben dem Platzhirschen VMware hat auch das Open Source-Umfeld viele sehr elegante und leistungsstarke Vir- tualisierungswerkzeuge zu Tage gefördert. Die beiden Zugpferde sind hier sicherlich KVM (Kernel-based Virtual Machine) und XEN. Daneben existieren jedoch weitere Lösungen wie beispielsweise VirtualBox, OpenVZ oder auch Linux-Container (LXC). Setzt ein Unternehmen nun un- terschiedliche Technologien ein, bedeutet dies im Umkehrschluss auch den Einsatz unterschiedlicher Management-Tools. Dass dies jedoch nicht zwangsläufig der Fall sein muss, ist spätestens seit Erscheinen des Virtualisierung-Frameworks libvirt be- kannt. Das Framework bringt diverse Trei- ber für den Zugriff auf die unterschied- lichsten Virtualisierungstechnologien von Hause aus mit [1] und gestattet somit ei- nen einheitlichen Zugriff auf virtuelle Maschinen unabhängig davon, auf wel- chem Hypervisor diese laufen. Als Management-Tools stehen für libvirt auf der Kommandozeile virsh und virt- install zum Verwalten und Erzeugen von virtuellen Maschinen-Instanzen zur Ver- fügung und mit virt-manager existiert ein grafisches Frontend. Die Tools müssen dabei nicht zwingend auf dem jeweiligen Hypervisor installiert sein und ein Re- mote-Zugriff ist ohne weiteres möglich. Um die Daten zwischen der Workstation und dem Hypervisor zu übertragen, exis- tieren diverse Möglichkeiten: So lässt sich beispielsweise der IP-Traffic sowohl über eine ungesicherte wie auch mit TLS ge- schützte TCP-Verbindung übertragen. Auch der Einsatz eines SSH-Tunnels ist von Haus aus denkbar. Eine Authentifi- zierung erfolgt wahlweise mittels eines passenden SASL-Plug-Ins, beispielsweise Kerberos oder aber auch mit Hilfe von X.509-Zertifikaten. N Administration virtualisierter Infrastrukturen mit Archipel Inselverwaltung von Thorsten Scherf Virtuelle Maschinen-Instanzen laufen heutzutage auf einer Vielzahl unterschiedlicher Hypervisor-Systeme. Ein einheitliches Management-Tool ist notwendig, um den Zoo an virtuellen Systemen und deren Hosts im Überblick zu behalten und entsprechend zu verwalten. Mit Archipel steht nun ein recht neues Tool dieser Gattung zur Verfügung, das durch seine administrationsfreundliche Oberfläche besticht. Dieser Workshop stellt die Fähigkeiten des Management-Werkzeugs vor und zeigt dessen Inbetriebnahme. Bild 1: Bei Archipel kommen diverse OpenSource-Komponenten zum Einsatz. Die zentrale Rolle spielt dabei ein XMPP-Server, der für die Echtzeit-Kommunikation zwischen den einzelnen Komponenten verantwortlich ist. Archipel Agent Physical Hypervisor Physikalische Architektur Archipel Agent Physical Hypervisor Archipel Agent XMPP Server XMPP XMPP (bosh) HTTP / HTTPS EJabberd User computer Safari / Webkit User computer Safari / Webkit User computer Safari / Webkit HTTP Server Archipel GUI Physical Hypervisor Archipel Agent Physical Hypervisor Quelle: pixelio.de

Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

  • Upload
    vanhanh

  • View
    220

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

www.it-administrator.de August 2011 45

P R A X I S I W o r k s h o p

eben dem Platzhirschen VMwarehat auch das Open Source-Umfeld

viele sehr elegante und leistungsstarke Vir-tualisierungswerkzeuge zu Tage gefördert.Die beiden Zugpferde sind hier sicherlichKVM (Kernel-based Virtual Machine) undXEN. Daneben existieren jedoch weitereLösungen wie beispielsweise VirtualBox,OpenVZ oder auch Linux-Container(LXC). Setzt ein Unternehmen nun un-terschiedliche Technologien ein, bedeutetdies im Umkehrschluss auch den Einsatzunterschiedlicher Management-Tools.Dass dies jedoch nicht zwangsläufig derFall sein muss, ist spätestens seit Erscheinendes Virtualisierung-Frameworks libvirt be-kannt. Das Framework bringt diverse Trei-ber für den Zugriff auf die unterschied-lichsten Virtualisierungstechnologien vonHause aus mit [1] und gestattet somit ei-nen einheitlichen Zugriff auf virtuelleMaschinen unabhängig davon, auf wel-chem Hypervisor diese laufen.

Als Management-Tools stehen für libvirtauf der Kommandozeile virsh und virt-install zum Verwalten und Erzeugen vonvirtuellen Maschinen-Instanzen zur Ver-fügung und mit virt-manager existiertein grafisches Frontend. Die Tools müssendabei nicht zwingend auf dem jeweiligenHypervisor installiert sein und ein Re-mote-Zugriff ist ohne weiteres möglich.Um die Daten zwischen der Workstationund dem Hypervisor zu übertragen, exis-tieren diverse Möglichkeiten: So lässt sichbeispielsweise der IP-Traffic sowohl über

eine ungesicherte wie auch mit TLS ge-schützte TCP-Verbindung übertragen.Auch der Einsatz eines SSH-Tunnels istvon Haus aus denkbar. Eine Authentifi-

zierung erfolgt wahlweise mittels einespassenden SASL-Plug-Ins, beispielsweiseKerberos oder aber auch mit Hilfe vonX.509-Zertifikaten.

N

Administration virtualisierter Infrastrukturen mit Archipel

Inselverwaltungvon Thorsten Scherf

Virtuelle Maschinen-Instanzen laufen heutzutage auf einer Vielzahl unterschiedlicher Hypervisor-Systeme. Ein einheitliches Management-Tool ist notwendig, um den Zoo an virtuellen Systemen und deren Hosts im Überblick zu behalten und entsprechend zu verwalten. Mit Archipel steht nun ein recht neues Tool dieser Gattung zur Verfügung, das durch seine administrationsfreundliche Oberfläche besticht. Dieser Workshop stellt die Fähigkeiten des Management-Werkzeugs vor und zeigt dessen Inbetriebnahme.

Bild 1: Bei Archipel kommen diverse OpenSource-Komponenten zum Einsatz. Die zentrale Rolle spielt dabei ein XMPP-Server, der für die Echtzeit-Kommunikation zwischen den einzelnen Komponenten verantwortlich ist.

Archipel Agent

Physical Hypervisor

Physikalische Architektur

Archipel Agent

Physical Hypervisor

Archipel Agent

XMPP Server

XMPP

XMPP (bosh) HTTP / HTTPS

EJabberd

User computer

Safari / Webkit

User computer

Safari / Webkit

User computer

Safari / Webkit

HTTP Server

Archipel GUI

Physical Hypervisor

Archipel Agent

Physical Hypervisor

Quelle: pixelio.de

Page 2: Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

46 August 2011 Alle Listings zum Download auf www.it-administrator.de

P R A X I S I W o r k s h o p

Dank der großen Flexibilität von libvirtkommt es in diversen anderen Virtualisie-rungs-Projekten zum Einsatz, so beispiels-weise in oVirt [2] oder aber auch in Archipel[3]. Archipel ersetzt dabei die etwas ange-staubte GTK+-Oberfläche des virt-mana-gers durch eine schicke und modere Cap-puccino-basierte Oberfläche und fügtweitere Features, die beispielsweise virt-ma-nager nicht besitzt, hinzu. Dank des JavaS-cript-basierten Frameworks, erfolgt der Zu-griff auf Archipel über nahezu jedenbeliebigen Webbrowser – eine zusätzlicheAnwendung oder eine lokale libvirt-Instal-lation sind dabei nicht notwendig.

XMPP-Server als zentrale Architektur-KomponenteArchipel besteht aus mehreren Kompo-nenten die untereinander über das bekann-te XMPP-Protokoll (ehemals Jabber) kom-munizieren. Die Zustellung von Nach-richten findet somit nahezu in Echtzeitstatt. Zentrale Komponente der gesamtenArchitekur ist ein XMPP-Server der alseine Art Nachrichtenzentrale agiert. DieArchipel-Entwickler empfehlen den Ein-satz des ejabberd-Servers, jedoch sollteauch jeder andere XMPP-Server funktio-nieren. Die ejabberd-Software ist Bestand-teil sämtlicher Linux-Distributionen undlässt sich somit recht einfach über den je-weiligen Paket-Manager installieren.

Über die Download-Seite von Archipel [4]stehen dann die beiden Komponenten Ar-chipel-Agent und Archipel-Client zur Ver-fügung. Beim Agent handel es sich um die

Komponente, die auf jedem Hypervisor-System zu installieren ist und als eine ArtBindeglied zwischen dem XMPP-Serverund dem libvirt-Framework des Hypervi-sors dient. Der Agent selbst kommuniziertgar nicht mit dem Hypervisor sondernüberlässt diese Aufgabe libvirt. Somit ist einZugriff auf sämtliche Hypervisoren mög-lich, die libvirt unterstützt. Der Archipel-Client ist dabei die Komponente, die –meistens zusammen mit dem XMPP-Ser-ver – auf einem zentralen Management-Server läuft und die jedem zugreifendenClient eine hübsche Weboberfläche prä-sentiert. Der komplette Client ist dabei inJavascript geschrieben und basiert auf demStrophe.js-Framework. Archipel erzeugtzur Weiterverarbeitung Cappuchino-Ob-jekte. Diese lassen sich dann mit nahezujedem beliebigen Javascript fähigen Web-brower abrufen. Bild 1 zeigt die Architekturdes Archipel-Frameworks.

InstallationKommt der ejabberd-Server als XMPP-Komponente zum Einsatz, so ist darauf zuachten, dass dieser die beiden Module“mod_admin_extra” und “ejabberd_xmlrpc” enthält. Ist dies nicht der Fall, müs-sen Sie diese manuell nachliefern. Hierzuverwenden Sie die Sourcen der ejabberd-Module und das Erlang-XMLRPC-Archivund übersetzen diese. Unter Umständensind noch die Dateisystem-Pfade im Ma-kefile anzupassen, dies hängt von der ein-gesetzten Linux-Distribution ab. Die resul-tierenden beam-Dateien gehören dann indas ebin-Verzeichnis des ejabberd-Servers(Listing 1 und Listing 2).

Hat dies soweit funktioniert, müssen Sieschließlich noch die Konfigurationsdateides XMPP-Servers anpassen. Hierbei han-delt es sich um die Datei /etc/ejabberd/ejab-berd.cfg. Wichtig ist hierbei, dass Sie denlokalen Rechnernamen und die zusätzlichinstallierten ejabberd-Module korrekt an-geben. Listing 3 zeigt eine beispielhafteKonfiguration (die ejabberd Default-Kon-figuration wollte in unserem Praxis-Testnicht mit Archipel zusammenarbeiten).

Der Aufruf von /etc/init.d/ejabberd start ak-tiviert schließlich den Server. Sollten Fehlerauftreten, so finden Sie die entsprechendenLogeinträge in der Datei /var/log/ejabberd/

cd /usr/local/src

wget http://ejabberd.jabber.ru/files/

contributions/xmlrpc-1.13-ipr2.tgz

tar -xzf xmlrpc-1.13-ipr2.tgz

cd xmlrpc-1.13/src

make

cp - a ebin/*.beam /usr/lib/ejabberd/ebin/

Listing 1: Installation des ejabberd_xmlrpc Moduls

cd /usr/local/src

svn checkout http://svn.process-one.net/

ejabberd-modules/

cd mod_admin_extra/trunk/

./build.sh

cp ebin/mod_admin_extra.beam

/usr/lib/ejabberd/ebin/

Listing 2: Installation des ejabberd_xmlrpc Moduls

# /etc/ejabberd/ejabberd.cfg

{loglevel, 4}.

{hosts, [“rawhide.tuxgeek.de”,”tuxgeek.de”,

”localhost”]}.

{listen,

[

{5222, ejabberd_c2s, [

{access, c2s},

{shaper, c2s_shaper},

{max_stanza_size, 65536}

]},

{5269, ejabberd_s2s_in, [

{shaper, s2s_shaper},

{max_stanza_size, 131072}

]},

{5280, ejabberd_http, [

captcha,

http_bind,

http_poll,

web_admin

]}

]}.

{auth_method, internal}.

{shaper, normal, {maxrate, 1000}}.

{shaper, fast, {maxrate, 50000}}.

{max_fsm_queue, 1000}.

{acl, local, {user_regexp, “”}}.

{access, max_user_sessions, [{10, all}]}.

{access, max_user_offline_messages, [{5000,

admin}, {100, all}]}.

{access, local, [{allow, local}]}.

{access, c2s, [{deny, blocked},

{allow, all}]}.

{access, c2s_shaper, [{none, admin},

{normal, all}]}.

{access, s2s_shaper, [{fast, all}]}.

{access, announce, [{allow, admin}]}.

{access, configure, [{allow, admin}]}.

{access, muc_admin, [{allow, admin}]}.

{access, muc_create, [{allow, local}]}.

{access, muc, [{allow, all}]}.

{access, pubsub_createnode, [{allow, local}]}.

{access, register, [{allow, all}]}.

{language, “en”}.

{modules,

[

{mod_adhoc, []},

{mod_caps, []},

{mod_disco, []},

{mod_irc, []},

{mod_http_bind, []},

{mod_last, []},

{mod_muc, [

{access, muc},

{access_create, muc_create},

{access_persistent, muc_create},

{access_admin, muc_admin}

]},

{mod_offline, [{access_max_user_messages,

max_user_offline_messages}]},

{mod_ping, []},

{mod_privacy, []},

{mod_private, []},

{mod_pubsub, [

{access_createnode, pubsub_createnode},

{last_item_cache, false},

]},

{mod_register, [

{welcome_message, {“Welcome!”,

“Hi.\nWelcome to this XMPP

server.”}},

{ip_access, [{allow, “127.0.0.0/8”},

{deny, “0.0.0.0/0”}]},

{access, register}

]},

{mod_roster, []},

{mod_shared_roster,[]},

{mod_stats, []},

{mod_time, []},

{mod_vcard, []},

{mod_version, []}

]}.

Listing 3: Die Konfigurationsdateides XMPP-Servers

Page 3: Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

www.it-administrator.de August 2011 47

P R A X I S I W o r k s h o p

ejabberd.log. Um die Installation des Serversabzuschließen legen Sie noch ein entspre-chendes admin-Konto an:

# ejabberdctl register admin

{rawhide.tuxgeek.de} {password}

Den Rechnername und das Passwort pas-sen Sie dabei natürlich entsprechend an.

Die Archipel-Client-Installation gestaltetsich um einiges einfacher. Hier laden Sielediglich die gewünschte Version [4] he-runter und entpacken diese in ein belie-biges Verzeichnis. Wichtig ist, dass derWebserver Zugriff auf dieses Verzeichniserhält. Sollte auf dem Management-Sys-tem ein aktiviertes SELinux zum Einsatzkommen, so ist nach dem Entpacken desClient-Archives zwingend der richtigeSELinux Context auf den Ordner zu set-zen, ansonsten kann der Webserver nichtauf die Dateien zugreifen und erzeugt ei-ne Vielzahl von AVC-Deny-Meldungen.Den richtigen SELinux Context setzenSie wie folgt:

# chcon -R -t public_content_r

/var/www/html/Archipel/

Hiermit ist die Installation des Manage-ment-Servers beendet. Ein Zugriff mittelseines Webbrowsers sollte zu diesem Zeit-punkt bereits möglich sein. Hierzu bauenSie einfach eine HTTP-Verbindung zumManagement-Server auf. Das Archipel-Client-Installationsverzeichnis geben Siedabei in der URL an – also beispielsweisehttp://rawhide.tuxgeek.de/Archipel/ für eineInstallation des Clients auf dem Rechner

“rawhide.tuxgeek.de” im Verzeichnis“/var/www/html/”. Das DocumentRootdes Webservers kann hier natürlich auchwieder zwischen den einzelnen Linux-Distributionen variieren. Alle in diesemArtikel vorgestellten Beispiele basieren aufeiner Fedora 15-Installation. Zur Anmel-dung am Archipel-Management-Systemgeben Sie den oben erzeugten Admin-Account an. Wichtig dabei ist, dass Sie denAccount mit Domänenname verwenden,also beispielsweise [email protected]. AlsBoch-Server nutzen Sie die URL http://Management-Server:5280/http-bind/.

Einbindung der HypervisorenEin Log-In in das System ist zu diesemZeitpunkt jedoch noch nicht sehr hilf-reich, da natürlich noch die Hypervisor-Systeme fehlen. Ohne diese Systeme lassensich natürlich auch keine virtuellen Ma-schinen erzeugen. Für den Betrieb einesHypervisors kommt üblicher weise eben-falls ein Linux mit libvirt-Installation zumEinsatz. Der gewünschte Hypervisor istdann entsprechend hinzuzufügen, also bei-spielsweise XEN, KVM, QEMU oderLXC. Die einzelnen Abhängigkeiten sollteder Paket-Manager der eingesetzten Li-nux-Distribution selbstständig auflösen.So benötigt ein KVM beispielsweise einQEMU als Hardware-Emulator sowie ei-nige weitere Python-Tools.

Auf diesem System ist nun der Archipel-Agent als eine Art Proxy zwischen demXMPP-Server und der lokalen libvirt-In-stallation zu installieren. Auch hier gehtdie Installation recht einfach vonstatten:Je nach Vorliebe und Experimentierfreude

nutzen Sie entweder den letzten Night-lyBuild oder den letzten StableBuild [4].Noch einfacher gelingt die Installationüber den zentralen Python Package Index(PyPi) – dies setzt jedoch eine Internet-Verbindung und das Paket python-setup-tools auf den Hypervisor-Systemen vo-raus. Über den Aufruf von easy_installarchipel-agent installieren Sie dann den Ar-chipel-Agent auf dem lokalen System.

In der Konfigurationsdatei /etc/archipel/ar-chipel.conf müssen Sie wieder darauf ach-ten, dass der richtige Rechnername fürden lokalen Hypervisor und den zentralenXMPP-Server zum Einsatz kommen.Auch das zuvor eingerichtete admin-Kon-to des XMPP-Servers geben Sie in derDatei an. Für das Berechtigungs- und Tag-ging-System auf dem XMPP-Server rich-ten Sie noch zwei PubSub-Nodes ein.Dies geschieht auf dem Hypervisor-Sys-temen durch den Aufruf von:

# archipel-tagnode —jid=admin@xmpp-

server —password=password —create

# archipel-rolesnode

—jid=admin@xmpp-server

—password=password —create

Ein /etc/init.d/archipel startet schließlichden Agent-Dienst. Mögliche Fehlermel-dungen finden Sie der Logdatei /var/log/archipel/archipel.log.

Hypervisor-ManagementNachdem die Installation sämtlicher Ar-chipel-Komponenten abgeschlossen ist, be-steht die nächste Aufgabe darin, die Hy-pervisor-Systeme auf dem Management-Node bekannt zu machen. Da bei Archipelalles ein XMPP-Objekt (oder Jabber- Ob-jekt) ist, sind natürlich auch die Hypervi-soren so zu behandeln, indem diese als re-guläre XMPP-Kontakte dem Manage-

Bild 2: Nach der Installation des Management-Systems steht dieses für erste Zugriffe bereit

Bild 3: Hypervisor-Systeme werden in Archipel als reguläre XMPP-Kontakte behandelt

Page 4: Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

48 August 2011 www.it-administrator.de

P R A X I S I W o r k s h o p

ment-System hinzugefügt werden. Nachdem Login klicken Sie dazu in der linkenunteren Ecke auf das “+”-Zeichen um denersten Hypervisor hinzuzufügen. Als JIT-Name verwenden Sie hier Hypervisor@hypervisor-fqdn (also etwa [email protected]), zusätzlich ist die Angabeeines Alias-Namens möglich. Durch einenKlick auf das Symbol “New VM” in derIcon-Leiste erzeugen Sie eine neue virtu-elle Maschine. Hierzu definieren Sie allenotwendigen Eigenschaften entsprechend,also beispielsweise die Größe der virtuellenDisk, der Arbeitsspeicher, Boot-Mediumund Netzwerkkonfiguration. Libvirt stelltstandardmäßig ein NAT-Gerät zur Konfi-guration zur Verfügung, aber natürlich be-steht auch die Möglichkeit, eine Bridgeeinzurichten, sodass Sie die virtuellen Gästedirekt erreichen können.

Zur eigentlichen Installation des Betriebs-systems kommt üblicher Weise eine vir-tuelle CD zum Einsatz, oft in Form einerImage-Datei. Diese sucht Archipel im Ver-zeichnis “/vm/iso/”. Das Verzeichnis“/vm” sollte deshalb allen Hypervisor-Systemen zur Verfügung stehen. Dies istauch deshalb notwendig, da im Verzeichnis“/vm/drives/” die Speicher-Backends dervirtuellen Systeme liegen, bei einer Live-Migration zwischen zwei Hypervisor-Sys-temen müssen diese natürlich Zugriff hie-rauf haben.

Sollten die hinzugefügten Hypervisor-Systeme bereits über virtuelle System-

Instanzen verfügen, so erkennt Archipeldiese leider nicht automatisch. Glückli-cherweise bringt es aber ein Import-Tool für diese Aufgabe mit. Dieses be-nötigt zum einen die Deskriptor-Dateider SQLite-Datenbank des Hypervisors(üblicher weise /var/ lib/archipel/hyper-visor.sqlite3) und zum anderen die UU-IDs der zu importierenden virtuellenSysteme. Diese ermitteln Sie durch eineeinfache libvirt-Abfrage. Mittels virshdumpxml {VMName} präsentiert libvirtsämtliche Konfigurationsdaten der an-gegebenen VM. Da an dieser Stelle je-doch nur die uuid interessant ist, filtertgrep diese entsprechend heraus:

# virsh dumpxml webserver01|grep -i

uuid

<uuid>7f0bbaae-8ac2-11e0-be38-

00216ab8187e</uuid>

Nach einem Stop des Archipel-Diensteslässt sich die gewünschte VM nun in dieArchipel-Datenbank importieren undtaucht danach, neben dem Hypervisor, alsregulärer XMPP-Kontakt in der Archi-pel-Weboberfläche auf:

# /etc/init.d/archipel stop

* Stopping Archipel: [OK]

# archipel-importvirtualmachine

—file /var/lib/archipel/hypervi-

sor.sqlite3 \

—uuid 7f0bbaae-8ac2-11e0-be38-

00216ab8187e —

xmppserver=rawhide.tuxgeek.de \

—name webserver01

SUCCESS: Virtual machine webserver01

has been inserted with JID \

7f0bbaae-8ac2-11e0-be38-

[email protected]

# /etc/init.d/archipel start

* Starting Archipel: [OK]

Da als Echtzeit-Protokoll zwischen allenbeteil igten Archipel-Objekten dasXMPP-Protokoll zum Einsatz kommt(Bild 6), lässt sich jeder XMPP-fähigeIM-Client zur Kommunikation mit deneinzelnen Objekten verwenden. Bild 7zeigt ein Beispiel mit einem konfigurier-ten Empathy-Client, der hier einfacheStatus-Abfragen an die VM “webser-ver01” sendet. Das Tool vnc-viewer stelltschließlich eine Verbindung zum VNC-Server des Hypervisors her, um so einengrafischen Zugriff auf die virtuelle Ma-schine zu bekommen. Beide Funktionen,also VNC-Viewer und Chat-Client, sindjedoch auch im Archipel-Client selbstintegriert. Besonders der Javascript-ba-

Bild 5: Nach erfolgreichem Import der virtuellen Maschine lassen sich sämtliche Eigenschaften nun über Archipel definieren

Bild 4: Als JIT-Name ist zwingend der String “Hypervisor” gefolgt vom Domänennamen zu verwenden

Page 5: Administration virtualisierter Infrastrukturen mit Archipel …people.redhat.com/tscherf/articles/itadm_archipel.pdf · XMPP-Server, der für die Echtzeit-Kommunikation zwischen den

Link-Codes eingeben auf www.it-administrator.de August 2011 49

P R A X I S I W o r k s h o p

sierte VNC-Viewer innerhalb des Web-browsers sieht sehr schick aus.

Der integrierte IM-Client ist dabei nichtnur in der Lage, mit dem internen XMPP-Server zu sprechen, sondern unterstütztauch externe Server. Dies kann recht hilf-reich sein, falls Sie einmal einen Ratschlagder Archipel-Entwickler benötigen, die im-mer hilfsbereit Fragen auf dem IRC Freen-node Kanal #archipel beantworten.

Zusätzliche FeaturesNeben dieser netten Spielerei bietet Ar-chipel natürlich auch Funktionen wie das

Clustering der Umgebung. Leider beziehtsich dieser Punkt bisher lediglich auf denXMPP-Server, die Hypervisor-Systemebilden somit aktuell noch einen Single-Point-of-Failure, der sich aber durch denEinsatz weiterer Tools, wie beispielsweiseder Red Hat Cluster Suite, beheben lässt.VMCasts erlauben es dem Administrator,vorgefertigte Appliances zu erstellen undzu konfigurieren. Diese stellt Archipeldann über RSS-Feeds den Hypervisorenzum Download zur Verfügung. Dies, undauch der Einsatz von Templates, beschleu-nigt das Bereitstellen von virtuellen Ma-schinen enorm.

Über eine eingebaute Google Maps-Kar-te lassen sich die Archipel-Objekte geo-graphisch positionieren. Eine Migrationvon Objekten soll dann auch über dasVerschieben auf der Landkarte möglichsein, in der aktuellen Version hat dieseFunktion aber leider noch nicht funk-tioniert. Ein weiteres nützliches Featurevon Archipel ist die Möglichkeit, ein ein-zelnes oder auch mehrere Kommandosan eine Vielzahl von Systemen abzuset-zen. Diese lassen sich nämlich in be-stimmte Gruppen eingliedern, etwa indie Gruppe Webserver. Kommandos, wiebeispielsweise das Starten, Stoppen odereine Migration, lassen dann auf sämtlicheObjekte dieser Gruppe anwenden.

FazitAbschließend lässt sich festhalten, dassArchipel ein interessantes Tool ist, wennes um die Verwaltung von vielen virtu-ellen Maschinen und deren Hypervisor-Systemen geht. Die schicke und anspre-chende Weboberfläche bietet keines deranderen Tools, die in dieser Liga spielen.Auf der anderen Seite hat Archipel nocheinige technische Mängel und bestimm-te Funktionen sind noch nicht imple-mentiert. Auch fehlende Software-Paketeund die mangelhafte Dokumentationmachen die Installation und den Betriebdes Frameworks nicht unbedingt einfa-cher. Schließlich muss sich der verant-wortliche Administrator fragen, ob diegenannten Features einen zusätzlichenKomplexitätslevel durch den Einsatz vonArchipel rechtfertigen. Die meistengrundlegenden Funktionen, die Archipelbietet, sind bereits von Tools wie virt-manager [5] bekannt. (jp)

[1] libvirt-Projektseite B8P41

[2] oVirt-Projektseite B8P42

[3] Archipel-Projektseite B8P43

[4] Archipel-Download B8P44

[5] virt-manager-Projektseite B8P45

Link-Codes

Bild 6: Alle Archipel-Komponenten kommunizieren über das Protokoll XMPP miteinander...

XMPP Architektur

XMPP Serverr XMPPXMXMPP MPP ServerrXM

XMPP

XMPP (bosh)

User

user1@fqdnArchipelGUI

User

user2@fqdn/Psifqdn

Hypervisor

hypA@fqdn/hostnameB

Virtual machine

vm1@fqdn/hypA

Virtual machine

vm2@fqdn/hypB

Hypervisor

hypA@fqdn/hostnameA

Useradmin@fqdn/

ArchipelGUI

Bild 7: ...dies ermöglicht die Kommunikation mit den einzelnen Komponenten sowie mit einem regulären XMPP-/Jabber-Client, wie beispielsweise Empathy oder Pidgin