OpenNebula can be primarily used as a virtualization tool to manage your virtual infrastructure in the data-center or cluster.
- OpenNebula is a toolkit for building Clouds ( public cloud,private cloud )
- It Supports KVM , Xen , Vmware Server , VirtualBox (planned from 1.4.2)
- It consists of Front End , Node
$ sudo apt-get install opennebula Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: opennebula-common The following NEW packages will be installed: opennebula opennebula-common 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. Need to get 280kB of archives. After this operation, 1352kB of additional disk space will be used. Do you want to continue [Y/n]? … Setting up opennebula-common (1.2-0ubuntu1~intrepid1) … … Adding system user `oneadmin’ (UID 107) … Adding new user `oneadmin’ (UID 107) with group `nogroup’ … Generating public/private rsa key pair. … Setting up opennebula (1.2-0ubuntu1~intrepid1) … oned and scheduler started
Node Installation
$ sudo apt-get install opennebula-node Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: opennebula-common The following NEW packages will be installed: opennebula-common opennebula-node ... Setting up opennebula-node (1.2-0ubuntu1~intrepid1) ... Adding user `oneadmin' to group `libvirtd' ... Adding user oneadmin to group libvirtd Done.
OpenNebula Core
----------------------* Request Manager, to handle client requests
* Virtual Machine Manager, to manage and monitor of VMs
* Transfer Manager, to manage VM images
* Virtual Network Manager, to manage virtual networks
* Host Manager, to manage and monitor physical resources
* Database, persistent storage for ONE data structures
OpenNebula does the following:
------------------------------------
* Manages Virtual Networks. Virtual networks interconnect VMs. Each Virtual Networks includes a description.
* Creates VMs. The VM description is added to the database.
* Deploys VMs. According to the allocation policy, the scheduler decides where to execute the VMs.
* Manages VM Images. Before execution, VM images are transferred to the host and swap disk images are created. After execution, VM images may be copied back to the repository.
* Manages Running VMs. VM are started, periodically polled to get their consumption and state, and can be shutdown, suspended, stopped or migrated.
The main functional components of an OpenNebula Private Cloud are the following:
-------------------------------------------------------------------------------------
* Hypervisor: Virtualization manager installed in the resources of the cluster that OpenNebula leverages for the management of the VMs within each host.
* Virtual Infrastructure Manager: Centralized manager of VMs and resources, providing virtual network management, VM life-cycle management, VM image management and fault tolerance.
* Scheduler: VM placement policies for balance of workload, server consolidation, placement constraints, affinity, advance reservation of capacity and SLA commitment.
Daemon Configuration Attributes
-------------------------------------
* HOST_MONITORING_INTERVAL : Time in seconds between host monitorization
* VM_POLLING_INTERVAL : Time in seconds between virtual machine monitorization
* VM_DIR : Remote path to store the VM images, it should be shared between all the cluster nodes to perform live migrations. This path will be used for all the cluster nodes.
* MAC_PREFIX: Default MAC prefix to generate virtual network MAC addresses
* NETWORK_SIZE: Default size for virtual networks
* PORT : Port where oned will listen for xml-rpc calls
* DEBUG_LEVEL : Sets the level of verbosity of $ONE_LOCATION/var/oned.log log file. Possible values are:
DEBUG_LEVEL Meaning
---------------------------------
0 ERROR
1 WARNING
2 INFO
3 DEBUG
Command line interface
--------------------------------
* onevm: to submit, control and monitor virtual machines
* onehost: to add, delete and monitor hosts
$ onehost list
HID NAME RVM TCPU FCPU ACPU TMEM FMEM STAT
0 host01 0 800 800 800 8194468 7867604 on
1 host02 0 800 797 800 8387584 1438720 on
$ onevm list
ID USER NAME STAT CPU MEM HOSTNAME TIME
1001 oneadmin fc11AOS dele 0 512000 node2 02 22:10:56