Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four...

34
1 Overview Demo Claudia OpenNebula

Transcript of Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four...

Page 1: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

1

OverviewDemoClaudiaOpenNebula

Page 2: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

2

RESERVOIR Reference Architecture

Page 3: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

3

Virtual Execution Environment Manager

Monitoring

VMI Client

OpenNebula

Policy Engine

Service Manager

VEE Hosts

RemoteVEEMs

Page 4: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

4

VEEH

• Dynamic binding of VEE’s to VEEH

• Responsible for VEE provisioning– as opposed to the management

• Provides abstraction to the virtualization technology– adding to the virtualisation platform the

necessary functions

Page 5: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

5

VEEH

• Perform the elementary control and monitoring of VEEs and their resources– placement of VEEs– creating a VEE, – allocating additional resources to a VEE, – monitoring a VEE, – migrating a VEE, – creating a virtual network and storage pool, – etc.

Page 6: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

6

Credits: Borja SotomayorUniversity of Chicago

Page 7: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

7

Page 8: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

8

Page 9: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

9

Page 10: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

10

Page 11: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

11

Page 12: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

12

Page 13: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

13

Page 14: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

14

Page 15: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

15

Page 16: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

16

Page 17: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

17

OpenNebula Management Console

Page 18: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

18

OpenNebula Management Console

Setup: http://dev.opennebula.org/projects/management-console/wiki/onemc_install_ubuntu

Page 19: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

19

Platform ISF VMware Vsphere Eucalyptus Nimbus OpenNebula

Virtualization Management

VMware, Xen

VMware Xen, KVM XenXen, KVM,

VMware

Virtual Network Management

Yes Yes No Yes Yes

Image Management

Yes Yes Yes Yes Yes

Service Contextualization

No No No Yes Yes

Scheduling Yes Yes No No Yes

Administration Interface

Yes Yes No No Yes

Hybrid Cloud Computing

No No No No Yes

Cloud Interfaces No vCloud EC2 WSRF, EC2 EC2 Query

Flexibility and Extensibility

Yes No Yes Yes Yes

Open Source No No GPL Apache Apache

Page 20: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

20

Opennebula, basic installationArchitecture Overview• Front-end: executes the

OpenNebula service

• Nodes: hosts providing resources needed by VMS.

• Image repository: any storage medium holding images of the VMs.

• OpenNebula daemon (oned): core service of the system.

• Drivers: used by the core to interface with subsystems

• (oneadmin: administration user)

Page 21: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

21

Opennebula, basic installationImages storage• Shared FS: Non shared FS

configuration possible (but only allows cold migrations)

• Accounts: oneadmin created and able to perform sshcommands.

• Virtualisation tools: to be installed on nodes

– Xen– KVM– VMWare

Page 22: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

22

Opennebula commands (1/2)• OpenNebula provides four commands:

– onevm to submit, control and monitor VMs– onehost to add, delete and monitor hosts– onevnet to add, delete and monitor virtual networks– oneuser to add, delete and monitor users

• Common parameters:– -l, list x,y,z: Selects columns to display with list command.– -f, filter x,y,z: Filter data. An array is specified with column=value pairs.– -d, delay seconds: Sets the delay in seconds for top command.– -h, help: Shows help information.– -v, verbose: Tells more information if the command is successful

Page 23: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

23

Opennebula commands (2/2)• Examples:Submit a new virtual machine, adding it to the ONE VM pool

onevm create <template>

Starts a previously submitted VM on a specific hostonevm deploy <vm_id> <host_id>

Shutdown an already deployed VMonevm shutdown <vm_id>

Saves a running VM and starts it again in the specified hostonevm migrate <vm_id> <host_id>

Saves a running VM: onevm suspend <vm_id>

Resume execution of a saved VM: onevm resume <vm_id>

Stop a running VM: onevm stop <vm_id>

Delete a VM from the pool: onevm delete <vm_id>

Page 24: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

24

Opennebula, before installation

Impact of Linux distribution

• Installation of OpenNebula is eased under Ubuntu (packages available in repositories, documentation, …) but …– Is it the distribution of your scientific cluster?

– Is your enterprise contracting support for it?

• Deployment on Red Hat related/compatible distros must be considered– Use of CentOS in examples too

Page 25: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

25

Ubuntu basic installation• Ubuntu 10.04 (Lucid Lynx) version (1/3)

– Deploying application– Opennebula already in repositories

• Deployment of front end nodesudo apt-get install opennebula

Deployment of compute node (to be replicated X times!)sudo apt-get install opennebula-node

User oneadmin created, setting password and keys (for ssh and scp)sudo scp /var/lib/one/.ssh/id_rsa.pub

oneadmin@mynode01:/var/lib/one/.ssh/authorized_keys

sudo scp /var/lib/one/.ssh/id_rsa.puboneadmin@mynodeXX:/var/lib/one/.ssh/authorized_keys

sudo sh -c "cat /var/lib/one/.ssh/id_rsa.pub >> /var/lib/one/.ssh/authorized_keys"

sudo sh -c "ssh-keygen -f .ssh/known_hosts -F mynode01 1>> /etc/ssh/ssh_known_hosts"

sudo sh -c "ssh-keygen -f .ssh/known_hosts -F mynodeXX 1 >> /etc/ssh/ssh_known_hosts"

Page 26: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

26

Ubuntu basic installation• Ubuntu 10.04 (Lucid Lynx) version (2/3)

– Configuration (1/2)• Preparing space for VMs

sudo mkdir /var/lib/one/imagessudo chown oneadmin /var/lib/one/images/

Adding VMs to Opennebulaonehost create node01 im_kvm vmm_kvm tm_sshonehost create node02 im_kvm vmm_kvm tm_ssh

• Network configuration (basic):• « vnet01.template » file:

NAME = "LAN"TYPE = RANGEDBRIDGE = br0NETWORK_SIZE = CNETWORK_ADDRESS = 192.168.0.0

• Applying network configuration• onevnet create vnet01.template

Page 27: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

27

Ubuntu basic installation• Ubuntu 10.04 (Lucid Lynx) version (3/3)

– Configuration (2/2)• Preparing VM template• « vm01.template » file:

NAME = vm01CPU = 0.5MEMORY = 512OS = [ BOOT = hd ]DISK = [

source = "/var/lib/one/images/vm01.qcow2",target = "hda",readonly = "no" ]

NIC = [ NETWORK="LAN" ]GRAPHICS = [type="vnc",listen="127.0.0.1",port="-1" ]

• Applying VM configurationonevm submit vm01.template

– Check details about VMs:onevm list onevm show vm01

Page 28: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

28

Ubuntu basic installation• Ubuntu versions prior to 10.04

– Setting up repositories• deb http://ppa.launchpad.net/opennebula-

ubuntu/ppa/ubuntu intrepid main

• Ubuntu 8.10 (intrepid) configuration.• Use same value for 9.04 (jaunty).• Also available for 8.04 LTS with « hardy » value

– Deploying application• Follow steps described for 10.04

– Checking resultonevm list

ID NAME STAT CPU MEM HOSTNAME TIME

0 one-0 runn 0 65536 testh01 00 0:00:02

Page 29: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

29

CentOS basic installation• CentOS5, front node

– Plain vanilla CentOS installation– OpenNebula requires several applications / libraries

• Manual installation– ruby >= 1.8.6 (install through yum)– sqlite3 >= 3.5.2 – sqlite3-dev >= 3.5.6-3 – sqlite3-ruby – libxmlrpc-c >= 1.06 – scons >= 0.97 – g++ >= 4 (install through yum)

• Adding repositories and installing packages– Add « Extra Packages for Enterprise Linux » (EPEL) repository

(http://fedoraproject.org/wiki/EPEL)» Packages to install: ruby ruby-devel gcc gcc-c++ make openssl-devel scons flex bison

– Add Karan repository http://centos.karan.org» Packages to install: xmlrpc-c

– Still manually install sqlite …

– Optional: setup dynamic DNS– Setup VM images repository (as in Ubuntu installation)– Install mkisofs (for contextualisation)

Page 30: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

30

Opennebula, Public Cloud

• OCCI Interface– RESTful API (HTTP)– Allow to specify requirements on

• Storage• Network• Compute resources

– Authentication• In each message (user/password parameters)• Based on server location

Page 31: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

31

OCCI short exampleStorage

<DISK> <NAME>UbuntuImage</NAME>

<URL>file: //images/ubuntu.img</URL>

</DISK>

Network<NETWORK> <NAME>MyServiceNetwork</NAME>

<ADDRESS>192.168.71.1</ADDRESS> <SIZE>200</SIZE>

</NETWORK>

Compute resource<COMPUTE> <NAME>MyCompute</NAME>

<STORAGE>

<SWAP size=”1024” dev=”sda2”/>

<DISK image=”abcd8888-5ade-012c-f1d5-00254 bd6f386” dev=”sda1 ”/>

<FS size=”512” format=”ext3” dev=”sda3”/>

</STORAGE>

<NETWORK> <NIC network=”23” ip=”192.168.71.26”/> </N ETWORK>

<INSTANCE TYPE>small</INSTANCE TYPE>

</COMPUTE>

Request executed through occi-compute command

Page 32: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

32

Opennebula, Hybrid Cloud configuration

• Adaptors (MAD) configuration in oned.conf file for EC2IM_MAD = [

name = "im_ec2",

executable = "one_im_ec2",

arguments = "im_ec2/im_ec2.conf",

default = "im_ec2/im_ec2.conf" ]

VM_MAD = [

name = "vmm_ec2",

executable = "one_vmm_ec2",

arguments = "<ec2_options> vmm_ec2/vmm_ec2.conf",

type = "xml" ]

<ec2_options>: flags used to setup EC2 environment (home, cert., etc.)Authentication information must also be set (see ec2rc file in mad folder)Maximum capacity is set in im_ec2.conf file

Page 33: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

33

OpenNebula Architecture summary

Page 34: Overview Demo Claudia OpenNebulac.pdf · Opennebula commands (1/2) • OpenNebula provides four commands: – onevm to submit, control and monitor VMs – onehost to add, delete and

34

OpenNebula, summary• Internal Interfaces for Administrators and Users - Unix-like CLI and XML-RPC API to

manage VM life-cycle and physical boxes; and libvirt virtualization API

• Scheduler - Requirement/rank matchmaker allowing the definition of workload and resource-aware allocation policies; and support for advance reservation of capacity

• Virtualization Management Xen, KVM and VMware connectors; and generic libvirtconnector to other VM managers. Virtual Box (planned)

• Image Management - General mechanisms to transfer and clone VM images

• Network Management - Definition of isolated virtual networks to interconnect VMs

• Service Management and Contextualization - Support for multi-tier services consisting of groups of interconnected VMs, and their auto-configuration at boot time

• Security - Management of users by the infrastructure administrator

• Fault Tolerance - Persistent database backend to store host and VM information

• Scalability - Tested in the management of medium scale infrastructures

• Installation - on a UNIX cluster front-end, include in Linux distros.

• Flexibility and Extensibility - Open, flexible and extensible architecture, interfaces and components, allowing its integration with other products or tools