0
Loadays 2013                                           Brussels, Belgium, April 8th, 2013                    OpenNebula Fu...
OpenNebula Tutorial @ Loadays                           OpenNebula Tutorial                         Tomorrow at 09.30 Room...
What is OpenNebula?Overview of the Project  ● Started in 2008  ● Core dedicated team of 7 engineers  ● Contributions of co...
What is OpenNebula?             Public Cloud                              Private                                         ...
What is OpenNebula?                                      Interfaces, Tools & API                                  ● CLI & ...
What is OpenNebula?Design Principles    ●   Flexible: One solution can not fit all data-centers    ●   Provide basic compo...
What is OpenNebula?Simplicity     VM VM VM VM                VM VM VM VM             Hypervisor     Physical Hardware     ...
The Cloud Integrator Perspective                         CLI               GUI        Cloud Servers                       ...
Demo environment        Image Datastore       System Datastore          (DS_ID: 1)             (DS_ID: 0)                "...
Building an IaaS Cloud: Hosts  Host Management   ●    Monitoring         ○ Simple - SSH probes         ○ Ganglia          ...
Building an IaaS Cloud: Network   Networks     ●   Define a MAC-IP address         space     ●   Layer 2 Isolation (driver...
Building an IaaS Cloud: Storage (Datastores)  Storage   ●    Datastore         ○ Image store              Image Datastore ...
Building an IaaS Cloud: Storage (Datastores)Shared DatastoreThe OpenNebula Project
Building an IaaS Cloud: Storage (Datastores)SSH DatastoreThe OpenNebula Project
Building an IaaS Cloud: Storage (Images)   Images     ●   Files vs Block devices          ○ Performance            Image D...
Building an IaaS Cloud: Virtualization   Virtualization     ●   Virtual Machine Templates          ○  Capacity          ○ ...
Building an IaaS Cloud: Misc Services   AuthZ, AuthN & Acct.     ●   Multi-tenancy          ○ Groups          ○ Permission...
The Cloud Integrator PerspectiveHow to Develop Drivers                                                       Drivers      ...
The Cloud Integrator PerspectiveHow to Develop Drivers                              Virtualization Drivers                ...
The Cloud Integrator PerspectiveVirtual Machine Manager Drivers  Deployment flow for KVM                          Deployme...
The Cloud Integrator PerspectiveVirtual Machine Manager Drivers   Virtualization Driver Example:   Hypervisor: Xen   Actio...
The Cloud Integrator PerspectiveHow to Develop Drivers                                          Image & Storage Drivers   ...
The Cloud Integrator PerspectiveImage & Storage Drivers        Datastore              Transfer Manager         ●     cp   ...
The Cloud Integrator PerspectiveImage & Storage Drivers      Datastore iscsi / cp                            Image        ...
The Cloud Integrator PerspectiveHow to Interact with OpenNebula                                                          X...
The Cloud Integrator PerspectiveHow to Interact with OpenNebula       OCA Ruby Example:         Shutdown all my Virtual Ma...
Tools for Users and AdministratorsOpenNebulaApps    Manage services               Automatic installation of           Host...
Join our growing community!I Like OpenNebula, what can I do?     Help us make OpenNebula even better by...              Co...
What is OpenNebula?Try OpenNebula             Cloud Sandbox - Virtual Appliance             A real cloud in your laptop un...
OpenNebula Tutorial @ Loadays                           OpenNebula Tutorial                         Tomorrow at 09.30 Room...
Questions?We Will Be Happy to Answer any Question                         TL; DR: OpenNebula is awesome, go check it out! ...
History of the ProjectA Project Aimed at Building the Industry Standard Open Cloud Management Tool                        ...
About the Project   Differentiating Factors in the Market    ●     Focus on enterprise data center virtualization    ●    ...
Upcoming SlideShare
Loading in...5
×

Loadays 2013 OpenNebula Fundamentals

819

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
819
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
110
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Loadays 2013 OpenNebula Fundamentals"

  1. 1. Loadays 2013 Brussels, Belgium, April 8th, 2013 OpenNebula Fundamentals Jaime Melis OpenNebula.org @j_melis© OpenNebula Project. Creative Commons Attribution-NonCommercial-ShareAlike License
  2. 2. OpenNebula Tutorial @ Loadays OpenNebula Tutorial Tomorrow at 09.30 Room 3 Bring VirtualBox or KVM or VMware if possible!!The OpenNebula Project
  3. 3. What is OpenNebula?Overview of the Project ● Started in 2008 ● Core dedicated team of 7 engineers ● Contributions of code and documentation patches by users: RIM, Akamai, Logica,FermiLab, SARA, Terradue… (approx. 100 listed at http://www.opennebula.org/about: contributors) ● A lot of users (http://opennebula.org/users:users) ● 500 validated users at dev.opennebula ● Sunstone GUI being translated into 17 languages by the communityThe OpenNebula Project
  4. 4. What is OpenNebula? Public Cloud Private Cloud Simple Web Interface A Cloud behind a Infrastructure Resources firewall Elastic & “infinite” Security Concerns Improve Operations Hybrid Cloud / CloudBursting Supplement Capacity of the Private CloudThe OpenNebula Project
  5. 5. What is OpenNebula? Interfaces, Tools & API ● CLI & Sunstone (GUI) ● API ● Cloud (EC2,OCCI) ● Service Management & Catalogs Network Storage ● VLAN ● VM disks (file & block) ● Firewalling ● Image Distribution ● Multiple Technologies ● Multiple Backends Multi-tenancy ● AAA Services ● Scheduling ● Permissions & roles Compute Hosts ● Grouped into logical clusters ● Multiple hypervisors ● MonitoringThe OpenNebula Project
  6. 6. What is OpenNebula?Design Principles ● Flexible: One solution can not fit all data-centers ● Provide basic components, but easily hacked by others ● Simple: just-what-you-need components & simple protocols ● Scalable: single instance & multi-tier architectures ● Be interoperable! rich set of APIs & Interfaces ● Open Source: Apache License v2.0000The OpenNebula Project
  7. 7. What is OpenNebula?Simplicity VM VM VM VM VM VM VM VM Hypervisor Physical Hardware ... Hypervisor Physical Hardware Host HostThe OpenNebula Project
  8. 8. The Cloud Integrator Perspective CLI GUI Cloud Servers Scheduler OCA (Ruby, Java) XML-RPC API OpenNebula core Monitoring Storage Network DB Virtualization Images Auth LanguagesThe OpenNebula Project
  9. 9. Demo environment Image Datastore System Datastore (DS_ID: 1) (DS_ID: 0) "NAS" "NAS" wlan0 Internet br0 VM VM KVM My LaptopThe OpenNebula Project
  10. 10. Building an IaaS Cloud: Hosts Host Management ● Monitoring ○ Simple - SSH probes ○ Ganglia HOST HOST HOST ● Cluster ○ Logical set of: ■ Storage ■ Network ■ Hosts ○ Deal with heterogeneityThe OpenNebula Project
  11. 11. Building an IaaS Cloud: Network Networks ● Define a MAC-IP address space ● Layer 2 Isolation (drivers) ○ 802.1Q (Tagging) ○ OpenvSwitch br0 ○ ebtables VM VM VR ○ Flat ● Layer 3 simple firewalling ○ TCP/UDP ports Internet ○ ICMPs ● Virtual Router ● IPv6The OpenNebula Project
  12. 12. Building an IaaS Cloud: Storage (Datastores) Storage ● Datastore ○ Image store Image Datastore System Datastore (DS_ID: 1) (DS_ID: 0) ○ Balance I/O ○ Policies ○ File, iSCSI, LVM, VMFS "NAS" "NAS" ● Image distribution ○ System Datastore ○ Shared/Distributed FS ○ SSH ○ iSCSI ○ LVM ○ CephThe OpenNebula Project
  13. 13. Building an IaaS Cloud: Storage (Datastores)Shared DatastoreThe OpenNebula Project
  14. 14. Building an IaaS Cloud: Storage (Datastores)SSH DatastoreThe OpenNebula Project
  15. 15. Building an IaaS Cloud: Storage (Images) Images ● Files vs Block devices ○ Performance Image Datastore System Datastore (DS_ID: 1) (DS_ID: 0) ○ Management ● Types ○ Golden Images "NAS" "NAS" ○ Persistent ○ Volatile ● Context CD-ROM with custom data Disk imagesThe OpenNebula Project
  16. 16. Building an IaaS Cloud: Virtualization Virtualization ● Virtual Machine Templates ○ Capacity ○ Disks, NICs, etc... VM VM ○ Other (VNC, OS,...) Hypervisor ● Support VM operations ○ Suspend/Power Off ○ Stop/Undeploy ○ Reboot/Destroy ○ Shutdown ○ Resume ○ Migration (live) ○ Attach/Detach - NIC/Disk ○ Snapshotting ● Hypervisor ○ Agnostic ○ Xen, KVM and VMwareThe OpenNebula Project
  17. 17. Building an IaaS Cloud: Misc Services AuthZ, AuthN & Acct. ● Multi-tenancy ○ Groups ○ Permissions & ACLs ● Authentication ○ X509 Core & Scheduler ○ SSH Keys ● OpenNebula core ○ LDAP daemon ○ Internal ○ Orchestration ● Authorization ○ Driver based ○ Quotas ○ Fast & Robust (C++) ● Accounting (Billing) ● Scheduler ○ Matchmaking ○ ProgrammableThe OpenNebula Project
  18. 18. The Cloud Integrator PerspectiveHow to Develop Drivers Drivers Cloud CLI GUI Servers ● Small scripts for each action OCA (Ruby, Java) Scheduler ● Any language (shell, Ruby, Python,...) ● Different drivers can co-exist in XML-RPC API heterogeneous environments OpenNebula core Monitoring Storage Network DB Virtualization Images Auth Easy to adapt Easy to create new ones Easy to maintainThe OpenNebula Project
  19. 19. The Cloud Integrator PerspectiveHow to Develop Drivers Virtualization Drivers Cloud ● Translate the OpenNebula VM life-cycle CLI GUI management into specific hypervisor Servers operations OCA (Ruby, Java) Scheduler Monitoring Drivers XML-RPC API ● Gather information about the physical host and hypervisor status OpenNebula core Hybrid Cloud Drivers Monitoring Storage Network DB ● Interact with an external provider instead of Virtualization Images Auth a hypervisor OpenNebula distribution Community contributionsThe OpenNebula Project
  20. 20. The Cloud Integrator PerspectiveVirtual Machine Manager Drivers Deployment flow for KVM Deployment ssh $host: ● write deployment file Core file bash kvm/deploy ● virsh create [...] <domain type=kvm> domain=$1 <name>one-1</name> <cputune> mkdir -p `dirname $domain` <shares>103</shares> </cputune> cat > $domain <memory>65536</memory> <os> data=`virsh --connect $LIBVIRT_URI <type arch=i686> create $domain` hvm </type> if [ "x$?" = "x0" ]; then <boot dev=hd/> echo $data | sed s/Domain // | </os> sed s/ created from .*$// else <devices> error_message "Could not create" ... " domain from $domain" </devices> exit -1 </domain> fiThe OpenNebula Project
  21. 21. The Cloud Integrator PerspectiveVirtual Machine Manager Drivers Virtualization Driver Example: Hypervisor: Xen Action: migrate Description: live-migrates a running VM to the specified HostThe OpenNebula Project
  22. 22. The Cloud Integrator PerspectiveHow to Develop Drivers Image & Storage Drivers Cloud ● Create or Import new Images into the CLI GUI Servers Image Repository Scheduler ● File management between the Image OCA (Ruby, Java) Repository and the physical hosts XML-RPC API OpenNebula coreMonitoring Storage Network DBVirtualization Images Auth OpenNebula distribution Community contributions ● Shared FS (nfs, gluster, lustre, ...) ● LVM ● iSCSI (tgt) ● SSH ● HTTP ● CephThe OpenNebula Project
  23. 23. The Cloud Integrator PerspectiveImage & Storage Drivers Datastore Transfer Manager ● cp ● clone ● stat ● ln ● mkfs ● mkimage ● clone ● mkswap ● rm ● mv ● mvds ● context ● delete ● postmigrate ● premigrateThe OpenNebula Project
  24. 24. The Cloud Integrator PerspectiveImage & Storage Drivers Datastore iscsi / cp Image ssh $DST_HOST: Core template bash iscsi/cp ● create LV base64 ● create tgt lun ● dump image # Create LV and Setup tgt LUN REGISTER_CMD=$(cat <<EOF set -e $SUDO $LVCREATE -L${SIZE}M ${VG_NAME} -n ${LV_NAME} $SUDO $(tgt_setup_lun "$IQN" "$DEV") $SUDO $(tgt_admin_dump_config "$TARGET_CONF") EOF ) ssh_exec_and_log "$DST_HOST" "$REGISTER_CMD" # Dump exec_and_log "eval $DUMP | $SSH $DST_HOST $SUDO $DD of=$DEV bs=2M"The OpenNebula Project
  25. 25. The Cloud Integrator PerspectiveHow to Interact with OpenNebula XML-RPC Cloud CLI GUI ● Simple, fast Servers ● Works in any language OCA (Ruby, Java) Scheduler XML-RPC API OCA (OpenNebula Cloud API) ● High level bindings ● Complete functionality OpenNebula core ● Ruby, Java, PythonMonitoring Storage Network DBVirtualization Images Auth OpenNebula distribution Community Contributions Administrator GUI User GUI OCCI ● Cloud APIs CDMI ● OVF ●The OpenNebula Project
  26. 26. The Cloud Integrator PerspectiveHow to Interact with OpenNebula OCA Ruby Example: Shutdown all my Virtual MachinesThe OpenNebula Project
  27. 27. Tools for Users and AdministratorsOpenNebulaApps Manage services Automatic installation of Host your own software stacks marketplace Service Example App Example {"name": "my_service", {"name": "wordpress", "deployment": "run_list": [ "straight", "recipe[mysql::server]", "roles": [ "recipe[wordpress]" { ], "name": "frontend", "wordpress": { "vm_template": 0 "db": { }, "database": "${WP_DB_NAME}", { "user": "${WP_DB_USER}", "name": "db_master", "password": "${WP_DB_PASSWORD}" "parents": [ } "frontend" }, ], "mysql": { "vm_template": 1 "server_root_password": }] "${DB_PASSWORD}" } }The OpenNebula Project }
  28. 28. Join our growing community!I Like OpenNebula, what can I do? Help us make OpenNebula even better by... Community Activity ● Use OpenNebula! give us feedback ● Contributions by users: RIM, Akamai, Logica, ● Join our mailing list FermiLab, SARA, Terradue… ● Report bugs or features at development at dev. opennebula.org ● > 100 in opennebula.org/about:contributors ● Translate OpenNebula ● ~ 500 in dev.opennebula.org ● Share your Virtual Appliances ● Sunstone in 17 languages ● Use master ● Components in the ecosystem by RIM, China ● Write howtos Mobile… ● Share your use cases ● Submit patches ● Maintain OpenNebula in your distro of choice IRC Channel ● #opennebula on irc.freenode.netThe OpenNebula Project
  29. 29. What is OpenNebula?Try OpenNebula Cloud Sandbox - Virtual Appliance A real cloud in your laptop under 5 minutes by downloading a pre- configured automated installation of OpenNebula. opennebula.org/cloud:tryout Available Platforms ● Amazon ● VirtualBox ● VMWare ● KVMThe OpenNebula Project
  30. 30. OpenNebula Tutorial @ Loadays OpenNebula Tutorial Tomorrow at 09.30 Room 3 Bring VirtualBox or KVM or VMware if possible!!The OpenNebula Project
  31. 31. Questions?We Will Be Happy to Answer any Question TL; DR: OpenNebula is awesome, go check it out! @opennebulaThe OpenNebula Project
  32. 32. History of the ProjectA Project Aimed at Building the Industry Standard Open Cloud Management Tool Third party scalability ●Develop & innovate tests: 16,000 VMs ●Support the community ●Collaborate Commercial Support TP v1.0 v1.2 v1.4 v2.0 v2.2 V3.0 V3.2 V3.4 V3.6 V3.8 2005 2008 2009 2010 2011 2012 2013 Research Project 5,000 CentOS downloads/month European FundingThe OpenNebula Project
  33. 33. About the Project Differentiating Factors in the Market ● Focus on enterprise data center virtualization ● Rich functionality for private clouds: on-demand provision of virtual data centers, self-service portal and catalog, clustering, fault tolerance… ● Wide integration capabilities with data center services: monitoring, computing, storage, networking, chargeback, authentication… ● Service management with automatic installation and configuration of software stacks, multi-tier service catalog and provision… ● External cloud connectors for hybrid cloud computing ● Delivered as a production-proven, packaged product with single installing and upgrade process ● Direct support from developersThe OpenNebula Project
  1. A particular slide catching your eye?

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

×