OGF25/EGEE User Forum Catania, Italy 2 March 2009

Similar documents
VM Management for Green Data Centres with the OpenNebula Virtual Infrastructure Engine

Virtual Machine Management with OpenNebula in the RESERVOIR project

The OpenNebula Standard-based Open -source Toolkit to Build Cloud Infrastructures

OpenNebula An Innovative Open Source Toolkit for Building Cloud Solutions

Elastic Management of Cluster based Services in the Cloud

Building Clouds with OpenNebula 2.2 and StratusLab

An Introduction to Virtualization and Cloud Technologies to Support Grid Computing

Open Source Cloud Computing Management with OpenNebula

Deployment of Private, Hybrid & Public Clouds with OpenNebula

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

Cloud and Virtualization to Support Grid Infrastructures

Introduction to Cloud Computing

OpenNebula Open Souce Solution for DC Virtualization

OpenNebula Open Souce Solution for DC Virtualization

OpenNebula Open Souce Solution for DC Virtualization. C12G Labs. Online Webinar

OpenNebula Leading Innovation in Cloud Computing Management

Design and Building of IaaS Clouds

The OpenNebula Cloud Platform for Data Center Virtualization

Cloud Computing Overview

Cloud Computing from an Institutional Perspective

Enabling Technologies for Cloud Computing

OpenNebula The Open Source Solution for Data Center Virtualization

Building Clouds with OpenNebula 3.4

Scheduler in Cloud Computing using Open Source Technologies

Lecture on Cloud Computing. Course 10. Academic cloud systems

Cloud Computing Architecture with OpenNebula HPC Cloud Use Cases

OpenNebula Cloud Case Studies

Getting Started Hacking on OpenNebula

Challenges in Hybrid and Federated Cloud Computing

Cloud Computing for Control Systems CERN Openlab Summer Student Program 9/9/2011 ARSALAAN AHMED SHAIKH

OpenNebula Cloud Platform for Data Center Virtualization

Why is a good idea to use OpenNebula in your VMware Infrastructure?

Comparison and Evaluation of Open-source Cloud Management Software

Solution for private cloud computing

Cloud Computing with Red Hat Solutions. Sivaram Shunmugam Red Hat Asia Pacific Pte Ltd.

VMware vsphere 5.1 Advanced Administration

Virtualization, SDN and NFV

VMware vsphere 5.0 Boot Camp

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Deploying Business Virtual Appliances on Open Source Cloud Computing

Sistemi Operativi e Reti. Cloud Computing

Building Clouds with OpenNebula 3.2

Xen Virtualization: Xen (source) and XenServer

How To Run A Cloud Server On A Server Farm (Cloud)

THE EUCALYPTUS OPEN-SOURCE PRIVATE CLOUD

Cloud Implementation using OpenNebula

CLEVER: a CLoud-Enabled Virtual EnviRonment

OpenNebula 4.12 Design and Installation Guide

Cloud Models and Platforms

Ubuntu OpenStack on VMware vsphere: A reference architecture for deploying OpenStack while limiting changes to existing infrastructure

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

Oracle VM Server Recovery Guide. Version 8.2

Regional SEE-GRID-SCI Training for Site Administrators Institute of Physics Belgrade March 5-6, 2009

RED HAT ENTERPRISE VIRTUALIZATION

VIRTUAL RESOURCE MANAGEMENT FOR DATA INTENSIVE APPLICATIONS IN CLOUD INFRASTRUCTURES

An Open Source Solution for Virtual Infrastructure Management in Private and Hybrid Clouds

opening the clouds qualitative overview of the state-of-the-art open source cloud management platforms. ACM, middleware 2009 conference

9/26/2011. What is Virtualization? What are the different types of virtualization.

Automated deployment of virtualization-based research models of distributed computer systems

Open Cloud Day.

Converting Linux and Windows Physical and Virtual Machines to Oracle VM Virtual Machines. An Oracle Technical White Paper December 2008

CLOUD COMPUTING. Virtual Machines Provisioning and Migration Services Mohamed El-Refaey

Operating Systems Virtualization mechanisms

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

How To Create A Cloud Based System For Aaas (Networking)

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

Google

Windows Template Creation Guide. How to build your own Windows VM templates for deployment in Cloudturk.

Build Your Own Private Cloud with Ezilla and Haduzilla

Enterprise-Class Virtualization with Open Source Technologies

HPC Cloud Computing with OpenNebula

SURFsara HPC Cloud Workshop

Best Practices for Virtualised SharePoint

Virtualized Oracle 11g/R2 RAC Database on Oracle VM: Methods/Tips Kai Yu Oracle Solutions Engineering Dell Inc

PARALLELS SERVER BARE METAL 5.0 README

Configuring Virtual Blades

Building an AWS-Compatible Hybrid Cloud with OpenStack

October Gluster Virtual Storage Appliance User Guide

SURFsara HPC Cloud Workshop

Using SUSE Cloud to Orchestrate Multiple Hypervisors and Storage at ADP

Private Cloud in Educational Institutions: An Implementation using UEC

Enabling Technologies for Distributed and Cloud Computing

Windows Server 2008 R2 Hyper V. Public FAQ

THE CC1 PROJECT SYSTEM FOR PRIVATE CLOUD COMPUTING

Introduction to OpenStack

ON THE MANAGEMENT OF VIRTUAL MACHINES FOR CLOUD INFRASTRUCTURES

Transcription:

OGF25/EGEE User Forum Catania, Italy 2 March 2009 Constantino Vázquez Blanco Javier Fontán Muiños Raúl Sampedro Distributed Systems Architecture Research Group Universidad Complutense de Madrid 1/31

Outline Part I Open Nebula Overview What is OpenNebula Benefits Features Architecture Part II Deploying and using OpenNebula on a simple scenario Physical architecture VM description Image Management Network Management VM lifecycle Part III Building a scalable SGE cluster 2/31

Part I OpenNebula Overview Part I OpenNebula Overview 3/31

What is OpenNebula? The OpenNebula Virtual Infrastructure Engine Extending the Benefits of Virtualization to Clusters Dynamic deployment and re-placement of virtual machines on a pool of physical resources Transform a rigid distributed physical infrastructure into a flexible and agile virtual infrastructure Internal users External users OpenNebula VMM Public Cloud Interface VMM Public Cloud Backend of Public Cloud: Internal management of the infrastructure Private Cloud: Virtualization of cluster or data-center for internal users Cloud Interoperation: On-demand access to public clouds 4/31

What is OpenNebula? Virtual Machine Management Model Service as Management Entity Service structure Service components run in VMs Inter-connection relationship Placement constraints The VM Manager is service agnostic Provide infrastructure context Distributed VM Management Model Distributed VM Management System Networking Image Management Virtualization The three pillars of a Distributed VM Manager 5/31

Benefits System Manager Centralized management of VM workload and distributed infrastructures Support for VM placement policies: balance of workload, server consolidation Dynamic resizing of the infrastructure Dynamic partition and isolation of clusters Support for heterogeneous workload Dynamic scaling of private infrastructure to meet fluctuating demands Service Manager On-demand provision of virtual machines System Integrators Open and flexible architecture and interfaces, open source software Integration with any component in the virtualization/cloud ecosystem, such as cloud providers, hypervisors, cloud-like interfaces, virtual image managers, service managers, schedulers 6/31

Features Feature User Interface Scheduler Virtualization Management Function Unix-like CLI to manage VM life-cycle and physical boxes XML-RPC API and libvirt interface Requirement/rank matchmaker Generic framework to build any scheduler Xen, KVM and libvirt connectors Amazon EC2 Image Management General mechanisms to transfer and clone VM images Network Management Fault Tolerance Scalability Installation Definition of virtual networks to interconnect VMs Persistent database backend to store host and VM information Tested in the management of hundreds of VMs Installation on a UNIX cluster front-end without requiring new services in the remote resources Distributed in Ubuntu 9.04 (Jaunty Jackalope), due to be released in April 2009 7/31

Architecture OpenNebula Architecture Drivers Core Tools Scheduler SQL Pool Transfer Driver Command Line Interface VM Manager Virtual Machine Driver Request Manager (XML-RPC) Host Manager Other Tools VN Manager Information Driver 8/31

Architecture Core Request manager: Provides a XML-RPC interface to manage and get information about ONE entities. Scheduler SQL Pool Transfer Driver SQL Pool: Database that holds the state of ONE entities. Command Line Interface VM Manager Virtual Machine Driver Request Manager (XML-RPC) VM Manager (virtual machine): Takes care of the VM life cycle. Host Manager: Holds the information about hosts and how to interact with them. VN Manager (virtual network): This component is in charge of generating MAC and IP addresses. Drivers Core Tools Host Manager Other Tools VN Manager Information Driver 9/31

Architecture Tools Scheduler: This component searches for physical hosts to deploy newly defined VMs Drivers Core Tools Scheduler SQL Pool Transfer Driver Command Line Interface VM Manager Virtual Machine Driver Request Manager (XML-RPC) Host Manager Other Tools VN Manager Information Driver Command Line Interface: Commands used to manage OpenNebula entities. onevm: Virtual Machines create, list, migrate onehost: Hosts create, list, disable onevnet: Virtual Networks create, list, delete 10/31

Architecture OpenNebula Drivers Drivers Core Tools Scheduler SQL Pool Transfer Driver Command Line Interface VM Manager Virtual Machine Driver Request Manager (XML-RPC) Host Manager Other Tools VN Manager Information Driver Transfer Driver: Takes care of the images. cloning, deleting, creating swap image Virtual Machine Driver: Manager of the lifecycle of a virtual machine deploy, shutdown, poll, migrate Information Driver: Executes scripts in physical hosts to gather information about them total memory, free memory, total cpus, cpu consumed 11/31

Architecture Process separation Scheduler CLI XML-RPC Interface OpenNebula Core Unix Pipes (diver message protocol) Transfer Manager Driver Virtual Machine Driver Information Driver Scheduler is a separated process, just like command line interface. Drivers are also separated processes using a simple text messaging protocol to communicate with OpenNebula Core Daemon (oned) 12/31

Part II OpenNebula Overview Part II Deploying and using OpenNebula on a simple scenario 13/31

Physical Architecture OpenNebula engine from the physical point of view FRONT-END SSH ONED SSH Xen Hypervisor CLUSTER NODE 1 SSH Xen Hypervisor CLUSTER NODE 2 14/31

VM Description Common template options Option NAME CPU Description Name that the VM will get for description purposes. Percentage of CPU divided by 100 required for the Virtual Machine. OS (KERNEL, INITRD) Path of the kernel and initrd files to boot from. DISK (SOURCE, TARGET, CLONE, TYPE) NIC (NETWORK) Description of a disk image to attach to the VM. Definition of a virtual network the VM will be attached to. Multiple disk an network interfaces can be specified just adding more disk/nic statements. To create swap images you can specify TYPE=swap, SIZE=<size in MB>. By default disk images are cloned, if you do not want that to happen CLONE=no can be specified and the VM will attach the original image. 15/31

VM Description Example NAME = vm-example CPU = 1 MEMORY = 512 # --- kernel & boot device --- OS = [ kernel = /vmlinuz, initrd = /initrd.img, root = sda ] # --- 2 disks --- DISK = [ source = /images/etch/disk.img, target = sda ] DISK = [ type = swap, size = 1024, target = sdb ] # --- 1 NIC --- NIC = [ network= public ] 16/31

Image Management Architecture for a cluster configured with shared directory. Image Repository ONED $ONE_LOCATION/var Shared FS VM_DIR CLUSTER NODE VM_DIR CLUSTER NODE VM_DIR CLUSTER NODE 17/31

Image Management VM description example Disk description options DISK = [ type = floppy disk cdrom swap, source = path_to_disk_image_file physical_dev, size = size_in_gb, target = device_to_map_disk, bus = ide scsi virtio xen, readonly = yes no, clone = yes no, save = path_to_disk_image_file ] Disk description examples DISK = [ source = /images/etch/disk.img, target = sda ] DISK = [ type = swap, size = 1024, target = sdb ] 18/31

Network Management Physical configuration 19/31

Network Management Ranged network definition NAME = Private LAN TYPE = RANGED BRIDGE = eth0 NETWORK_SIZE = 250 NETWORK_ADDRESS= 10.0.0.0 Fixed network definition NAME = Public LAN TYPE = FIXED BRIDGE= eth1 LEASES= [IP=130.10.0.1,MAC=50:20:20:20:20:20] LEASES= [IP=130.10.0.2] Network information in VM description NIC = [ network = name_of_the_virtual_network, ip = ip_address, bridge = name_of_bridge_to_bind_if, target = device_name_to_map_if, mac = HW_address, script = path_to_script_to_bring_up_if ] 20/31

VM Lifecycle VM lifecycle states HOLD MIGRATE PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE SUSPENDED STOPPED 21/31

VM Lifecycle Pending State PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE After submitting a VM description to ONE it is added to the database and its state is set to PENDING. In this state IP and MAC addresses are also chosen if they are not explicitly defined. The scheduler awakes every 30 seconds and looks for VM descriptions in PENDING state and searches for a physical node that meets its requirements. Then a deploy XML-RPC message is sent to oned to make it run in the selected node. Deployment can be also made manually using Command Line Interface: onevm deploy <vmid> <hostid> 22/31

VM Lifecycle Prolog State PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE In PROLOG state the Transfer Driver prepares the images to be used by the VM. Transfer actions: CLONE: Makes a copy of a disk image file to be used by the VM. If Clone option for that file is set to false and the Transfer Driver is configured for NFS then a symbolic link is created. MKSWAP: Creates a swap disk image on the fly to be used by the VM if it is specified in the VM description. 23/31

VM Lifecycle Boot State PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE In this state a deployment file specific for the virtualization technology configured for the physical host is generated using the information provided in the VM description file. Then Virtual Machine Driver sends deploy command to the virtual host to start the VM. The VM will be in this state until deployment finishes or fails. 24/31

VM Lifecycle Running and Shutdown States PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE While the VM is in RUNNING state it will be periodically polled to get its consumption and state. In SHUTDOWN state Virtual Machine Driver will send the shutdown command to the underlying virtual infrastructure. 25/31

VM Lifecycle Epilog State PENDING PROLOG BOOT RUNNING SHUTDOWN EPILOG DONE In EPILOG state the Transfer Manager Driver is called again to perform this actions: Copy back the images that have SAVE=yes option. Delete images that were cloned or generated by MKSWAP. 26/31

Part III Building a scalable SGE cluster Part III Building a scalable SGE cluster Use Case Demonstration 27/31

Use Cases On-demand Scaling of Computing Clusters Elastic execution of a SGE computing cluster Dynamic growth of the number of worker nodes to meet demands using EC2 Private network with NIS and NFS EC2 worker nodes connect via VPN On-demand Scaling of Web Servers Elastic execution of the NGinx web server The capacity of the elastic web application can be dynamically increased or decreased by adding or removing NGinx instances 28/31

Scaling SGE cluster with OpenNebula and EC2 Use Case Infrastructure Perspective 29/31

Scaling SGE cluster with OpenNebula and EC2 Use Case Service Perspective Amazon EC2 Worker Node Internet Connection PHYSICAL NODE Worker Node Bridge SGE Fontend Worker Node VPN Tunnels Bridge Local private network Bridge Bridge Bridge Worker Node Worker Node Worker Node Worker Node Worker Node Worker Node PHYSICAL NODE PHYSICAL NODE PHYSICAL NODE 30/31

Scaling SGE cluster with OpenNebula and EC2 Use Case Network Scheme Contextualization VMs need to be configured to execute a script (vmscript.sh) at boot time Sets the IP based on the MAC of the network interface as it knows the network scheme Preliminary version, future OpenNebula versions will support more advanced contextualization Contextualization Virtual Block Devices (VBD) 31/31

Elastic Management of a Grid Computing Service with OpenNebula and Amazon EC2 THANK YOU FOR YOUR ATTENTION!!! More info, downloads, mailing lists at www.opennebula.org OpenNebula is partially funded by the RESERVOIR Resources and Services Virtualization without Barriers project EU grant agreement 215605 Acknowledgements Ignacio M. Llorente Rubén S. Montero www.reservoir-fp7.eu/ Rafael Moreno 32/31