Sonderdruck für openQRM Enterprise

Transcription

Sonderdruck für openQRM Enterprise
8 I 15
Sonderdruck für openQRM Enterprise
Workshop:
VM- und Cloudmanagement
mit OpenQRM
www.it-administrator.de
Workshop VM- und Cloudmanagement mit OpenQRM
Alles im Griff
von Thomas Zeller
Quelle: wrangel – 123RF
iele Unternehmen nutzen neben
der auf Netzwerk, Server, Storage,
Virtualisierung und Clients basierenden
"klassischen" IT-Infrastruktur heute auch
Cloud-Dienste. In einfachen Fällen ist
hier nur der Webserver mit der Unternehmenswebsite zu einem Hoster ausgelagert oder es werden externe IT-Dienste
wie Spam- und Virenerkennung als "Managed Service" angemietet. Doch der
Druck steigt, den Anwendern immer
mehr Dienste mit einer hohen Verfügbarkeit bereitzustellen. Und so werden immer
häufiger interne Dienste wie E-Mail,
SharePoint oder File-Services in externen
Rechenzentren betrieben oder gleich in
die Cloud von Amazon, Google, Microsoft
& Co verlagert. Dabei ist es praktisch
nicht zu vermeiden, dass auch unterschiedliche Technologien, zum Beispiel
für die Virtualisierung, zum Einsatz kommen. So setzen viele Unternehmen intern
vSphere oder Hyper-V ein, während die
Virtualisierung bei Amazon auf Xen basiert. Je mehr Dienste also nach außen
verlagert werden, desto eher muss sich das
Administrationspersonal auch in neue
Technologien und deren Managementwerkzeuge einarbeiten.
V
Genau hier setzen Cloud-Managementsysteme wie OpenQRM an. Es stellt eine
2
Auszug aus IT-Administrator August 2015
Heterogene IT-Infrastrukturen im Datacenter sind seit Jahren auf dem Vormarsch.
Doch mit der zunehmenden Kombination
immer weiterer Technologien und Plattformen wird es schwieriger, für die eingesetzten Dienste einheitliche Servicelevels zu gewährleisten. Zur Bewältigung dieser
Aufgaben stehen mit Cloud-ManagementSystemen ausgereifte Werkzeuge zur Verfügung, etwa openQRM, das es als freie
oder Enterprise-Variante gibt.
webbasierte Open Source Datacenter Management- und Cloud-Plattform dar, mit
deren Hilfe die verschiedenen internen
und externen Technologien abstrahiert
und wieder in ein gemeinsames Management-Werkzeug überführt werden können. Dieses Managementsystem kümmert
sich dann auch gleich um Provisionierung,
Hochverfügbarkeit und Monitoring der
angebotenen Services. OpenQRM definiert sich dabei selbst als Framework und
setzt auf eine offene Plug-in-Architektur.
So wird beispielsweise ein bereits vorhandener Hypervisor wie KVM oder Xen
einfach als einer von mehreren möglichen
"Ressourcen-Provider" eingebunden.
Statt für die einzelnen Aufgaben wie Konfigurationsmanagement und System Monitoring jeweils eigene Werkzeuge bereitzustellen, bindet openQRM bewährte
Open Source Management-Tools wie Nagios, Zabbix und collectd per Plug-in ein.
Dank dieser Plug-in-Architektur ist das
System auch offen für künftige Technologien und kann im Bedarfsfall vom Kunden
sogar selbst angepasst werden. Im Lieferumfang von openQRM Enterprise sind
etwa 50 Plug-ins enthalten (Bild 1). In diesem Workshop stellen wir die Basis-Installation, Konfiguration und Funktionsweise
der openQRM Enterprise-Edition vor.
Die openQRM-Systemarchitektur besteht
aus insgesamt drei Komponenten: Die Basis
bildet die "Datacenter Management und
Cloud Plattform". Dieses Core-Modul stellt
die grundlegenden Funktionen von
openQRM bereit und kommuniziert über
die Plug-in-API mit ebenfalls im lokalen
Netzwerk installierten Datacenter-Ressourcen (Hypervisor, Storage und Netzwerk). Erfreulicherweise bringt openQRM
mit VMware ESX, Citrix XenServer,
KVM, LXC und OpenVZ gleich Unterstützung für fünf Virtualisierungsumgebungen mit. Ein Plug-in für Virtualbox existiert
nach Auskunft der Entwickler ebenfalls,
wird aber derzeit noch an die aktuelle
openQRM-Version angepasst.
Im Bereich Storage kann openQRM mit
LVM, iSCSI, NFS, AOE (ATA over Ethernet) Storage, Sanboot Storage und TMPFS
Storage umgehen. Für die Netzwerkkonfiguration integriert openQRM wichtige
Netzwerkdienste wie DNS, DHCP,TFTP
und Wake-on-Lan. Der mitgelieferte Network-Manager hilft bei der Konfiguration
der erforderlichen Network-Bridges für
diese Dienste.
Der Hybrid Cloud-Connector sorgt für
die Einbindung externer Datacenter-Ressourcen, wie der Amazon Webservices,
www.it-administrator.de
OpenQRM I PRAXIS
sich das System nur einmal anschauen
möchte, kann es problemlos in einer virtuellen Maschine installieren. Erste Evaluationen unter Praxisbedingungen sind
bereits mit einem gut ausgestatteten PC
mit Quad-Core-CPU, 1 GByte RAM,
einer Netzwerkkarte und 20 GByte freiem Festplattenplatz möglich. Als Minimalkonfiguration für eine kleine Produktivumgebung ohne Hochverfügbarkeit
gibt OpenQRM drei physische Systeme
(openQRM-Server, Storage-Host,Virtualisierungs-Host) an.
Bild 1: openQRM kommuniziert über zahlreiche Plug-ins mit internen und externen Datacenter-Kompenenten.
Über 50 Plug-ins werden mitgeliefert und sind sofort einsatzbereit.
Eucalyptus oder OpenStack-Cloud. Dafür
werden die APIs des jeweiligen Anbieters
verwendet, die über die Plug-in-Architektur an openQRM angedockt werden.
Mit dem OpenQRM Cloud-Portal steht
schließlich noch eine Webschnittstelle bereit, über die sich interne oder externe
Anwender IT-Ressourcen nach Bedarf
zusammenstellen können. Bild 2 gibt einen Überblick über die openQRM-Systemarchitektur.
einer eigenen virtuellen Cloud-Währung
"CCU" (= Cloud Computing Unit) mit.
Über eine Anbindung an die Shopsysteme
von Magento und Virtuemart kann die virtuelle Währung bei Bedarf auch in echtes
Geld umgewandelt werden.
Systemvoraussetzungen
und Installation
Die Systemvoraussetzungen hängen stark
vom beabsichtigten Einsatzzweck ab. Wer
Die Empfehlungen für eine Produktivumgebung mit Hochverfügbarkeit umfassen
dann schon sechs (+ n) physische Server
(zwei openQRM-Server, zwei StorageHosts, zwei Virtualisierungs-Hosts). Als Betriebssystem für den openQRM Server
selbst kommt Linux zum Einsatz, der Admin kann zwischen Debian und Ubuntu
wählen. Beide Distributionen bringen alle
erforderlichen Funktionen out of the box
mit. Alternativ bietet OpenQRM aber
auch offizielle Unterstützung für die Enterprise-Versionen von Red Hat und SuSE
sowie für das kostenfreie CentOS.
Bei unserem Test-Setup haben wir uns für
einen physischen Server mit Debian
Wheezy entschieden. Während der De-
Szenarien und Deployment
Die offene Architektur von openQRM
ermöglicht verschiedene Installationsszenarien. Im einfachsten Fall übernimmt
openQRM nur die Verwaltung rein lokaler Ressourcen - also das Management
einer auf eigener Hardware betriebenen
Private Cloud. Dank des Cloud-Connectors lässt sich die Verwaltung im Bedarfsfall aber auch leicht auf externe Ressourcen ausdehnen und bietet dann
Management-Funktionen für die Public
beziehungsweise Hybrid Cloud.
Über das Cloud-Portal kann openQRM
diese Ressourcen mit Hilfe eines fein abgestuften Berechtigungssystems auch Endbenutzern zur Verfügung stellen. Anwender
können sich über ein Web-Interface virtuelle Maschinen und Storage also nach
Bedarf selbst konfigurieren. Für die Abrechnung dieser Ressourcen bringt das CloudPortal ein einfaches Accounting-System mit
www.it-administrator.de
Bild 2: Die Systemarchitektur besteht aus den Core-Komponenten
"Datacenter und Management Plattform", "Plug In API" und "Hybrid Cloud Connector".
Auszug aus IT-Administrator August 2015
3
PRAXIS I OpenQRM
ver. Die Installation ist damit bereits abgeschlossen und Sie werden automatisch
zum Dashboard von openQRM weitergeleitet (Bild 3).
Überblick und erste Schritte
nach der Installation
Sämtliche Arbeiten in openQRM erledigen Sie über das Navigationsmenü auf der
linken Seite. Die Funktionen sind dort in
drei Hauptbereiche untergliedert: Datacenter, Activities und Plug-in Manager.
Bild 3: Das Dashboard von openQRM bietet einen guten Überblick über
die Auslastung der Datacenter-Ressourcen und Zugriff auf alle wichtigen Funktionen.
bian-Installation ist lediglich darauf zu
achten, eine statische IP-Adresse zu vergeben und bei der manuellen Partitionierung folgendes Layout anzulegen:
1. Root-Partition
2. Swap-Partition
3. Dedizierte Partition als Speicherplatz
für die virtuellen Maschinen
Die dedizierte Partition markieren Sie im
Debian-Installer zunächst als "do not use",
sie wird erst später im openQRM-Server
eingebunden. In der Software-Auswahl
des Installers wählen Sie nur den SSH
Server aus und führen nach erfolgreicher
Installation ein Upgrade aller Pakete durch
(apt-get update && apt-get upgrade). Installieren Sie dann Apache mit PHP 5:
openQRM als root durch Eingabe von
./install-openqrm.sh.
Der Installer lädt alle erforderlichen Komponenten im Hintergrund herunter und
richtet eine Grundkonfiguration ein.
Während der Installation werden Sie aufgefordert, ein Root-Passwort für den
MySQL-Server und den Nagios-Administrator zu setzen. Damit openQRM später Benachrichtigungen per E-Mail versenden kann, muss außerdem eine funktionsfähige Postfix-Konfiguration erstellt
werden, was auch später nachgeholt werden kann.
Prüfen Sie anschließend, ob in der Datei
/etc/php5/apache2/php.ini unter der Direktive "disable_functions" PHP-Funktionen für den Apache-Server deaktiviert
wurden. Falls ja, löschen Sie diese. Anschließend starten Sie Apache neu.
Die weitere Einrichtung erfolgt dann bereits über die OpenQRM-GUI im
Browser. Rufen Sie das Web-GUI unter
http://IP-Adresse/openqrm auf, loggen Sie
sich mit dem Benutzernamen/Passwort
"openqrm" ein und bestätigen Sie die
Netzwerkkarte, die openQRM verwenden
soll (in der Regel eth0). Anschließend legt
openQRM die erforderliche MySQL-Datenbank an, dafür wird das während der
Installation gesetzte Root-Passwort für
MySQL benötigt.
Eine Eval-Lizenz beziehungsweise die
Vollversion von openQRM Enterprise
erhalten Sie unter [1]. Entpacken Sie den
Tarball dann im Root-Verzeichnis des
Servers. Nach einem Wechsel in das neue
Verzeichnis openQRM-5.2.3-EnterpriseEdition-Eval starten Sie die Installation von
Zum Abschluss ist noch der Upload einer
gültigen Lizenz zu erledigen. Die Lizenz
besteht aus zwei Teilen: Dem Public-Key
und dem eigentlichen Lizenz-File. Laden
Sie beide Dateien mithilfe der entsprechenden Buttons im Konfigurationsdialog
"Info / Upload License Files" auf den Ser-
apt-get install apache2 libapache2mod-php
4
Auszug aus IT-Administrator August 2015
Im Bereich "Datacenter" werden Ressourcen wie Server, Images und Storage
verwaltet. Der Begriff "Server" repräsentiert dabei keinen Server im klassischen
Wortsinn, sondern beschreibt eher ein
Master-Objekt beziehungsweise einen
Dienst auf der Metaebene, zum Beispiel
"Webserver unter Linux virtualisiert unter
KVM auf Host 1 mit Netzwerk-Konfiguration xy". Diesem Master Objekt werden nun Komponenten wie Images, Kernels, Ressourcen und Storage zugeordnet.
Hintergrund dieser etwas eigenwilligen
Abstraktion ist, dass die Sub-Komponenten eines Servers unter OpenQRM jederzeit austauschbar sein sollen.
Unter "Activities" finden Sie Informationen über den Betriebszustand (Events und
Commands) und Aktivitäten, die der
openQRM-Server gerade ausführt. Über
den Plug-in Manager ("Plug Ins") werden
die Erweiterungen für openQRM instalopenQRM definiert Hochverfügbarkeit auf drei Arten:
1. Hochverfügbarkeit für den openQRM-Server selbst:
Da openQRM mit Standardtechnologien (Dateisystem,
Apache mit PHP, mySQL/postgreSQL) arbeitet, lässt
sich ein HA-System auch mit Linux-Bordmitteln wie linux-ha, pacemaker oder corosync einrichten.
2. Hochverfügbarkeit für Serverobjekte auf dem
openQRM-Server: openQRM stellt ein eigenes Plug-in
bereit, mit dem sich Server-Objekte einfach per Mausklick hochverfügbar machen lassen. Um die Verteilung
auf die vorhandenen Ressourcen kümmert sich
openQRM dann selbst.
3. Hochverfügbarkeit für Applikationen: Auch auf Applikationsebene unterstützt openQRM linux-ha, pacemaker & Co. Für eine einfache Konfiguration hochverfügbarer Applikationen bringt openQRM ein Plug-in für
LCMC (Linux Cluster Management Console) mit.
Hochverfügbarkeit
www.it-administrator.de
OpenQRM I PRAXIS
liert und verwaltet. Für eine bessere Übersicht sortiert openQRM die installierten
Plug-ins nach Kategorien wie "Cloud",
"Deployment", "Monitoring", "Virtualisierung" und so weiter ein.
Sofern Sie den SMTP-Server nicht bereits
während der Installation konfiguriert haben, ist jetzt ein guter Zeitpunkt dafür.
Ein korrekt konfigurierter SMTP-Server
ist Voraussetzung, dass das Plug-in "Event
Mailer" Warnungen, Fehlermeldungen
und andere Events auch per E-Mail an
den Admin versenden kann. Das CloudPortal für die Endbenutzer setzt ebenfalls
auf dem lokalen SMTP-Server auf. Benutzer, die sich über das Self-Service Portal
einen Account generiert haben, erhalten
per E-Mail ein Security Token, mit dem
sie die Registrierung ihres Accounts abschließen können. Sofern Sie bereits einen
Mail- oder Groupware-Server im LAN
aktiv haben, wählen Sie im Postfix-Konfigurationsdialog (dpkg-reconfigure postfix)
einfach "Internet mit Smarthost" und geben dort die IP-Adresse des internen
Mailservers als SMTP-Relay-Server an.
Da openQRM sich selbst als zentrale Verwaltungsinstanz im Netzwerk definiert,
stellt es grundlegende Dienste wie DNS
und DHCP auch selbst bereit. Da diese
Dienste aber im Regelfall in einem LAN
bereits vorhanden sind (zum Beispiel über
ein Active Directory), ist bei der Inbetriebnahme eines openQRM-Servers
durchaus Vorsicht geboten. Um nicht zu
riskieren, dass auf einmal zwei DHCPServer im LAN aktiv sind, die unabhängig
voneinander IP-Adressen des gleichen
Subnetzes im LAN verteilen, sollten Sie
im Zweifelsfall den openQRM-Server
mit einem eigenen VLAN beziehungsweise Subnetz ausstatten.
Sind diese Voraussetzungen erfüllt, passen
Sie mit dem Editor Ihrer Wahl noch den
Domain-Namen OPENQRM_SERVER_DOMAIN="oqnet.org" in der Datei /usr/share/openqrm/plugins/dns/etc/
openqrm-plugin-dns.conf an und installieren
respektive starten dann im Plug-in Manager die Plugins dhcpd, dns und tftpd.
Per Default verteilt der openQRM
DHCP-Server die komplette IP-Range
des lokalen Subnets. Das lässt sich leicht
www.it-administrator.de
ändern, indem Sie den Bereich in der Datei /usr/share/openqrm/plugins/dhcpd/etc/
dhcpd.conf anpassen. OpenQRM stellt in
Kombination mit dem DHCP-Server
auch eine PXE/TFTP-Umgebung für das
Booten übers Netz bereit. Installieren Sie
mit Hilfe des Plug-in Managers daher am
besten auch gleich das tftpd-Plug-in.
Virtualisierung mit KVM
Mit der Kernel-based Virtual Machine
(KVM) bringt openQRM bereits einen
sehr leistungsstarken Hypervisor mit, auf
dessen Basis wir nun exemplarisch erste
virtuelle Maschinen bereitstellen wollen.
Bitte beachten Sie, dass für den Betrieb
von Windows in einer virtuellen Maschine
unter KVM auf dem Hostrechner die Intel VT / VT-x Erweiterung der CPU im
BIOS aktiviert werden muss. Sofern noch
nicht geschehen, installieren Sie jetzt über
den Plug In Manager die folgenden Plugins: dns, dhcpd, tftpd, network-manager,
local-server, device-manager, novnc,
sshterm, linuxcoe, kvm.
Die Plug-ins sind zum Teil voneinander
abhängig. Achten Sie bei der Installation
daher auf kleine gelbe Popups. Diese weisen im Dashboard eher dezent auf unerfüllte Abhängigkeiten hin, installieren Sie
die gewünschten Plug-ins dann einfach
in der geforderten Reihenfolge.
Network-Bridge einrichten
Damit openQRM für die virtuellen Maschinen und andere interne sowie externe
Ressourcen später das Netzwerk-Management (DNS/DHCP) übernehmen kann,
müssen Sie auf der physischen Netzwerkkarte des Host-Systems noch eine Network-Bridge einrichten. Dazu klicken Sie
beim openQRM-Server-Object auf
"Edit" und wählen dort unter Plug-ins
"Network Manager / Add new network
bridge". Im folgenden Dialog vergeben
Sie einen Namen für die neue Bridge
(br0) und tragen unter IP-Adresse die statische IP ein, die Sie dem physischen Server während der Installation gegeben haben (in unserem Szenario 192.168.0.30
auf der Schnittstelle eth0). Entsprechend
ergänzen Sie dann noch die Felder Subnet
(255.255.255.0) und Gateway (192.
168.0.254). OpenQRM richtet im Hintergrund die neue Netzwerkbrücke ein
und installiert auch die dafür erforderlichen Debian-Pakete.
Tipp: Wenn das System bei der Einrichtung der Netzwerkbrücke länger hängen
bleibt, liegt das eventuell an einer fehlerhaften Namensauflösung des Servers. Prüfen Sie in diesem Fall, ob in der Datei
/usr/share/openqrm/plugins/dhcpd/etc/dhcpd.
conf im Abschnitt
option domain-name-servers
192.168.0.253 192.168.0.254;
der oder die korrekten Nameserver eingetragen sind und korrigieren Sie diese
Einstellung gegebenenfalls. Sie können
auch verhindern, dass openQRM die
Namensauflösung auf Ihrem System
selbständig anpasst, indem Sie in der Datei /usr/share/enqrm/plugins/dns/etc/
openqrm-plugin-dns.conf folgenden Wert
auf "no" setzen:
OPENQRM_SERVER_ADJUST_RESOLV_CONF="no"
LVM-Storage für VMs
Gegenüber dem Speichertyp "Blockfile
Storage" bietet der Typ "KVM LVM Storage" eine höhere Flexibilität (Snapshots,
Cloning). Wir ordnen daher nun die bei
der Debian-Installation vorbereitete (bisher aber nicht zugeordnete) Partition als
LVM Storage für die VMs zu. Jede VM
erhält später ihr eigenes logisches Laufwerk aus dem LVM-Storage Pool. Auch
bei der Aktivierung des KVM LVM Storage kümmert sich openQRM wieder
um die Einrichtung der erforderlichen
Debian-LVM-Pakete im Hintergrund.
Klicken Sie beim Objekt "Storage / KVM
LVM Storage" auf "Manage" und dann
auf "Add new Volume group".Wählen Sie
aus dem Drop-down-Menü die dafür vorgesehene Partition (zum Beispiel /dev/
sda3), vergeben Sie einen Namen (etwa
"kvmg") und bestätigen Sie mit "Submit".
Im nächsten Schritt richten Sie eine virtuelle Maschine unter KVM ein. Prinzipiell verläuft die Installation nach dem
Anlegen der VM wie unter anderen Virtualisierungssystemen. Benötigt wird ein
Installationsmedium mit dem Betriebssystem - typischerweise ein ISO-Image.
Dieses Image binden Sie vor dem Start
Auszug aus IT-Administrator August 2015
5
PRAXIS I OpenQRM
Bild 4: Die Verwaltung der logischen Volumes lässt sich in openQRM erledigen.
der VM als primäres Boot-Medium ein;
die Installation startet dann direkt von diesem virtuellen CD-Laufwerk.
Tipp: openQRM verfügt über ein Plugin für Linux COE (Linux Common Operating Environment) [2]. Linux COE ist
ein Open Source-Tool von HP, das ISOImages für CentOS, Debian/Ubuntu, Fedora und viele andere Linux-Distributionen erzeugt. Das Besondere dabei ist, dass
es auch die Auto-Installationsmechanismen dieser Distributionen unterstützt. Auf
diese Weise lassen sich sehr leicht vollautomatisch ablaufende Installations-ISOs
erstellen. Wie Sie Linux COE innerhalb
von openQRM verwenden, erläutert das
ausführliche Tutorial auf der openQRMWebsite unter [3]. Wenn Sie nicht mit
dem COE-Plug-in arbeiten wollen, kopieren Sie stattdessen die gewünschte Linux-Distribution als ISO-Image in ein
Verzeichnis auf den openQRM-Server.
Server-Host-Objekt anlegen
Legen Sie jetzt unter "Server / Add Server" ein neues Server-Objekt an. Damit
das neue Objekt den Namenskonventionen von openQRM entspricht, klicken
Sie auf den Button "generate name" und
vergeben eine aussagekräftige Beschreibung im Kommentarfeld. Übernehmen
Sie die Voreinstellungen "openQRM Server (Physical system)" im Folgefenster
und klicken Sie auf "Submit". In der Liste
mit der Serverübersicht editieren Sie nun
das soeben angelegte Serverobjekt, indem
Sie aus dem Dropdown-Menü "KVM
Host" als Virtualisierungstyp auswählen.
Anschließend übernehmen Sie die Einstellung mit "Submit".
Auch die virtuelle Maschine benötigt ein
Server-Objekt. Sie legen es wie zuvor un-
6
Auszug aus IT-Administrator August 2015
ter "Server / Add Server" an. Wählen Sie
dann im nächsten Fenster "New Ressource" und als Typ "KVM (localboot) Virtual
Machine". Sie werden automatisch zur
Auswahl des KVM-Host-Servers weitergeleitet. Dort klicken Sie auf "VMs" und
fügen mit "ADD LOCAL VM" eine neue
virtuelle Maschine hinzu. Stellen Sie die
gewünschten Parameter wie Anzahl der
CPUs und Memory ein und achten Sie
darauf, dass die erste Netzwerkkarte (Network_0) mit der Network-Bridge (br0)
verbunden ist.
In der Sektion "Boot from" wählen sie
"ISO" und navigieren mit dem BrowseButton zu dem Verzeichnis, in dem Sie
zuvor das ISO-Image abgelegt haben (in
unserem Beispiel ist das /root). Vergeben
Sie ein VNC-Passwort, damit Sie später
über NoVNC auf die VM zugreifen und
die Betriebssysteminstallation anstoßen
können. Schließen Sie diesen Schritt wieder mit "Submit" ab. Etwas verwirrend
ist, dass Sie nun wieder im Wizard landen
und die soeben erzeugte Ressource nochmals mit "Submit" bestätigen müssen.
Image und logisches
Laufwerk erzeugen
Ist auch dieser Schritt erledigt, erscheint
im Wizard der Button "New Image". Als
Image bezeichnet openQRM ein logisches Objekt, das später dem physischen
Storage zugewiesen wird. Klicken Sie auf
"New Image / LVM deployment for
KVM" und wählen Sie in der KVMHost-Auswahl "LVM" aus. Es erscheint
die Volume Group "kvmg", die Sie zuvor
als LVM Storage angelegt haben (Bild 4).
Mit "Select / Add new logical volume"
fügen Sie ein neues logisches Volume hinzu. Legen Sie die Größe des logischen Volumes in MBytes fest und übernehmen
Sie die restlichen Voreinstellungen. Mit
einem Klick auf "Submit" wird das Image
daraufhin im Bearbeiten-Modus geöffnet.
Legen Sie hier den Betriebssystem-Typ
(Windows, Linux oder Other) fest. Im Fall
einer automatischen Installation mit Linux
COE könnten Sie dem Installer hier auch
gleich das Root-Passwort mitgeben, dieser
Schritt entfällt natürlich in unserem manuellen Installations-Szenario. "Submit"
bringt Sie wieder zurück zur Serverliste,
an deren Ende Sie Ihre neue VM finden.
Ein Klick auf den Start-Button erfüllt die
VM jetzt mit Leben.
Betriebssystem installieren
Nun sind Sie bereit, um das Betriebssystem in der VM zu installieren. Während
des Startvorgangs hat die VM bereits das
Installations-ISO gebootet und wartet
jetzt auf Tastatureingaben. Um die Installation fortzusetzen, greifen Sie über
den "Novnc"-Button auf die VM zu, wofür Sie das zuvor gesetzte VNC-Passwort
benötigen. Hat alles geklappt, sehen Sie
jetzt den Start-Screen des Debian-Installers und führen die Installation des Betriebssystems wie gewohnt durch.
Nach Abschluß der Installation des neuen Betriebssystems in der VM müssen
Sie jetzt noch das ISO-Image als Bootmedium entfernen und die VM auf "local boot" umstellen. Rufen Sie dafür die
Serverübersicht im Dashboard auf und
halten Sie den soeben eingerichteten
Server mit dem "Stop"-Button an. Rufen Sie die Übersicht Ihrer VMs über
den Dialog "Plugin Manager / Virtualization / KVM / Hosts" auf, dort wird
die dem Server-Objekt zugeordnete VM
jetzt mit dem Status "Idle" angezeigt.
Mit dem "Update"-Button gelangen Sie
wieder in den Einstellungsdialog für die
VM und können dort die Bootreihenfolge von "ISO" auf "Local" ändern.
Beim nächsten Start bootet der Server
von seinem lokalen Bootmedium.
Lokale VMs ins
System Management einbinden
Abschließend sollten Sie nun noch den
openQRM-Client in der neuen VM installieren. Er stellt eine Schnittstelle zwischen dem Betriebssystem in der VM und
dem openQRM-Host-Server zur Verfü-
www.it-administrator.de
OpenQRM I PRAXIS
gung. Auf diese Weise können lokale VMs
problemlos in das System-Management
von openQRM eingebunden und so beispielsweise das Monitoring der VM per
Nagios, das Konfigurationsmanagement
mit Puppet oder der Shell-Zugriff per
SSH auf die virtuelle Maschine aktiviert
werden. Laden Sie den openQRM-Client
unter "Plugins / Misc / Local-server /
Local VMs" herunter und kopieren Sie
ihn in die virtuelle Maschine:
scp openqrm-local-vm-client
root@IP-der-VM:/root
Zur Installation des Clients loggen Sie
sich per SSH in die virtuelle Maschine
ein, wechseln ins Verzeichnis /root und geben dem Client Ausführungsrechte:
chmod +x openqrm-local-vm-client
Die Installation starten Sie dann durch
Eingabe von ./openqrm-local-vm-client.
Fehlende Pakete werden wieder im Hintergrund automatisch heruntergeladen
und installiert. Nach Abschluss der ClientInstallation können Sie beispielsweise mit
SSH-Term (Secure Shell im Browserfenster) auf Linux-VMs zugreifen oder die
VMs ins Systemmanagement mit Nagios
aufnehmen. Dazu klicken Sie in der Serverliste im Dashboard auf die entsprechenden Buttons mit dem Pluszeichen.
Tipp: Auf die gleiche Weise können Sie
auch andere bereits im lokalen Netzwerk
vorhandene physische oder virtuelle (Linux)Server in das openQRM-Management aufnehmen. Sie erscheinen dann als
neue Ressource im Dashboard und können zum Beispiel als zusätzliche StorageServer verwendet werden. Kopieren Sie
dafür den Client unter /usr/share/openqrm/
plugins/local-server/bin/openqrm-local-server
auf den bestehenden Linux-Host und führen Sie das Programm aus:
scp /usr/share/openqrm/plugins/
local-server/bin/openqrm-localserver root@VM:/tmp
ssh VM /tmp/openqrm-local-server
integrate -u openqrm -p openqrm -q
192.168.0.30 -i eth0 [-s
http/https]
www.it-administrator.de
Die IP-Adresse 192.168.0.30 gehört hier
dem openQRM-Server.
Windows virtualisieren
unter KVM
Natürlich können Sie in einer virtuellen
KVM-Maschine auch Windows installieren. Dafür muss am physischen open QRM-Host im BIOS die Virtualisierungserweiterung (VT-X) aktiviert sein.
Haben Sie beim Anlegen der VM die
Default-Einstellung "virtio" übernommen, benötigt Windows zudem weitere
Treiber für den VirtIO-SCSI-Controller,
damit es während der Installation einen
lokalen Datenträger erkennt.
Der Treiber befindet sich zusammen mit
dem ebenfalls erforderlichen Treiber für
den VirtIO-Ethernet-Adapter auf einer
Treibersammlung des Fedora-Projekts. Laden Sie das neueste ISO der Sammlung
von [4] herunter und binden Sie es in Ihre
VM-Konfiguration als zweites CDROM-Laufwerk ein. Die Windows VM
bootet dann vom ersten CD-ROM Laufwerk, vom zweiten laden Sie die Treiber,
wenn diese vom Windows Setup angefordert werden.
Ist Windows in der virtuellen Maschine
installiert, sollten Sie unbedingt auch das
openQRM Enterprise Windows Plug-in
installieren. Es enthält die erforderlichen
Werkzeuge, um das Windows-Betriebssystem für Clone- und Snapshot-Aktionen
in openQRM vorzubereiten. Diese mit
Sysprep erstellten Windows Master-Images
lassen sich dann beliebig oft vervielfältigen
und zum Beispiel für Cloud-Deployments
einsetzen.
Nach der Installation des Windows-Plugins über den Plug-in-Manager finden Sie
den Client openqrm-client.exe zum Download unter "Plug In / Deployment / Windows". Am einfachsten rufen Sie das openQRM Webinterface gleich mit dem
Browser in der virtuellen Windows-Maschine auf. Dazu verbinden Sie sich wieder
über das NoVNC-Plug-in in die VM.
Speichern Sie den Client im Wurzelverzeichnis C:\ und rufen Sie den Gruppenrichtlinieneditor gpedit.msc auf. Dort fügen
Sie die openqrm-client.exe-Datei jetzt als
Start-Skript hinzu: "Richtlinien für Lokaler
Computer / Computerkonfiguration /
Softwareeinstellungen / Windowseinstellungen / Skripts (Start/Herunterfahren) /
Starten". Als Start-Parameter geben Sie
wiederum die IP-Adresse des openQRM
Servers an.
Syspred standardisiert Images
Damit das so erstellte Windows-Image später auch automatisiert für andere VMs zur
Verfügung gestellt werden kann, erzeugen
Sie mit sysprep.exe nun noch ein standardisiertes Windows-Image. Dazu laden Sie
die Konfigurationsdatei unattend.xml unter
"Plug In / Deployment / Windows" auf
den Desktop des Administrators herunter
und tragen in die "AdministratorPassword /Value Sektion" ein komplexes Passwort ein. Dieses Passwort ist das spätere
Administrator-Passwort der automatischen
Windows-Installation.
Bevor Sie Sysprep starten, sollten Sie allerdings die Festplatte der VM defragmentieren.Verwenden Sie dazu das WindowsBordmittel defrag.exe und öffnen Sie nach
Abschluß der Defragmentierung eine
Windows Command Shell mit Administrator-Rechten. In der Shell führen Sie
nun den folgenden Befehl aus:
C:\Windows\System32\sysprep\
sysprep.exe /generalize /oobe
/shutdown /unattend:C:\Users\
Administrator\Desktop\unattend.xml
Nach Abschluß der Sysprep-Aktion fährt
das Windows System herunter und das
Windows-Image ist bereit zum Clonen
beziehungsweise Snapshot, speziell für
weitere Cloud Deployments.
Cloud-Frontend für
die Benutzer einrichten
Das openQRM Cloud Plug-in stellt einen
vollautomatisierten Serverprovisionierungs-Workflow mit einem eigenen Webportal zur Verfügung. Externe Benutzer
können sich an diesem Portal entweder
per Self-Service registrieren oder werden
vom Administrator manuell hinzugefügt.
In Abhängigkeit von ihrer Gruppenzugehörigkeit können die Benutzer dann
Cloud-Bestellungen aufgeben. Je nach
Konfiguration lassen sich diese Bestellungen entweder manuell oder auch auto-
Auszug aus IT-Administrator August 2015
7
PRAXIS I OpenQRM
matisch freigeben - openQRM kümmert
sich dann selbständig um den kompletten
Provisionierungsablauf.
Die Einrichtung eines Cloud-Frontends
ist in einem How-To unter [5] beschrieben. Die grundlegende Einrichtung des
Dienstes erfolgt im Plug-in Manager unter
"Cloud / Configuration / Main Config".
Dort müssen Sie mindestens die folgenden
Einstellungen vornehmen:
cloud_admin_email - E-Mail Adresse
des openQRM Administrators
auto_provision - true
show_private_image - true
Optional passen Sie bei dieser Gelegenheit
gleich noch die folgenden Parameter an:
- external_portal_url: Hier legen Sie einen
externen DNS/Domainnamen für das
Cloud Portal fest.
- cloud_currency: Wählen Sie, ob die
Cloud-Währung für die Benutzer in USDollar oder Euro dargestellt werden soll.
- cloud_1000_ccus: Zuordnung der virtuellen Cloud-Währung CCU zu realem Geld.
- vm_loadbalance_algorithm: Loadbalancing-Algorithmus für virtuelle Maschinen, zum Beispiel 0 = Load, 1 = Memor y, 2 = Random, 3 = Erster
verfügbarer Host, bis das VM-Limit erreicht wurde.
In der weiteren Konfiguration erstellen
Sie dann unter anderem die Cloud-Produkte, die die Benutzer später mit ihren
Zugangsdaten buchen können, und legen
die Benutzergruppen, Preise beziehungsweise den Abrechnungsmodus für die über
das Cloud Portal gebuchten Ressourcen
fest. Die Endbenutzer erreichen das
Cloud-Portal über http://IP-Adresse-desServers/cloud-portal/.
Backup und Restore der
OpenQRM Umgebung
"Keep it simple" ist auch beim Backup
und Restore einer openQRM-Umgebung die Maxime. Da eine openQRMInstallation lediglich aus Dateien und einer
Datenbank besteht, ist es ausreichend, diese
beiden Komponenten für den DesasterFall zu sichern. Prinzipiell genügt es also,
alle Dateien unter /usr/share/openqrm zu-
8
Auszug aus IT-Administrator August 2015
sammen mit einem Dump der MySQLDatenbank von openQRM an einen sicheren Ort zu kopieren. Dies erledigen
die folgenden, mit Root-Rechten ausgeführten Befehle:
cp -aR /usr/share/openqrm /usr/share/openqrm-5.2.before-update
mysqldump openqrm -p >
/usr/share/openqrm-5.2.before-update/openqrm-db-5.2.sql
Für den MySQL-Dump wird das RootPasswort für die Datenbank interaktiv abgefragt. Der Restore verläuft dann einfach
durch Verschieben des Originalverzeichnisses und Zurückkopieren der zuvor angelegten Sicherungsdateien beziehungsweise
des Datenbank-Dumps mit abschließendem
Neustart der openQRM-Dienste.
Noch einfacher geht es allerdings mit dem
"state-backup"-Feature, das alle Konfigurationsdateien und den Inhalt der Datenbank mit einem einzigen Befehl automatisch sichert beziehungsweise wieder
einspielt:
/usr/share/openqrm/bin/openqrm state
backup -n 5.2.before-update
Der folgende Befehl listet alle auf diese
Weise angefertigten Backups auf:
/usr/share/openqrm/bin/openqrm state
list
5.2.3.before-update-05-0615_09.14.20
Test-State-Backup-05-24-15_13.09.05
Um nun beispielsweise die Systemkonfiguration aus der Sicherung "Test-StateBackup-05-24-15_13.09.05" wiederherzustellen, genügt der folgende Befehl:
/usr/share/openqrm/bin/openqrm state
restore -n Test-State-Backup-0524-15_13.09.05
openQRM-server: Restoring server
state from /var/spool/openqrmstate/Test-State-Backup-05-2415_13.09.05.tgz
Restoring the openQRM-database from
/usr/share/openqrm/database.sql
Verbindung zur Amazon
Public Cloud aufnehmen
Die Amazon Web Services (AWS) bestehen
aus Diensten, die etwa virtuelle Server
(EC2), Speicherplatz (S3) und Netzwerk
(CloudFront,VPC) bereitstellen, die über
ein Webinterface administriert und nach
Nutzung pro Stunde oder Ressource abgerechnet werden. Neben dem Webfrontend von AWS gibt es auch eine Programmierschnittstelle, die die Steuerung der
AWS-Dienste über ein Commandline-Interface ermöglicht. Das openQRM-Plugin "Hybrid Cloud" kann ein bestehendes
AWS-Konto über diese Schnittstelle einbinden und steuern. Auch für dieses Szenario hält die openQRM-Website unter
[6] ein ausführliches HowTo bereit, wir
geben daher nachfolgend nur einen kurzen
Überblick über die grundsätzlich erforderlichen Schritte.
Nach der Installation des Hybrid-Cloud
Plug-ins müssen zunächst die aktuellen
API- und AMI-Tools auf dem openQRM
Server installiert werden. Dazu loggen Sie
sich als root auf dem openQRM Server
ein und führen die folgenden Befehle aus:
wget s3.amazonaws.com/ec2-downloads/ec2-api-tools.zipwget
s3.amazonaws.com/
ec2-downloads/ec2-ami-tools.zip
unzip ec2-api-tools.zip
unzip ec2-ami-tools.zip
mkdir /usr/local/ec2
cp -r ec2-ami-tools-1.5.7/* /usr/
local/ec2/
cp -r ec2-api-tools-1.7.3.2/*
/usr/local/ec2/
apt-get update && apt-get install
default-jdk
Eventuell weichen die Versionsnummern
bei Ihnen ab, die obigen waren zum Redaktionsschluss aktuell. Den Link zum
Download der AMI/API-Tools finden Sie
übrigens auch unter "Cloud / HybridCloud / About / Plugin Typ". Der dort
angegebene Link führt zu umfangreicher
Dokumentation der Tools. Fügen Sie die
beiden Programme jetzt noch Ihrem Systempfad hinzu, indem Sie die folgenden
Umgebungsvariablen in die Datei /etc/profile eintragen:
export EC2_HOME=/usr/local/ec2
www.it-administrator.de
OpenQRM I PRAXIS
export PATH=$PATH:$EC2_HOME/bin
export JAVA_HOME=/usr
Um die Umgebungsvariablen zu aktivieren, loggen Sie sich einmal aus und wieder
ein. Starten Sie danach mit service openqrm
restart die openQRM-Dienste neu.
Die Lizenz der Enterprise-Edition von openQRM basiert
auf dem "Perpetual"-Modell, Lizenzen lassen sich also
dauerhaft (das heißt auch nach Ablauf der Maintenance) nutzen. Eine Server-Lizenz besteht immer aus einer Lizenz für den openQRM-Host und zwei Client-Lizenzen für das Management je eines Clients (= physische
Hosts). Im Preis ist Maintenance (Updates und Bugfixes)
und Support für 12 Monate enthalten. Client-Lizenzen
zur Integration weiterer Hosts können jederzeit zusätzlich erworben werden. Derzeit wird openQRM Enterprise
in den folgenden Editionen angeboten:
- SMB Edition Datacenter and IaaS MultiCloud 5.2, für
kleinere und mittlere Unternehmen mit einem oder
mehreren Systemadministratoren, 2000 Euro.
- Large Edition Datacenter and IaaS MultiCloud 5.2, für
Organisationen mit einem Team von Systemadministratoren, mit zentraler Benutzerverwaltung (LDAP/AD),
4000 Euro.
- Enterprise Edition Datacenter and IaaS MultiCloud
5.2, für Unternehmen mit einem oder mehreren Datacentern, einem Team von Systemadministratoren und
mit Anbindung an E-Commerce-Plattformen, mit zentraler Benutzerverwaltung (LDAP/AD), 7000 Euro.
Im deutschsprachigen Raum bietet openQRM darüber
hinaus auch ein Hardware-Bundle mit vorinstallierter
Supermicro-Hardware und Einrichtungssupport an. Details zu den Bundles finden Sie unter [7].
Lizenzierung und Preise
www.it-administrator.de
Am besten legen Sie in Ihrem AWS-Account im Bereich IAM einen eigenen Benutzer für openQRM an. Anschließend
testen Sie mit dem folgenden Befehl auf
der Kommandozeile, ob die Verbindung
zu AWS klappt:
Konfiguration in Anspruch nehmen. Denn
die Bedienlogik von openQRM erschließt
sich (wie bei den meisten Cloud-Managementsystemen) leider nicht intuitiv.Teilweise
erschwert fehlende oder veraltete Dokumentation die Einarbeitung noch zusätzlich.
ec2-describe-regions
-O AWS-Access-Key -W
AWS-Secret-Key
Open Source- und Linux-affine Administratoren werden an openQRM aber ihre
Freude haben. Denn dank der offenen, auf
Plug-ins basierenden Systemarchitektur stehen viele bekannte und populäre Systemwerkzeuge aus der Linux-Welt ohne größeren Konfigurationsaufwand zur
Verfügung. Darüber hinaus bietet der deutsche Hersteller mit Sitz in Bonn ein äußerst
günstiges Lizenzmodell sowie kompetenten
und deutschsprachigen Support. (of)
Tragen Sie anstelle der Platzhalter Ihren
AWS Access Key und Ihren Secret Key
ein. Das Ergebnis sollte dann in etwa wie
folgt aussehen:
REGION
eu-central-1
ec2.eucentral-1.amazonaws.com
REGION
sa-east-1
ec2.sa-east1.amazonaws.com
REGION
ap-northeast-1
ec2.apnortheast-1.amazonaws.com
...
Sie sind nun prinzipiell startbereit, um Instanzen in der Amazon Cloud anzulegen
und zu verwalten.
Fazit
Um ein openQRM-Projekt in einem
überschaubaren Zeitrahmen an den Start
zu bekommen, sollte der Admin entweder
selbst über solide Grundkenntnisse im Bereich Systemarchitektur und Open
Source-Werkzeuge verfügen oder besser
gleich die professionelle Unterstützung des
Herstellers für Planung, Installation und
[1] OpenQRM Enterprise Evaluation
F8P51
[2] Linux COE
F8P52
[3] Tutorial: OpenQRM auf Wheezy
F8P53
[4] Virtio für Windows
F8P54
[5] Cloud Computing mit OpenQRM
F8P55
[6] Amazon AWS mit OpenQRM
F8P56
[7] OpenQRM Hardware-Bundle
F8P57
Link-Codes
Auszug aus IT-Administrator August 2015
9