OpenNebula ist seit kurzem in der Version 3.4 mit dem Codenamen “Wild Duck” verfügbar. Auf dem OpenNebula Workshop der OSDC hatte ich die Gelegenheit mir die neuen Features von Constantino Vazquez Blanco zeigen zu lassen.
Meiner Meinung nach ist das beste neue Feature, die Möglichkeit mehrere Storage-Systeme parallel nutzen zu können. Diese Möglichkeit nennt sich bei OpenNebula “Datastores”. In den vorherigen Versionen wurden Images im Image-Repository gepflegt. Das Repository konnte als Storage-Backend auf diversen Lösungen betrieben werden: NFS, OCFS2, GFS, Lustre oder auch auf lokalen Dateisystemen.
Mit den Datastores kann man ab sofort mehrere dieser Technologien auf verschiedener Hardware nutzen und daraus, wenn man so will, ein flexibles und großes Image-Repository erzeugen. Ein Blick unter die Haube erklärt das ganze ggfs. etwas leichter:
Image-Repository vor der Migration auf 3.4:
tree /var/lib/one/images/
/var/lib/one/images/
├── 2341e70a117db762c7511ce4dc8f5fba
├── 732000391bc93d78fb133a39bf7a3d28
└── d64ab94792642c40667c8532807a1a89

Datastores nach der Migration:
tree /var/lib/one/datastores/
/var/lib/one/datastores/
├── 0
│   ├── 11
│   │   ├── deployment.0
│   │   └── disk.0 -> /var/lib/one/images/732000391bc93d78fb133a39bf7a3d28
│   ├── 12
│   │   ├── deployment.0
│   │   ├── disk.0 -> /var/lib/one/images/732000391bc93d78fb133a39bf7a3d28
│   │   └── disk.1 -> /var/lib/one/images/d64ab94792642c40667c8532807a1a89
│   ├── 13
│   │   ├── deployment.0
│   │   └── disk.0 -> /var/lib/one/images/732000391bc93d78fb133a39bf7a3d28
│   └── 14
├── 1
│   ├── 2341e70a117db762c7511ce4dc8f5fba
│   ├── 732000391bc93d78fb133a39bf7a3d28
│   └── d64ab94792642c40667c8532807a1a89
└── 100
├── a9cf96dc09868a390bae2d1041aac4d9

Hier ist gut zu sehen, dass die Images aus /var/lib/one/images in den default-Datastore /var/lib/one/datastores/1 verschoben bzw. während der Migration versymlinkt wurden. Der Datastore 0 ist das Verzeichnis in dem die gestarteten VMs mit ihrer jeweiligen ID erzeugt und abgelegt werden. Der Datastore 100 ist ein optionaler weiterer Datastore exemplarisch auf einen weiteren physichen Storage.
Der Vorteil dieser neuen Funktionalität liegt ganz eindeutig darin, flexibel auf I/O Utilization reagieren zu können. Auch das Hinzufügen weiterer Datastores macht die Skalierbarkeit einfacher. Außerdem kann man VMs auf ‘langsameren’ oder ‘schnelleren’ Storages laufen lassen.
Natürlich bringt die ‘Wilde Ente’ noch viele weitere Features mit sich, die ggfs. in kommenden Blogposts oder auf opennebula.org zu finden sind.

Sebastian Saemann
Sebastian Saemann
Head of Managed Services

Sebastian kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet das Managed Services Team. Wenn er nicht gerade Cloud-Komponenten patched, versucht er mit seinem Motorrad einen neuen Rundenrekord aufzustellen.