Introduction to Cloud Computing Shang Juh Kao Dept. of Computer Science and Engineering National Chung Hsing University 2011/10/27 CSE, NCHU 1
Table of Contents 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) 2011/10/27 CSE, NCHU 2
Lecture 5 OpenNebula Introduction to OpenNebula Main Components OpenNebula Architecure VM Construction Comparisons of VI Mgmt Capability 2011/10/27 CSE, NCHU 3
Introduction - 1 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. 2011/10/27 CSE, NCHU 4
Introduction - 2 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. 2011/10/27 CSE, NCHU 5
History of OpenNebula 2011/10/27 CSE, NCHU 6
How and What? 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. 2011/10/27 CSE, NCHU 7
Management of Cloud Infrastructure Virtualization subsystem Networking subsystem Storage subsystem Host subsystem Auth subsystem Other subsystems 2011/10/27 CSE, NCHU 8
Main Components of OpenNebula - 1 2011/10/27 CSE, NCHU 9
Main Components of OpenNebula 1.1 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. 2011/10/27 CSE, NCHU 10
Front-End 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. 2011/10/27 CSE, NCHU 11
OpenNebula Services 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) 2011/10/27 CSE, NCHU 12
Hosts 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. 2011/10/27 CSE, NCHU 13
Image Repository & Storage 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. 2011/10/27 CSE, NCHU 14
Image Management 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, 2011/10/27 CSE, NCHU 15
Networking -1 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. 2011/10/27 CSE, NCHU 16
Networking - 2 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. 2011/10/27 CSE, NCHU 17
The OpenNebula Architecture - 1 2011/10/27 CSE, NCHU 18
The OpenNebula Architecture - 2 To control a VM s 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. 2011/10/27 CSE, NCHU 19
The OpenNebula Architecture - 3 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 core s 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. 2011/10/27 CSE, NCHU 20
VM Construction -1 2011/10/27 CSE, NCHU 21
VM Construction - 2 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 2011/10/27 CSE, NCHU 22
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 Libvirt an open interface for VM management 2011/10/27 CSE, NCHU 26
Upcoming Scheduling 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, ) 2011/10/27 CSE, NCHU 27