Was ist eine Private Cloud?
Das Ziel einer Private Cloud besteht nicht darin,
Die Sicht des Benutzers
Mit einer OpenNebula Private Cloud steht Nutzern der
- Kommandozeile
- XML-RPC API
- Libvirt Virtualization API inkl. Management Tools
Die folgenden Beispiele zeigen die Funktionalität, die von der OpenNebula Kommandozeile bereitgestellt wird, um eine Private Cloud zu verwalten.
Zunächst überprüfen wir den Host und den physikalischen Cluster:
$ onehost list
HID NAME RVM TCPU FCPU ACPU TMEM FMEM STAT
0 host01 0 800 800 800 8194468 7867604 on
1 host02 0 800 797 800 8387584 1438720 on
Anschließend kann mittels onevm eine virtuelle Maschine an OpenNebula übertragen werden. Dazu wird als erstes ein Template einer virtuellen Maschine benötigt, aus dem ein Image erstellt wird. Das Image wird in dem Verzeichnis /opt/nebula/images abgelegt.
CPU = 0.5
MEMORY = 128
OS = [
kernel = "/boot/vmlinuz-2.6.18-4-xen-amd64",
initrd = "/boot/initrd.img-2.6.18-4-xen-amd64",
root = "sda1" ]DISK = [
source = "/opt/nebula/images/disk.img",
target = "sda1",
readonly = "no" ]DISK = [
type = "swap",
size = 1024,
target = "sdb"]NIC = [ NETWORK = "Public VLAN" ]
Nachdem die virtuelle Maschine z.B. bzgl. der CPU und des Arbeitsspeichers auf die eigenen Bedürfnisse angepasst wurde, kann diese übertragen werden.
$ onevm submit myfirstVM.template
Nach dem Übertragen der virtuellen Maschine erhalten wir eine ID, mit welcher die virtuelle Maschine identifiziert werden kann, um diese zu überwachen und zu steuern. Die ID erhalten wir mit dem folgenden Befehl:
$ onevm list
ID USER NAME STAT CPU MEM HOSTNAME TIME
0 oneadmin one-0 runn 0 65536 host01 00 0:00:02
Das Feld STAT beschreibt den aktuellen Status der virtuellen Maschine. Befindet sich dieser im Status runn, ist die virtuelle Maschine online und wird ausgeführt. Abhängig davon, wie das Image konfiguriert wurde, haben wir Kenntnis von der IP-Adresse, wodurch wir uns auf der virtuellen Maschine anmelden können.
Um eine Migration durchzuführen, verwenden wir erneut den onevm Befehl. Wenn wir z.B. die virtuelle Maschine (VID=0) nach host02 (HID=1) übertragen wollen, nutzen wir:
$ onevm livemigrate 0 1
Damit wird die virtuelle Maschine von host01 nach host02 übertragen. Der Befehl onevm list sollte eine ähnliche Ausgabe der Folgenden anzeigen:
$ onevm list
ID USER NAME STAT CPU MEM HOSTNAME TIME
0 oneadmin one-0 runn 0 65536 host02 00 0:00:06
Wie das System funktioniert
OpenNebula – Eigenschaften
- Verwaltung virtueller Netzwerke: Virtuelle Netzwerke verbinden die einzelnen virtuellen Maschinen.
- Erstellen virtueller Maschinen: Die Beschreibung jeder einzelnen virtuellen Maschine wird der Datenbank hinzugefügt.
- Bereitstellen virtueller Maschinen: Der Scheduler entscheided auf Basis von Richtlinien, wo eine virtuelle Maschine ausgeführt wird.
- Verwaltung virtueller Maschinen Images: Vor dem Ausführen werden die virtuellen Maschinen Images zu dem Host übertragen und SWAP Disk Images erstellt. Nach dem Ausführen werden die virtuellen Maschinen Images in das Repository zurückkopiert.
- Verwaltung gestarteter virtueller Maschinen: Virtuelle Maschinen werden gestartet und der aktuelle Status periodisch abgefragt. Zudem können die virtuellen Maschinen heruntergefahren, angehalten, gestopped und migriert werden.
OpenNebula Private Cloud – Die wichtigsten Komponeten
- Hypervisor: Der Virtualisierungsmanager – auf den Ressourcen des Clusters installiert, die OpenNebula für die Verwaltung der virtuellen Maschinen vorgesehen hat.
- Virtual Infrastructure Manager: Zentrale Verwaltungseinheit zum Steuern und Überwachen der virtuellen Maschinen und Ressourcen. Unterstützt weiterhin die Verwaltung der virtuellen Netzwerke, das Life-Cycle Management der virtuellen Maschinen, das Management der virtuellen Maschinen Images sowie die Fehlertoleranz.
- Scheduler: Verwaltung der Richtlinien für die virtuellen Maschinen hinsichtlich der gleichmäßigen Verteilung der Last, Server Konsolidierung, Zugehörigkeit, Reservierung der Kapazitäten und SLAs
Quelle
- Building a Private Cloud