OpenNebula @ Open Cloud Day
2015
Introduction
●
Nico Schottelius
●
President of ungleich GmbH
– Linux/Unix Infrastructure Services
– Application Hosting (RubyOnRails, Django, Nodejs)
– Hosting based on OpenNebula and cdist
●
FOSS Hacker
I talk for you
Ask Questions
Any Time
I answers in <30s
Overview
●
Introduction
●
OpenNebula Basics
●
How to Setup
●
How to Use
●
Advanced topics
– High Availability
– Clusters & Federation
What is OpenNebula?
What is OpenNebula?
OpenNebula is a powerful, proven, adaptable and
interoperable open-source platform for data center
virtualization and enterprise cloud management, which
is certified and commercially supported on the most
common infrastructure platforms. OpenNebula provides
the rapid innovation of open-source, with stability
and long-term production support of commercial
software.
What is OpenNebula?
●
Open Source Software
●
Virtualisation Plattform
●
Public and private Cloud
●
Very easy
OpenNebula Architecture
●
Monolithic
– Compared to other Software
– However subsystems are modular
●
One Frontend
●
VM-Hosts (“Nodes”)
History
OpenNebula Users
How to talk OpenNebula
OpenNebula Entities
●
Users, Groups, ACLs
●
Virtual Machines, Templates, Images
●
Hosts, Datastores, Virtual Networks
●
Clusters, Zones
●
Marketplace
User, Groups, ACLs
Virtual Machines
●
Based on Template
– Some parameters can be changed, but not all (!)
●
Template
– Network
– Image (s)
– CPU/RAM
– Constraints
Infrastructure
●
Hosts
●
Datastores
– Shared/Local
– NFS/GlusterFS/Ceph/Sheepdog/ssh
●
Virtual Networks
– Bridging
– VLAN
– VXLAN
Marketplace
Technology Overview
-
What is the heart of OpenNebula?
Frontend
●
Ruby On Rails
●
Various (shell) Scripts
●
Database
– sqlite
– MySQL
– ...
Frontend / User Authentication
●
Native (Database based)
●
SSH
●
x509 (Certificates)
●
LDAP
●
Active Directory
Hosts / Nodes
●
Virtualisation
– KVM
– Xen
– VMWare
– Hyper-V
●
Authentication / Authorization
– SSH
Storage
●
Non-Shared
●
SSH
●
GlusterFS (*)
●
Ceph
●
Sheepdog (master branch/addon)
Networking
●
Bridging
●
Firewalling
●
Openvswitch
●
VXLAN
How to Setup
OS
●
CentOS/RHEL and Ubuntu (recommended)
●
Archlinux / Debian working
●
Probably (!) runs on any Linux
●
Requirements
– Ruby, libstdc++, Shell (Frontend)
– kvm + ssh (Node)
How to Setup
●
Add OpenNebula Repository
●
Install Software (apt-get, yum, …)
– Package for frontend
– (Ruby Gems for frontend)
– Package for nodes
OpenNebula Frontend
●
Webfrontend (“sunstone”)
– Ruby On Rails
– Database: Sqlite / MySQL
– Optional: Webserver (f.i. nginx) for SSL
●
Scheduler (“oned”)
– Monitoring
– Management
Frontend Requirements
OpenNebula Node
●
oneadmin user
– No root access required after installation
●
SSH keys of frontend oneadmin user
– Management
– Monitoring
●
KVM / Xen / VMWare
Minimal Configuration
●
Add
– (Datastore)
– Network
– Host
– Image
– Template
Experiences: Setup
●
Installation mostly straight forward
●
Documentation for advanced methods (Ceph,
GlusterFS) can be improved
●
VERY easy to extend
– Especially for storage / virtualisation
– ~4 scripts for Sheepdog support
How to use
How to use
●
Sunstone (WebUI)
– https with f.i. nginx
– wss for VNC
●
API (XMC-RPC)
●
Command Line Interface
WebUI / Sunstone
Command Line Interface
●
one*
●
User: oneadmin
●
Mostly: onevm & onetemplate
[21:19:06] entrance:~$ one
one onedatastore onehost onevcenter oneacct onedb oneimage onevm
oneacl oneflow onemarket onevnet onecluster oneflow-template onetemplate onezone oned onegroup oneuser
Experiences: Using
●
CLI is mostly consistent
– Error messages could be better
– Check /var/log/one/*.log (!)
●
WebUI works rather smooth
– Some operations easier than in CLI
Demo
Advanced Topics
Clusters
●
Mapping of Resources to “groups”
●
Hosts
●
Networks
●
Datastores
●
Templates
– Selecting clusters
Virtual Data Centers
●
Mapping of groups to resources
●
Can be used with clusters
●
Or parts of clusters
Cloud Bursting / Hybrid Cloud
●
Public Cloud treated as a host
●
Azure
●
Amazon
●
Softlayer
High Availability: Frontend
●
HA Cluster with
– Corosync / CCS / Ricci
– Anything that detects/ensure other node is down
●
MySQL Multi Master for data redundancy
High Availability: Virtual Machines
●
Host down detection (standard)
●
Hooks
– STONITH
– Re-Deploy
Federation
●
Combine Multiple OpenNebula Instances
– Users, Groups, Networks, VDC, ACLs, Zones
●
MySQL Replication
●
Zones
Hooks
●
Virtual Machines
– Create, Running, Shutdown, ...
●
Hosts
– Create, Error, Disable
●
Other
– Users, Groups, Networks, ...
Conclusion?
Conclusion
●
OpenNebula is easy to setup and maintain
●
Simple, but flexible
●
Solves real world problems
●
Small, but active community
Follow Up
OpenNebulaConf 2015
OpenNebula Hackday
Want to know more?
●
[email protected]
●
Twitter: @ungleich
●