0
© Martin Alfke - 2014
OpenNebula
public and private cloud management	

!
Martin Alfke	

<martin.alfke@buero20.org>	

!
GUU...
© Martin Alfke - 2014
• Freelancer - Berlin/Germany	

• Automation and Cfg Mgmt	

• ePost Development GmbH	

• Migration v...
© Martin Alfke - 2014
OpenNebula	

- Agenda -
• Allgemein	

• Backends	

• Planung	

• Komponenten	

• Workflow	

• Managem...
© Martin Alfke - 2014
OpenNebula	

- Allgemein -
• Management vonVirtualisierern	

• Management von Netzwerk
Interfaces	

...
© Martin Alfke - 2014
OpenNebula	

- Allgemein -
© Martin Alfke - 2014
OpenNebula	

- Backends -
• Netzwerk 	

• Storage	

• Virtualisierung	

• Image
© Martin Alfke - 2014
OpenNebula	

- Netzwerk Backends -
• Unterstütze Netzwerk Backends	

• 802.1q	

• ebtables / iptable...
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• Unterstütze Storage Backends	

• Lokale Storage	

• NFS	

• Ceph...
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

!
!
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

• shared (Kopieren
von Sh...
© Martin Alfke - 2014
OpenNebula	

- Storage Backends -
• ssh (Kopieren auf
denVirtualisierer)	

• shared (Kopieren
von Sh...
© Martin Alfke - 2014
OpenNebula	

-Virtualisierung -
• UnterstützeVirtualizierer	

• KVM	

• VMware	

• Xen	

• Public Cl...
© Martin Alfke - 2014
OpenNebula	

- Image Backends -
• Unterstütze Image Backends	

• LVM	

• qcow2	

• ceph blocks
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Cluster	

• Over Commitment	

• Storage
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Cluster	

• Trennung und Gruppierung vonVirtualisieren	

• Verteilung nac...
© Martin Alfke - 2014
OpenNebula	

- Planung -
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Over Commitment	

• RAM Over Commitment - benötigt KSM	

• Benötigt eine ...
© Martin Alfke - 2014
OpenNebula	

- Planung -
• Storage	

• Lokale Storage -VM Images müssen via SSH kopiert
werden	

• S...
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
• Management
Node	

• Virtualisierer
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
• Management Node	

• Opennebula (notwendig)	

• Apache + Passenger (su...
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
• Virtualisierer (KVM)	

• libvirtd	

• User: oneadmin + authorized key...
© Martin Alfke - 2014
OpenNebula	

- Komponenten -
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
•...
© Martin Alfke - 2014
OpenNebula	

- Workflow -
• Netzwerk	

• Image	

• Kontextualisierung	

• Template	

• VM	

• Hooks
#...
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
• CLI	

• User braucht eine Token Datei ~/.one_auth.conf	

• Verschiedene...
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
OpenNebula	

- GUI / CLI -
© Martin Alfke - 2014
# Context variables generated by OpenNebula	

DISK_ID='1'	

ETH0_DNS='10.175.4.11'	

ETH0_GATEWAY='1...
© Martin Alfke - 2014
#! /usr/bin/python	

# based on script of Chris Usher June 2009	

# import xmlrpclib re hashlib	

!
...
© Martin Alfke - 2014
OpenNebula
• Demo
© Martin Alfke - 2014
OpenNebula
Danke schön.	

Fragen?
Upcoming SlideShare
Loading in...5
×

GUUG Hamburg OpenNebula

412

Published on

Lecture about OpenNebula at GUUG Hamburg

Published in: Internet
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
412
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "GUUG Hamburg OpenNebula"

  1. 1. © Martin Alfke - 2014 OpenNebula public and private cloud management ! Martin Alfke <martin.alfke@buero20.org> ! GUUG Hamburg 12.06.2014
  2. 2. © Martin Alfke - 2014 • Freelancer - Berlin/Germany • Automation and Cfg Mgmt • ePost Development GmbH • Migration von HW aufVM • Umzug Bonn —> Berlin Martin Alfke - at home OpenNebula - Martin Alfke -
  3. 3. © Martin Alfke - 2014 OpenNebula - Agenda - • Allgemein • Backends • Planung • Komponenten • Workflow • Management (GUI/CLI) • Live Demo
  4. 4. © Martin Alfke - 2014 OpenNebula - Allgemein - • Management vonVirtualisierern • Management von Netzwerk Interfaces • Management vonVM’s
  5. 5. © Martin Alfke - 2014 OpenNebula - Allgemein -
  6. 6. © Martin Alfke - 2014 OpenNebula - Backends - • Netzwerk • Storage • Virtualisierung • Image
  7. 7. © Martin Alfke - 2014 OpenNebula - Netzwerk Backends - • Unterstütze Netzwerk Backends • 802.1q • ebtables / iptables • ovswitch • dummy (NAT)
  8. 8. © Martin Alfke - 2014 OpenNebula - Storage Backends - • Unterstütze Storage Backends • Lokale Storage • NFS • Ceph • Gluster • iSCSI (Community Plugin)
  9. 9. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) ! !
  10. 10. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) !
  11. 11. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) • lvm copy (LVM cluster FS)
  12. 12. © Martin Alfke - 2014 OpenNebula -Virtualisierung - • UnterstützeVirtualizierer • KVM • VMware • Xen • Public Clouds (AWS/Rackspace/…)
  13. 13. © Martin Alfke - 2014 OpenNebula - Image Backends - • Unterstütze Image Backends • LVM • qcow2 • ceph blocks
  14. 14. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Over Commitment • Storage
  15. 15. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Trennung und Gruppierung vonVirtualisieren • Verteilung nach Kriterien: • Anzahl vonVM’s • Last • Individuelle User Berechtigungen
  16. 16. © Martin Alfke - 2014 OpenNebula - Planung -
  17. 17. © Martin Alfke - 2014 OpenNebula - Planung - • Over Commitment • RAM Over Commitment - benötigt KSM • Benötigt eine Code Änderung in OpenNebula (reserved RAM) • CPU Over Commitment - vCPU im Template ! !
  18. 18. © Martin Alfke - 2014 OpenNebula - Planung - • Storage • Lokale Storage -VM Images müssen via SSH kopiert werden • Shared Image Storage -VM Images werden lokal kopiert (cp) • Shared OpenNebula Installation -VM Images werden gelinkt (ln -s) !
  19. 19. © Martin Alfke - 2014 OpenNebula - Komponenten - • Management Node • Virtualisierer
  20. 20. © Martin Alfke - 2014 OpenNebula - Komponenten - • Management Node • Opennebula (notwendig) • Apache + Passenger (sunstone web gui - optional) • VNC Proxy (optional) • MySQL DB (notwendig - sqlite für Tests) • User: oneadmin + ssh key (notwendig)
  21. 21. © Martin Alfke - 2014 OpenNebula - Komponenten - • Virtualisierer (KVM) • libvirtd • User: oneadmin + authorized key file • sudoers (bridgectl, …) • policykit (RH) / User Berechtigungen für /dev/ qemu (Debian)
  22. 22. © Martin Alfke - 2014 OpenNebula - Komponenten -
  23. 23. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  24. 24. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • 802.1q • ebtables • open vswitch • dummy (nat)
  25. 25. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Muss vorab angefertigt werden • Braucht one-context Package oder cloud-init (v0.7.3 oder neuer) • Hinweis: Image erst auf Management Node kopieren
  26. 26. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Anpassungen des Images (hostname, Netzwerk Konfiguration, ssh pub key, … • Kann durch eigene Skripte erweitert werden • VM erhält ein CD-ROM mit den Kontext Informationen
  27. 27. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  28. 28. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Zusammenfassung von Netzwerk, CPU, RAM und Image • Hardware Spezifika (z.B. ACPID) • Dient alsVorlage fürVM
  29. 29. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • VM wird auf Basis eines Templates initialisiert
  30. 30. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • Hooks werden bei bestimmtenVM Stati ausgeführt • DNS (nsupdate), Puppet Zertifikatsmanagement, PuppetDB remove • Anmelden einerVM an einem Dritt-System
  31. 31. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks #!/bin/bash set -e NAME=`onevm show $1 | grep HOSTNAME | cut -d '"' -f2` ! DOMAIN=`echo $NAME | cut -d '.' -f2-` ! curl -k -X DELETE -H "Accept: pson" https:// puppet.$DOMAIN:8140/production/ certificate_status/$NAME
  32. 32. © Martin Alfke - 2014 OpenNebula - GUI / CLI - • CLI • User braucht eine Token Datei ~/.one_auth.conf • Verschiedene Kommandos (one*) • GUI • Sunstone Web Interface • Anbindung an LDAP möglich • Verwendet ebenfalls eine Token Datei
  33. 33. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  34. 34. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  35. 35. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  36. 36. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  37. 37. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  38. 38. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  39. 39. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  40. 40. © Martin Alfke - 2014 # Context variables generated by OpenNebula DISK_ID='1' ETH0_DNS='10.175.4.11' ETH0_GATEWAY='10.175.16.1' ETH0_IP='10.175.24.1' ETH0_MASK='255.255.240.0' ETH0_NETWORK='10.175.16.0' FILES_DS='/var/lib/one/datastores/2/ ef48a35be2d8723ef7788175be6087eb:'''init.sh''' ' HOSTNAME='martin.xxxxxxxxx' NETWORK='YES' TARGET='hdb' OpenNebula - Kontextualisierung -
  41. 41. © Martin Alfke - 2014 #! /usr/bin/python # based on script of Chris Usher June 2009 # import xmlrpclib re hashlib ! server = 'http://<opennebula>:2633/RPC2' user = "oneadmin" password = "<password>" one_auth = '{0}:{1}'.format(user, password) ! def getVMInfo(id): response = xmlrpclib.ServerProxy(server).one.vm.info(one_auth,id) return response[1] ! print getVMInfo(24) OpenNebula - XML RPC API -
  42. 42. © Martin Alfke - 2014 OpenNebula • Demo
  43. 43. © Martin Alfke - 2014 OpenNebula Danke schön. Fragen?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×