Introduction to Cloud Computing
Shang Juh Kao
Dept. of Computer Science and Engineering
National Chung Hsing University
2011/10/27 1 CSE, NCHU
Table of Contents
2011/10/27 2 CSE, NCHU
1. Introduction (NCHC)
2. Basics of Cloud and Cloud Architecture
3. Virtualization Technology
4. Managing VMs (KVM, UML, Xen, VMware, MLN, Libvirt)
5. IaaS (ONE, Eucalyptus, OpenStack)
6. PaaS (KMLN)
7. SaaS (Education Cloud, VIS)
Lecture 5 OpenNebula
2011/10/27 3 CSE, NCHU
Introduction to OpenNebula
Main Components
OpenNebula Architecure
VM Construction
Comparisons of VI Mgmt Capability
Introduction - 1
2011/10/27 CSE, NCHU 4
OpenNebula.org was an open-source project in 2005 by
Ignacio M. Llorente and Ruben S. Montero, first public release in
2008, starting from 2010 OpenNebula.org is managed by C12G
labs. The current release is 3.0 in Oct. 2011.
ONE aims at providing IaaS cloud computing solution, and
tries to provide an open, flexible, extensible, and comprehensive
management layer to automate and orchestrate the operation of
virtualized data centers.
The core values claimed by the project are: openness,
excellence, cooperation, and innovation.
Introduction - 2
2011/10/27 CSE, NCHU 5
Other open source cloud computing software platforms
include Eucalyptus and Nimbus.
A generic open source cloud computing system includes 6
components: (refer to the PowerPoint about its components)
1. HW and SW on physical machine
2. Network
3. VM hypervisor (Xen, KVM, VMware)
4. VM disk images (shared file system, NFX or SCP)
5. Front-end users (euca2ools)
6. Cloud platform itself
OpenNebula is for private cloud, in which users log into the
head node to access the cloud platform.
History of OpenNebula
2011/10/27 CSE, NCHU 6
How and What?
2011/10/27 CSE, NCHU 7
OpenNebula orchestrates storage, network,
virtualization, monitoring, and security technologies
to enable the dynamic placement of multi-tier
services on distributed infrastructures.
OpenNebula provides the image repository system
to set up and share images, the template repository
system to register VM definition, virtual networking to
interconnect VMs.
Management of Cloud Infrastructure
2011/10/27 CSE, NCHU 8
Virtualization subsystem
Networking subsystem
Storage subsystem
Host subsystem
Auth subsystem
Other subsystems
Main Components of OpenNebula - 1
2011/10/27 CSE, NCHU 9
Main Components of OpenNebula 1.1
2011/10/27 CSE, NCHU 10
Interfaces & APIs interfaces to manage physical and
virtual resources
User and Groups supports accounts, groups,
authentication, and authorized mechanisms. Access
Control List for fine grain permission granting.
Hosts and Virtualization supports Xen, KVM, VMware.
Networking supports for VLANs and Open vSwitch.
Storage and Images supports both non-shared and
shared file systems.
Front-End
2011/10/27 CSE, NCHU 11
Front-End is the machine that holds the OpenNebula
installation and executes the OpenNebula services.
Front-End needs to have access to the image
repository and network connectivity to each node.
The base installation of OpenNebula takes less than
10 MB.
Requiring ruby 1.8.7 or above.
OpenNebula Services
2011/10/27 CSE, NCHU 12
1. Management daemon (oned) and scheduler
(mm_sched)
2. Monitoring and accounting daemon (onecctd)
3. Web interface server (sunstone)
4. Cloud API servers (EC2- query or occi)
Hosts
2011/10/27 CSE, NCHU 13
The hosts are the physical machines that will run the VMs.
During the installation, it is required to configure the
OpenNebula administrative account to be able to ssh to
the hosts.
Depending on the hypervisor, the admin. account should
be allowed to execute commands with root privileges.
No any packages are necessary to be installed in the hosts.
Requiring ruby 1.8.7 or above.
Image Repository & Storage
2011/10/27 CSE, NCHU 14
Image repository handles the VM images, and has to be
accessible through the front-end using any storage
technology.
Images are transferred to the hosts to use them in the VMs.
OpenNebula can handle multiple storage scenarios, either
shared file system or not.
As an example, a 64-core cluster could typically run around
80 VMs. If each VM requires 10GB of disk space, then we
need about 800GB for /var/lib/one. Another 200GB for
primary images in /var/lib/one/images is also required. A
1TB /var/lib/one will be enough for the example.
Image Management
2011/10/27 CSE, NCHU 15
Images are set up by OpenNebular administrators or users
through image repository.
3 types of images: OS, CDROM, or DATABLOCK.
We are able to create, show, list, enable, disable, delete
through CLI or GUI (sunstone) as $ oneimage ***.
Frequently used parameters for oneimage are create, show,
list, publish/unpublish, persistent/nonpersistent, and saveas,
show, list, livemigrate for onevm. Other useful commands
include onehost, onetemplate,
Networking -1
2011/10/27 CSE, NCHU 16
The network is needed by the OpenNebula front-end
daemons to access the hosts to manage and monitor the
hypervisors; and move image files.
To offer network connectivity to the VMs across the different
hosts, the default configuration connects the VM network
interface to a bridge in the physical host.
For example, a typical host with 2 physical networks, one for
public IP addresses (attached to eth0) and the other one for
private VLAN (attached to eth1), should have 2 bridges.
OpenNebula will dynamic create network bridges.
Networking - 2
2011/10/27 CSE, NCHU 17
When a VM is launched, OpenNebula will connect its
network interfaces to the bridge specified in the virtual
network definition.
The OpenNebula admin. may activate one of the following
network types: Host-managed VLANs, Ebtables, Open vSwitch.
They should be enabled in /etc/one/oned.conf.
The OpenNEbula admin. may enable firewalling rules to allow
a regular user to filter TCP, UDP, or ICMP traffic.
The OpenNebula Architecture - 1
2011/10/27 CSE, NCHU 18
The OpenNebula Architecture - 2
2011/10/27 CSE, NCHU 19
To control a VMs life cycyle, the OpenNebula core
orchestrates 3 management areas:
1. Image and storage technologies for preparing disk images
2. The network fabric for providing virtual network
environment
3. The underlying hypervisors for creating and controlling
VMs
The core performs the above operations through pluggable
drivers.
The core also supports services deployment.
The OpenNebula Architecture - 3
2011/10/27 CSE, NCHU 20
A separate scheduler component makes VM placement
decisions. The default scheduler provides a rank scheduling
policy that places VMs on physical hosts according to a
ranking algorithm.
OpenNebula offers management interfaces to integrate the
cores functionality with other management tools, such as
accounting and monitoring frameworks.
OpenNebula supports a hybrid cloud model by using cloud
drivers to interface with external clouds, such as Haizea lease
manager and Reservoir.
VM Construction -1
2011/10/27 CSE, NCHU 21
VM Construction - 2
2011/10/27 CSE, NCHU 22
The steps for constructing a VM in a config. of OpenNebula:
1. User uses ssh to login to the head node
2. User uses onevm to request a VM
3. The VM template disk image is copied
4. The oned process (on the head node) uses ssh to
log into a compute node
5. The compute node sets up network bridging to
provide a virtual NIC with a virtual MAC
6. File needed by the VMM is pulled from the head
node via NFS
7. VMM is spawned on the VMM
8. The user can ssh directly into the VMM
Providing VI Management Capabilities - 1
2011/10/27 CSE, NCHU 23
Providing VI Management Capabilities - 2
2011/10/27 CSE, NCHU 24
References
OpenNebula.org
A comparison and critique of Eucalyptus ,
OpenNebula, and Nimbus, by P. Sempolinski and D.
Thain, in 2
nd
IEEE international conference on Cloud
Computing Technology and Science, 2010.
Virtual Infrastructure Management in Private and
Hybrid Clouds, by B. Sotomayor, R.S Montero, and I.
Foster, in IEEE Internet Computing, 2009.
2011/10/27 CSE, NCHU 25
The Next is
2011/10/27 CSE, NCHU 26
Libvirt an open interface
for VM management
Upcoming Scheduling
2011/10/27 CSE, NCHU 27
VM installation before 10/31.
Libvirt on 11/03
Midterm on 11/10
Preparation for a further study (11/18)
Implementation-based reports (comparisons or
features exploration)
Study of related technology/products
Research-based study (energy consumption,
reliability, security, )