Your SlideShare is downloading. ×
0
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
GUUG Hamburg OpenNebula
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GUUG Hamburg OpenNebula

396

Published on

Lecture about OpenNebula at GUUG Hamburg …

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
396
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. © Martin Alfke - 2014 OpenNebula public and private cloud management ! Martin Alfke <martin.alfke@buero20.org> ! GUUG Hamburg 12.06.2014
  • 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. © Martin Alfke - 2014 OpenNebula - Agenda - • Allgemein • Backends • Planung • Komponenten • Workflow • Management (GUI/CLI) • Live Demo
  • 4. © Martin Alfke - 2014 OpenNebula - Allgemein - • Management vonVirtualisierern • Management von Netzwerk Interfaces • Management vonVM’s
  • 5. © Martin Alfke - 2014 OpenNebula - Allgemein -
  • 6. © Martin Alfke - 2014 OpenNebula - Backends - • Netzwerk • Storage • Virtualisierung • Image
  • 7. © Martin Alfke - 2014 OpenNebula - Netzwerk Backends - • Unterstütze Netzwerk Backends • 802.1q • ebtables / iptables • ovswitch • dummy (NAT)
  • 8. © Martin Alfke - 2014 OpenNebula - Storage Backends - • Unterstütze Storage Backends • Lokale Storage • NFS • Ceph • Gluster • iSCSI (Community Plugin)
  • 9. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) ! !
  • 10. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) !
  • 11. © Martin Alfke - 2014 OpenNebula - Storage Backends - • ssh (Kopieren auf denVirtualisierer) • shared (Kopieren von Shared Storage) • lvm copy (LVM cluster FS)
  • 12. © Martin Alfke - 2014 OpenNebula -Virtualisierung - • UnterstützeVirtualizierer • KVM • VMware • Xen • Public Clouds (AWS/Rackspace/…)
  • 13. © Martin Alfke - 2014 OpenNebula - Image Backends - • Unterstütze Image Backends • LVM • qcow2 • ceph blocks
  • 14. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Over Commitment • Storage
  • 15. © Martin Alfke - 2014 OpenNebula - Planung - • Cluster • Trennung und Gruppierung vonVirtualisieren • Verteilung nach Kriterien: • Anzahl vonVM’s • Last • Individuelle User Berechtigungen
  • 16. © Martin Alfke - 2014 OpenNebula - Planung -
  • 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. © 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. © Martin Alfke - 2014 OpenNebula - Komponenten - • Management Node • Virtualisierer
  • 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. © 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. © Martin Alfke - 2014 OpenNebula - Komponenten -
  • 23. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  • 24. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • 802.1q • ebtables • open vswitch • dummy (nat)
  • 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. © 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. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks
  • 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. © Martin Alfke - 2014 OpenNebula - Workflow - • Netzwerk • Image • Kontextualisierung • Template • VM • Hooks • VM wird auf Basis eines Templates initialisiert
  • 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. © 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. © 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. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 34. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 35. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 36. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 37. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 38. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 39. © Martin Alfke - 2014 OpenNebula - GUI / CLI -
  • 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. © 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. © Martin Alfke - 2014 OpenNebula • Demo
  • 43. © Martin Alfke - 2014 OpenNebula Danke schön. Fragen?

×