SlideShare a Scribd company logo
1 of 35
Integration of a batch scheduler
with a private cloud solution
Internship project:
Research Computing & Facilitating Services,
University College London
Riccardo Samperna
riccardo.samperna.13@ucl.ac.uk
The aim of the project
Investigate solutions to deploy an open source private
cloud inside the Legion cluster.
Integrate the batch scheduler already in use to allow
researchers to submit instances of virtual machines
and being able to work on different operating
systems.
1. Preliminary steps
Internship itinerary
2. Hacking the virtualization
3. Cloud platform choice
5. Conclusions and results
4. Deployment and configuration
Set up test environment: two machines installed with
centOS 6.5 in order to be able to reproduce the
software running in the Legion platform.
Preliminary steps
Learn about new technologies: a lot of
documentation and research papers in particular about
virtualization, hypervisors, batch schedulers.
During my first weeks I was advised to read about
another similar project at the University of Victoria.
They realized Cloud Scheduler, a cloud-enabled
distributed resource manager backend that manages
virtual machines on clouds like Nimbus, OpenNebula,
Eucalyptus or EC2 to create an environment for batch
job execution.
Investigate similar solutions
It is based on the Torque batch scheduler.
1. Preliminary steps
Internship itinerary
2. Hacking the virtualization
3. Cloud platform choice
5. Conclusions and results
4. Deployment and configuration
In the first stage of the research I realized a
prototype of the project without using cloud software
solutions.
Hacking the virtualization
This step helped me to have a better understanding of
the underlying mechanism and to familiarize with the
Grid Engine batch scheduler.
What did I use?
VMs on Grid Engine
Starter_method: checks if jobs require the creation of
virtual machines, if so, it creates a virtual machine
using Vagrant.
Prolog: runs the job submitted from the user inside
the virtual environment
Epilog: cleans up the virtual environment and collect
the results of the job.
1. Preliminary steps
Internship itinerary
2. Hacking the virtualization
3. Cloud platform choice
5. Conclusions and results
4. Deployment and configuration
According to the official NIST definition:
Cloud computing
Cloud Computing is a model for enabling ubiquitous,
convenient, on-demand network access to a shared pool of
configurable computing resources that can be rapidly
provisioned and released with minimal management effort or
service provider interaction.
The cloud model is composed of four deployment
models.
A private cloud is a particular deployment model of
cloud computing.
Private cloud
The cloud (the pool of resource) is only accessible by
a single organisation providing that organisation with
greater control and privacy.
Two main competitors
OpenStack is a free and open-source cloud computing
software platform.
Openstack
The technology consists of a series of interrelated
projects that control pools of processing, storage, and
networking resources throughout a data center—which
users manage through a web-based dashboard,
command-line tools, or a RESTful API.
Eucalyptus is the acronym for Elastic Utility
Computing Architecture for Linking Your Programs
To Useful Systems.
Eucalyptus
It enables pooling compute, storage, and network
resources that can be dynamically scaled up or down
as application workloads change.
Amazon Web Services compatible.
What have I chosen?
The Nimbus Infrastructure is an open source EC2/S3-
compatible Infrastructure-as-a-Service
implementation.
About Nimbus
It specifically targets features of interest to the
scientific community such as support for proxy
credentials, batch schedulers, best-effort allocations
and others.
Three main components:
Nimbus architecture
- Nimbus IaaS/Cumulus: master node and repository
of the infrastructure.
- VMMs: Virtual Machine Managers and executor
nodes.
- Cloud client.
Support for batch scheduler integration;
So… Why Nimbus?
● Reduced complexity compared to the other
available solutions;
● Specifically target the scientific community;
1. Preliminary steps
Internship itinerary
2. Hacking the virtualization
3. Cloud platform choice
5. Conclusions and results
4. Deployment and configuration
For the deployment of the cloud in my test
environment I decided to install the Nimbus
Iaas/Cumulus in one machine. I installed the VMM
and the cloud client in the second machine.
Deployment and configuration
I used a similar configuration for the Grid Engine
scheduler.
During the installation of the cloud software I had a
network problem because it wasn’t possible to use a
DHCP server. Both the machines were using a static ip
connected to the UCL network.
Network configuration
To overcome this problem I used a crossbar cable
between the two machines creating a small private
network.
Nimbus currently supports two hypervisors: KVM and
Xen. I decided to go with KVM that is easier and faster
to install.
First test
After some dependencies fix and some other problem
resolution I succeeded in setting everything up. I was
able to create virtual machines and ssh into them.
The installation process of Nimbus use the default
mode that does not integrate the batch scheduler.
Therefore the next step was to switch to the pilot
mode to be able to submit requests of creation of VMs
to the Grid Engine scheduler.
First test (pilot mode)
At this point I found out something unexpected, the
online documentation didn’t mention that only Xen is
supported in pilot mode.
Shell output after VM creation request with Nimbus
cloud client (using KVM hypervisor):
First test problem
Start time: will be set after lease is secured
Shutdown time: will be set after lease is secured
Termination time: will be set after lease is secured
workspacepilot.py (python script for the pilot
mode) was trying to create a virtual machine with
Xen without success.
When the hypervisor problem came up I decided to re-
install the VMM, this time using Xen.
Second test
Everything was set up again but when I tried to launch
a virtual machine instance I found out another
problem, there was something wrong with the kernel
that Xen was using to boot the virtual environment.
dracut: Starting plymouth daemon
alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
blkfront: xvda1: flush diskcache: enabled using persistent grants
kjournald starting. Commit interval 5 seconds
EXT3-fs (xvda1): mounted filesystem with ordered data mode
dracut: Remounting /dev/xvda1 with -o errors=remount-ro,ro
kjournald starting. Commit interval 5 seconds
EXT3-fs (xvda1): mounted filesystem with ordered data mode
dracut: Mounted root filesystem /dev/xvda1
dracut: Switching root
EXT3-fs (xvda1): using internal journal
Second test problem
Console output when Xen creates a virtual machine
using the Nimbus cloud client (it enters a loop and
crash down):
Looking for a solution to the problem I also found out
that Red Hat, from the version 6, dropped the
support for Xen.
Second test problem (part II)
Therefore the problem can be related to this event
but I didn’t find any other clue to solve the issue.
1. Preliminary steps
Internship itinerary
2. Hacking the virtualization
3. Cloud platform choice
5. Conclusions and results
4. Deployment and configuration
Nimbus seemed the best choice for the purpose of
this project thanks to its support for the batch
scheduler and the relatively easy installation but in
the end I would reconsider its use.
Conclusion and results
I think it will be better to adapt a more commercial
solution as Openstack, given its greater support and
elasticity, in order to be able to solve the goal of the
project.

More Related Content

What's hot

Securing OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with AnsibleSecuring OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with AnsibleMajor Hayden
 
Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Belmiro Moreira
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Docker, Inc.
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolTorrid Networks Private Limited
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source CloudAdrian Otto
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesostomasbart
 
ICALEPCS 2011: Testing Environments using Virtualization
ICALEPCS 2011: Testing Environments using VirtualizationICALEPCS 2011: Testing Environments using Virtualization
ICALEPCS 2011: Testing Environments using VirtualizationOmer Khalid
 
Cloud Infrastructure
Cloud InfrastructureCloud Infrastructure
Cloud InfrastructureKamruddin Nur
 
Classification of Virtualization Environment for Cloud Computing
Classification of Virtualization Environment for Cloud ComputingClassification of Virtualization Environment for Cloud Computing
Classification of Virtualization Environment for Cloud ComputingSouvik Pal
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersKento Aoyama
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache MesosJoe Stein
 
Kubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQLKubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQLpratik rathod
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...The Linux Foundation
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 

What's hot (20)

Securing OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with AnsibleSecuring OpenStack and Beyond with Ansible
Securing OpenStack and Beyond with Ansible
 
Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015
 
Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?Cgroups, namespaces and beyond: what are containers made from?
Cgroups, namespaces and beyond: what are containers made from?
 
Unix Automation using centralized configuration management tool
Unix Automation using centralized configuration management toolUnix Automation using centralized configuration management tool
Unix Automation using centralized configuration management tool
 
Build Your Own Open Source Cloud
Build Your Own Open Source CloudBuild Your Own Open Source Cloud
Build Your Own Open Source Cloud
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
ICALEPCS 2011: Testing Environments using Virtualization
ICALEPCS 2011: Testing Environments using VirtualizationICALEPCS 2011: Testing Environments using Virtualization
ICALEPCS 2011: Testing Environments using Virtualization
 
Usenix04 20040702
Usenix04 20040702Usenix04 20040702
Usenix04 20040702
 
Cloud Infrastructure
Cloud InfrastructureCloud Infrastructure
Cloud Infrastructure
 
2010 xen-lisa
2010 xen-lisa2010 xen-lisa
2010 xen-lisa
 
Classification of Virtualization Environment for Cloud Computing
Classification of Virtualization Environment for Cloud ComputingClassification of Virtualization Environment for Cloud Computing
Classification of Virtualization Environment for Cloud Computing
 
An Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux ContainersAn Updated Performance Comparison of Virtual Machines and Linux Containers
An Updated Performance Comparison of Virtual Machines and Linux Containers
 
Introduction to Apache Mesos
Introduction to Apache MesosIntroduction to Apache Mesos
Introduction to Apache Mesos
 
Kubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQLKubernetes - Using Persistent Disks with WordPress and MySQL
Kubernetes - Using Persistent Disks with WordPress and MySQL
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
Big Data, Better Networks
Big Data, Better NetworksBig Data, Better Networks
Big Data, Better Networks
 
Quick Trip with Docker
Quick Trip with DockerQuick Trip with Docker
Quick Trip with Docker
 
Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...Scale14x: Are today's foss security practices robust enough in the cloud era ...
Scale14x: Are today's foss security practices robust enough in the cloud era ...
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 

Viewers also liked

CloudCamp Chicago - Industry Cloud
CloudCamp Chicago - Industry CloudCloudCamp Chicago - Industry Cloud
CloudCamp Chicago - Industry CloudCloudCamp Chicago
 
Prezentacja4
Prezentacja4Prezentacja4
Prezentacja4PaszekINC
 
Sottoprogrammi in Visual Basic
Sottoprogrammi in Visual BasicSottoprogrammi in Visual Basic
Sottoprogrammi in Visual Basicfilippotrotta
 
GPS_Tracking_Darren_Chaker
GPS_Tracking_Darren_ChakerGPS_Tracking_Darren_Chaker
GPS_Tracking_Darren_ChakerDarren Chaker
 

Viewers also liked (6)

CloudCamp Chicago - Industry Cloud
CloudCamp Chicago - Industry CloudCloudCamp Chicago - Industry Cloud
CloudCamp Chicago - Industry Cloud
 
Nimbus Ravyn Dominguez
Nimbus Ravyn DominguezNimbus Ravyn Dominguez
Nimbus Ravyn Dominguez
 
Prezentacja4
Prezentacja4Prezentacja4
Prezentacja4
 
Sottoprogrammi in Visual Basic
Sottoprogrammi in Visual BasicSottoprogrammi in Visual Basic
Sottoprogrammi in Visual Basic
 
About Nimbus Concept
About Nimbus ConceptAbout Nimbus Concept
About Nimbus Concept
 
GPS_Tracking_Darren_Chaker
GPS_Tracking_Darren_ChakerGPS_Tracking_Darren_Chaker
GPS_Tracking_Darren_Chaker
 

Similar to Internship presentation

Emulating cisco network laboratory topologies in the cloud
Emulating cisco network laboratory topologies in the cloudEmulating cisco network laboratory topologies in the cloud
Emulating cisco network laboratory topologies in the cloudronan messi
 
final proposal-Xen based Hypervisor in a Box
final proposal-Xen based Hypervisor in a Boxfinal proposal-Xen based Hypervisor in a Box
final proposal-Xen based Hypervisor in a BoxParamkusham Shruthi
 
Crash Course on Open Source Cloud Computing
Crash Course on Open Source Cloud ComputingCrash Course on Open Source Cloud Computing
Crash Course on Open Source Cloud ComputingMark Hinkle
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON Byrum
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overviewkarthik s
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant Ricardo Amaro
 
A Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and ContainersA Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and Containersprashant desai
 
Using openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesUsing openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesKris Buytaert
 
Horizontal scaling with Galaxy
Horizontal scaling with GalaxyHorizontal scaling with Galaxy
Horizontal scaling with GalaxyEnis Afgan
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppetbuildacloud
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISORVanika Kapoor
 
Build a private cloud – prototype and test with open nebula
Build a private cloud – prototype and test with open nebulaBuild a private cloud – prototype and test with open nebula
Build a private cloud – prototype and test with open nebulaA B M Moniruzzaman
 
Developing distributed analysis pipelines with shared community resources usi...
Developing distributed analysis pipelines with shared community resources usi...Developing distributed analysis pipelines with shared community resources usi...
Developing distributed analysis pipelines with shared community resources usi...Brad Chapman
 
CloudMan workshop
CloudMan workshopCloudMan workshop
CloudMan workshopEnis Afgan
 
CloudStack and cloud-init
CloudStack and cloud-initCloudStack and cloud-init
CloudStack and cloud-initMarcusS13
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific ComputingPeter Bryzgalov
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDMustafa AKIN
 

Similar to Internship presentation (20)

Emulating cisco network laboratory topologies in the cloud
Emulating cisco network laboratory topologies in the cloudEmulating cisco network laboratory topologies in the cloud
Emulating cisco network laboratory topologies in the cloud
 
final proposal-Xen based Hypervisor in a Box
final proposal-Xen based Hypervisor in a Boxfinal proposal-Xen based Hypervisor in a Box
final proposal-Xen based Hypervisor in a Box
 
Crash Course on Open Source Cloud Computing
Crash Course on Open Source Cloud ComputingCrash Course on Open Source Cloud Computing
Crash Course on Open Source Cloud Computing
 
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom FifieldOSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
OSCON 2013 - Planning an OpenStack Cloud - Tom Fifield
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Cloud computing overview
Cloud computing overviewCloud computing overview
Cloud computing overview
 
OpenQrm
OpenQrmOpenQrm
OpenQrm
 
Drupalcamp es 2013 drupal with lxc docker and vagrant
Drupalcamp es 2013  drupal with lxc docker and vagrant Drupalcamp es 2013  drupal with lxc docker and vagrant
Drupalcamp es 2013 drupal with lxc docker and vagrant
 
A Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and ContainersA Survey of Performance Comparison between Virtual Machines and Containers
A Survey of Performance Comparison between Virtual Machines and Containers
 
Using openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual MachinesUsing openQRM to Manage Virtual Machines
Using openQRM to Manage Virtual Machines
 
Horizontal scaling with Galaxy
Horizontal scaling with GalaxyHorizontal scaling with Galaxy
Horizontal scaling with Galaxy
 
Automating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with PuppetAutomating Your CloudStack Cloud with Puppet
Automating Your CloudStack Cloud with Puppet
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 
Build a private cloud – prototype and test with open nebula
Build a private cloud – prototype and test with open nebulaBuild a private cloud – prototype and test with open nebula
Build a private cloud – prototype and test with open nebula
 
Developing distributed analysis pipelines with shared community resources usi...
Developing distributed analysis pipelines with shared community resources usi...Developing distributed analysis pipelines with shared community resources usi...
Developing distributed analysis pipelines with shared community resources usi...
 
A Xen Case Study
A Xen Case StudyA Xen Case Study
A Xen Case Study
 
CloudMan workshop
CloudMan workshopCloudMan workshop
CloudMan workshop
 
CloudStack and cloud-init
CloudStack and cloud-initCloudStack and cloud-init
CloudStack and cloud-init
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
Cloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
 

Internship presentation

  • 1. Integration of a batch scheduler with a private cloud solution Internship project: Research Computing & Facilitating Services, University College London Riccardo Samperna riccardo.samperna.13@ucl.ac.uk
  • 2. The aim of the project Investigate solutions to deploy an open source private cloud inside the Legion cluster. Integrate the batch scheduler already in use to allow researchers to submit instances of virtual machines and being able to work on different operating systems.
  • 3. 1. Preliminary steps Internship itinerary 2. Hacking the virtualization 3. Cloud platform choice 5. Conclusions and results 4. Deployment and configuration
  • 4. Set up test environment: two machines installed with centOS 6.5 in order to be able to reproduce the software running in the Legion platform. Preliminary steps Learn about new technologies: a lot of documentation and research papers in particular about virtualization, hypervisors, batch schedulers.
  • 5. During my first weeks I was advised to read about another similar project at the University of Victoria. They realized Cloud Scheduler, a cloud-enabled distributed resource manager backend that manages virtual machines on clouds like Nimbus, OpenNebula, Eucalyptus or EC2 to create an environment for batch job execution. Investigate similar solutions It is based on the Torque batch scheduler.
  • 6.
  • 7. 1. Preliminary steps Internship itinerary 2. Hacking the virtualization 3. Cloud platform choice 5. Conclusions and results 4. Deployment and configuration
  • 8. In the first stage of the research I realized a prototype of the project without using cloud software solutions. Hacking the virtualization This step helped me to have a better understanding of the underlying mechanism and to familiarize with the Grid Engine batch scheduler.
  • 9. What did I use?
  • 10. VMs on Grid Engine Starter_method: checks if jobs require the creation of virtual machines, if so, it creates a virtual machine using Vagrant. Prolog: runs the job submitted from the user inside the virtual environment Epilog: cleans up the virtual environment and collect the results of the job.
  • 11.
  • 12. 1. Preliminary steps Internship itinerary 2. Hacking the virtualization 3. Cloud platform choice 5. Conclusions and results 4. Deployment and configuration
  • 13. According to the official NIST definition: Cloud computing Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. The cloud model is composed of four deployment models.
  • 14. A private cloud is a particular deployment model of cloud computing. Private cloud The cloud (the pool of resource) is only accessible by a single organisation providing that organisation with greater control and privacy.
  • 16. OpenStack is a free and open-source cloud computing software platform. Openstack The technology consists of a series of interrelated projects that control pools of processing, storage, and networking resources throughout a data center—which users manage through a web-based dashboard, command-line tools, or a RESTful API.
  • 17.
  • 18. Eucalyptus is the acronym for Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. Eucalyptus It enables pooling compute, storage, and network resources that can be dynamically scaled up or down as application workloads change. Amazon Web Services compatible.
  • 19.
  • 20. What have I chosen?
  • 21. The Nimbus Infrastructure is an open source EC2/S3- compatible Infrastructure-as-a-Service implementation. About Nimbus It specifically targets features of interest to the scientific community such as support for proxy credentials, batch schedulers, best-effort allocations and others.
  • 22. Three main components: Nimbus architecture - Nimbus IaaS/Cumulus: master node and repository of the infrastructure. - VMMs: Virtual Machine Managers and executor nodes. - Cloud client.
  • 23.
  • 24. Support for batch scheduler integration; So… Why Nimbus? ● Reduced complexity compared to the other available solutions; ● Specifically target the scientific community;
  • 25. 1. Preliminary steps Internship itinerary 2. Hacking the virtualization 3. Cloud platform choice 5. Conclusions and results 4. Deployment and configuration
  • 26. For the deployment of the cloud in my test environment I decided to install the Nimbus Iaas/Cumulus in one machine. I installed the VMM and the cloud client in the second machine. Deployment and configuration I used a similar configuration for the Grid Engine scheduler.
  • 27. During the installation of the cloud software I had a network problem because it wasn’t possible to use a DHCP server. Both the machines were using a static ip connected to the UCL network. Network configuration To overcome this problem I used a crossbar cable between the two machines creating a small private network.
  • 28. Nimbus currently supports two hypervisors: KVM and Xen. I decided to go with KVM that is easier and faster to install. First test After some dependencies fix and some other problem resolution I succeeded in setting everything up. I was able to create virtual machines and ssh into them.
  • 29. The installation process of Nimbus use the default mode that does not integrate the batch scheduler. Therefore the next step was to switch to the pilot mode to be able to submit requests of creation of VMs to the Grid Engine scheduler. First test (pilot mode) At this point I found out something unexpected, the online documentation didn’t mention that only Xen is supported in pilot mode.
  • 30. Shell output after VM creation request with Nimbus cloud client (using KVM hypervisor): First test problem Start time: will be set after lease is secured Shutdown time: will be set after lease is secured Termination time: will be set after lease is secured workspacepilot.py (python script for the pilot mode) was trying to create a virtual machine with Xen without success.
  • 31. When the hypervisor problem came up I decided to re- install the VMM, this time using Xen. Second test Everything was set up again but when I tried to launch a virtual machine instance I found out another problem, there was something wrong with the kernel that Xen was using to boot the virtual environment.
  • 32. dracut: Starting plymouth daemon alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni) blkfront: xvda1: flush diskcache: enabled using persistent grants kjournald starting. Commit interval 5 seconds EXT3-fs (xvda1): mounted filesystem with ordered data mode dracut: Remounting /dev/xvda1 with -o errors=remount-ro,ro kjournald starting. Commit interval 5 seconds EXT3-fs (xvda1): mounted filesystem with ordered data mode dracut: Mounted root filesystem /dev/xvda1 dracut: Switching root EXT3-fs (xvda1): using internal journal Second test problem Console output when Xen creates a virtual machine using the Nimbus cloud client (it enters a loop and crash down):
  • 33. Looking for a solution to the problem I also found out that Red Hat, from the version 6, dropped the support for Xen. Second test problem (part II) Therefore the problem can be related to this event but I didn’t find any other clue to solve the issue.
  • 34. 1. Preliminary steps Internship itinerary 2. Hacking the virtualization 3. Cloud platform choice 5. Conclusions and results 4. Deployment and configuration
  • 35. Nimbus seemed the best choice for the purpose of this project thanks to its support for the batch scheduler and the relatively easy installation but in the end I would reconsider its use. Conclusion and results I think it will be better to adapt a more commercial solution as Openstack, given its greater support and elasticity, in order to be able to solve the goal of the project.