imbus Virtualization Ankur Shashikant Goyal Indiana University Bloomington

advertisement
imbus Virtualization
Ankur Shashikant Goyal
Indiana University Bloomington
Abstract
imbus is one of the major open source cloud
computing software platforms besides Eucalyptus and
Open ebula. It manages the provisioning of virtual
machines for a cloud providing infrastructure-as-aservice.
This survey paper is to study and understand the
virtualization concepts used by imbus while providing
its client “infrastructure-as- a-service” cloud computing
solutions. This document will first describe what is
imbus and then give a detail note on the concepts of
virtualization used along with a short description on XE
and KVM implementation.
called the VMM node. Once the configuration is complete
the user or the subscriber can query directly with their
workspace via the SSH as they would do with a physical
machine.
2. imbus Components
The main Nimbus components which help in the
virtualization and configuring the user with their
workspace are:-
1. Introduction
Nimbus is a set of open source tools that together
provide an Infrastructure-as-a-Service cloud computing
solution. Nimbus allows clients to lease remote resources
by deploying virtual machines on those resources and
configuring them to represent an environment desired by
the user. It was formerly known as Virtual Workspace
Service.
Nimbus aims to enable providers of resources to build
private or community IaaS clouds by providing
implementation of a compute cloud allowing users to
lease computational resources by deploying virtual
machines on those resources. Nimbus allows users to use
IaaS clouds by providing a tool called context broker
which creates a common configuration and security
context across resources provisioned from potentially
multiple clouds. Along with this it provides a sky
computing tools to allow users to automatically scale
across multiple distributed providers. Nimbus provides a
platform for experimentation with features for scientific
needs.
Nimbus achieves its goal with the help of
virtualization concept which is based on XEN and KVM.
Each subscriber is first required to register with the
Nimbus service provider. Subscriber then deploys Nimbus
through cloud configuration. Each subscriber creates its
own virtual workspace which the workspace service front
end deploys the VM workspace onto a physical node
Workspace Service Site Manager
It is the standalone site VM manager that the remote
machines can invoke to configure and deploy their
workspace on Nimbus. It supports protocols which are
web services based or HTTP based running either Apache
Axis based Java container or Apache CXF.
Workspace Service Resource Framework Front-end
Protocol implementation used by previous workspace
services and clients to invoke VM manager to deploy and
manage virtual workspaces.
Cloud Client
The subscribers which provide SaaS and PaaS will host
a site manager service and create an image repository
through cloud configuration. Then the new users which
will be using these services provides by the subscribers
will be directed to use cloud clients. Cloud client makes it
simple to access these services as it automatically
launches instances already configured.
VMM Nodes
Physical nodes on which the VM images are deployed.
Once configured the user will directly query this physical
workspace via SSH.
Workspace Control
Installed on each VMM node that manages its node. It
helps to spawn a VM image when the VM template disk is
pushed onto the compute node. It handles the entire image
management and reconstruction. For example, to spawn a
new VM image, it creates blank partitions and pads the
VM template disk to correct size. Once this is done it
assigns MAC addresses and IP addresses and finishes
configuration. Apart from these functions it also controls
the virtual machines like starting, stopping or pausing
VM. It uses SSH to communicate to workspace service
manager.
Workspace Pilot
The pilot is a program the service will submit to a
local site resource manager (LRM) in order to obtain time
on the VMM nodes. When not allocated to workspace
service, these
nodes will run in normal system
accounts in Xen domain 0 with no guest VM running.
Support is also provided for:The workspace service is down
LRM preemption
Node reboot/shutdown
Workspace pilot is optional.
Cumulus
It Nimbus’s VM image repository. Any VM image
created must be first loaded into cumulus repository
inorder to boot an image.
3. Virtualization
Virtualization techniques are based on XEN and KVM.
The whole idea of Nimbus virtualization is to give the
user the impression that he or she is given his or her own
private workspace area. The user makes a request and
loads its virtual VM image in the cumulus for boot up.
Rest is taken care by the workspace site VM manager. It
communicates with Workspace control via SSH control
on a free physical node to take the appropriate steps to
spawn a VM according to the configuration needed for the
user’s use.
The configuration of Nimbus to create a virtual
machine is done as follows:1.
2.
3.
4.
5.
6.
7.
8.
User uses cloud client to request a VM.
Nimbus will SSH into the compute node.
The VM template disk image is pushed into the
compute node
On the compute node, the VM disk is padded to
the correct size and configured.
The compute node sets up a network bridging to
provide a virtual NIC with a virtual MAC.
A DHCP server on the compute node is
configured with a MAC/IP pair.
VM is spawned on the VMM.
The user can now directly SSH into the VMM.
4. Overview on XE and KVM
XEN
The XEN hypervisor is the basic abstraction layer of
software that sits directly on top of hardware and below
any operating systems. It is responsible for CPU
scheduling and memory partitioning of the various virtual
machines running on the hardware device. The hypervisor
not only abstracts the hardware for the virtual machines
but also controls the execution of virtual machines as they
share the common processing environment. It has no
knowledge of networking, external storage devices, video,
or any other common I/O functions found on a computing
system.
XEN components and their functionality:-
KVM adds a third mode, guest mode having its own
kernel and user modes.
Two main components in KVM:1. Device driver for managing the virtualization
hardware.
2. A user space component for emulating the PC
hardware; this lightly modified QEMU process.
Each physical node in Nimbus has a XEN or a KVM
component.
Domain 0
Unique VM that has special rights to access I/O
resources and interacts with other VMs. Must be the first
one to be running before any other VM is started. It has
two drivers; Network Backend driver which
communicates directly with local networking hardware to
process requests coming from Domain U guests
(explained next) and Block Backend Driver communicates
with local storage disk.
Domain U
Domain U are of two types; all paravirtualized VMs
running on a XEN hypervisor are referred to as Domain U
PV guests PV guests are aware that they do not have
direct access to hardware and recognizes that other VMs
are running on the same machine and fully virtualized
machines are referred t as Domain U HVM guests and run
on standard Windows or any other unchanged operating
systems. These machines are not aware that it is sharing
processing time on the hardware and that other VMs are
present on the same machine. A BIOS software, XEN
virtual firmware is needed to initialize Domain U for
startup configuration. Unlike PV guests who have their
own network drivers and block drivers, HVM guests do
not have such drivers instead, for each HVM guest a
separate Qemu daemon is started on domain 0 which
handles the networking and disk requests from HVM
guests.
KVM
In KVM model, every virtual machine is a linux
process scheduled by a standard scheduler. Apart from the
two modes of operation in linux; user and kernel mode,
5. Summary
Nimbus is mostly tailored to scientific researches
which has broad customization requirements but least
interested in the technical internals of the system.
The security is fairly tight compared to OpenNebula
but not as tight as Eucalyptus.
Unlike Eucalyptus which mimics Amazon EC2,
Nimbus provides a separate EC2 client in order to support
computation environments based on Amazon EC2. Thus if
Amazon requires more extensive data cluster, it can
request Nimbus and fulfill the same.
Thus Nimbus is highly flexible and customizable
except for image storage.
.
6. References
[1]http://wiki.xensource.com
[2]http://www.nimbusproject.org
[3]http://www.cyberciti.biz/tips/understanding-kernelbased-virtual-machine-for-linux.html
[4]http://www.linuxinsight.com/finally-user-friendlyvirtualization-for-linux.html
Download