2. 2
LIST OF FIGURES
Figure 1 Cloud architecture .................................................................................. 8
Figure 2 Graphical explanation of cloud computing model................................ 8
Figure 3 oVirt architecture overview .................................................................... 9
Figure 4 oVirt overall architecture.......................................................................10
Figure 5 Configuration stage ...............................................................................13
Figure 6 Validation stage .....................................................................................14
Figure 7 oVirt-engine installation summary........................................................14
Figure 8 Web Administration Portal interface.....................................................15
Figure 9 Creating new data center.......................................................................15
Figure 10 Creating new cluster............................................................................16
Figure 11 Creating new host................................................................................17
Figure 12 Creating new virtual machine..............................................................18
Figure 13 Installing an Ubuntu server .................................................................18
Figure 14 Apache web server through IP: 10.101.225.41 (Ubuntu server)........19
Figure 15 PHP web server through IP: 10.101.225.41 (Ubuntu server) .............19
Figure 16 Virtual servers......................................................................................20
Figure 17 Apache web server through IP: 10.101.225.47 (Fedora server) ........20
Figure 18 User Portal interface (extended view).................................................21
Figure 19 User Portal interface (basic view) .......................................................21
3. 3
1. INTRODUCTION
The term “cloud computing” had becoming something common to be heard
in the today’s world especially in the Information Technology (IT) environment. Cloud
computing allows the service providers to efficiently manage their infrastructure
including computing and storage servers, and enables a variety of new models,
such as infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS), and
software-as-a-service (SaaS)[1]. Industries are moving towards cloud-based system
approach to manage their data center effectively and cost-saving approach. One of
the solutions is by applying virtualization technology. Virtualization is defined as the
creation of virtual version of something, such as operating system, server, storage
device and network resources1
. Virtualization is the key enabling technology for the
cloud computing infrastructure, which efficiently hosts multiple operating system
instances on top of a single physical platform [1].The main goal of virtualization is to
manage workloads by transforming traditional computing to make it scalable.
Virtualization can be divided into three main areas which are network virtualization,
storage virtualization and server virtualization. The focus for this project is to
implement server virtualization which partitions one physical server into multiple
virtual servers. The main objective is to create multiple servers which can provide
service platform for students and lecturer in Kuliyyah of Information Communication
and Technology (KICT) to be able to use servers for educational purposes.
1
http://searchservervirtualization.techtarget.com/definition/virtualization
4. 4
2. PROBLEM DESCRIPTION
For the students and lecturers of KICT, the demand for using a server for
education purposes is high. For instance, for Web Programming class, students and
lecturers need servers to be used as web servers for them to upload their website,
as an alternative to “localhost”.
In the case of Network and System Administration (NSA) class, the hands-on
part is disrupted by the limitation of being common users, where they are unable to
fully perform administrative commands due to the restrictions set by the computer
lab administration. This is in contrast to the aim of the subject itself, which is to
provide students with the real experience of conducting system administrative tasks.
Besides, subject such as Systems and Signals, require students to gain extra
references to gain understanding; however there are certain e-books, websites and
videos that cannot be browsed due to the blocked network by the university wireless
connection.
The other identified issue is the lack of utilization of the existing physical
servers in KICT, where most of the time, new servers are bought to be used for
certain different events. After the events finished, the servers are no longer used.
Not only these servers take some space but they might end up with performance
issues like getting slower, keep on crashing and so on.
Due to afore mentioned reasons, CLOUDIIUM is proposed in order to build a
platform that serves all these needs in a very cost effective solution, which is by
using server virtualization.
5. 5
3. LITERATURE REVIEW
Goldberg(1974), in its study, said “virtualizing a computing system's physical
resources to achieve improved sharing and utilization has been well established for
decades” [2]. According to Safiya Okai, Mueen Uddin, Amad Arshad, Raef Alsaqour
and Asadullah Shah(2014), in their paper Cloud Computing Adoption Model for
Universities to Increase ICT Proficiency explained that universities worldwide
especially those in developing countries are faced with the difficulties of delivering
the level of information and communications technology (ICT) needed to facilitate
teaching, learning, research, and development activities ideal in a typical university,
which is needed to meet educational needs in-line with advancement in technology
and the growing dependence on IT. This is because the high cost involved in
providing and maintaining the required hardware and software. To address this
problem, a technology such as cloud computing that delivers on demand
provisioning of IT resources on a pay per use basis can be used[3].
Cloud computing promises better delivery of IT services as well as
availability whenever and wherever needed at reduced costs with users paying only
as much as they consume through the services of cloud service providers. The
cloud technology reduces complexity while increasing speed and quality of IT
services provided[3]. Moreover, in the academia, cloud computing is powerful tool
that provide great scalability and flexibility, making it possible for university
communities to access file storage, databases and other university applications
anywhere anytime (Jain and Pandey,2013) [7].According to a recent VMware
sponsored survey in their e-book; Best Cost Savings – 4 Compelling Reasons to
virtualized, the majority of respondents (70 percent) virtualized when it was time for
a major hardware refresh to avoid the cost of buying a large quantity of physical
machines, and (52 percent) virtualized when it was time for a major operating
system migration- such as, from Windows XP to Windows 7. Moreover, 51 per cent
virtualized their servers when it was time for a major application license renewal- like
Oracle or SAP- and realized they could save significant by consolidating servers[4].
6. 6
Based on Kim and Eom in their paper (2010), Design and Implementation of
Linux Server Virtual Machine using Hybrid Virtualization Technology, the giant
processor companies have introduced various hardware supported virtualization
technologies to improve the limitations of the software virtualization technologies[5].
Uhlig et al.(2005), mentioned in their paper that full virtualization of all system
resources including processors, memory, and input output (I/O) devices makes it
possible to run multiple operating systems on a single physical platform[6].
7. 7
4. PROPOSED SOLUTION
4.1 Project Methodology
In this section, we described the project methodology using a Gantt chart.
Refer Appendix A.
4.2 Project Goal
The motivation of involving in this project is to achieve a goal which is to do
something that can benefit, in general, the university, and specifically KICT
community. This project provides solution for KICT in a very cost effective manner in
which students and lecturers are able to use servers as web server, resource server
for e-books, video and educational websites and to be used as virtual machine
desktops for NSA course. By using the virtual machines students are able to explore
different kind of Linux distributions without having difficulties regarding administrator
permission. Moreover, this project could be something good for Information
Technology Division (ITD) to consider and implement for university facilities.
4.3 Project Scope
4.3.1 Area of Specification
The project is done under the area of Network and System Administration in
which we perform the steps from setting up the server up to installing the Apache,
PHP and MySQL services in all the virtual servers created and performing stress
testing.
The new trend of technology in which we include in this project is cloud
computing. As according to AWS; cloud computing refers to applications and
services that run on a distributed networks using virtualized resources and accessed
by common Internet protocols and networking standards. There are 3 architectural
layers of cloud computing which is Infrastructure-as-a-service (IaaS), Platform-as-a-
8. 8
service (PaaS) and Software-as-service (SaaS). So, this project it is being defined
under IaaS and PaaS.
Figure 1 Cloud architecture
Figure 2 Graphical explanation of cloud computing model
9. 9
4.3.2 Target Users
Students and lecturers of Kulliyyah of ICT.
4.4 Project Objectives
This project aims to achieve the followings:
Providing a cost-effective solution in handling physical server
Enabling students and lecturers to have their individual server
Utilizing the physical server
4.5 Hardware & Software Requirement
The project is completed using oVirt, the abbreviation of Open Virtualization,
which is a platform to manage multiple hosts and virtual machines along with the
storage and network configuration. Built based on Red Hat Enterprise Virtualization,
oVirt is equipped with easy-to-use web interface allowing easy configuration of data
centers, hosts, storage, logical networks and many more.
In this project, oVirt manages the physical server with CentOS 6.5 installed on
it which is the host server, to utilize the data center, local storage and also logical
network. oVirt, has features more or less likely VMware Vsphere, only that oVirt is an
open source and free of charge. oVirt is also interesting as it is powered by Open
Source which is KVM on Linux.
Figure 3 oVirt architecture overview
10. 10
Figure 4 oVirt overall architecture
Figure 3 and Figure 4 above explain about oVirt architecture. A standard oVirt
deployment consists of three things, primarily2
:
oVirt-engine which is used to deploy, monitor, move, stop and create VM
images, configure storage, network, etc.
One or more hosts (nodes), to run virtual machines (VMs)
One or more storage nodes, which hold the images and ISOs corresponding
to those VMs.
Here is what required in implementing this project:
At least dual core server with 4GB RAM
25GB free disk space
1-gbps network interface
However it is required to have:
Dual socket or quad core server
16GB RAM
50GB free disk space on multiple disk spindles
1 GBPS network
2
http://www.ovirt.org/Architecture#Overall_architecture
11. 11
The details of the physical server that we used for this project are listed below:
Operating system: CentOS 6.5
Memory (RAM): 32 GB
Disk Space: 1.7 TB
Ethernet network speed: 1 GBPS50GB free disk space on multiple disk
spindles
1 GBPS network
12. 12
5. PROJECT DESIGN
5.1 System Flow
In this section, we describe the steps that we had performed from the beginning
till the end. In brief, these are the steps:
1. Installing CentOS 6.5 on the physical server
2. Installing and configuring oVirt Engine on the server
3. Creating virtual machines or servers
4. Installing OS on the VMs
5. Configuring virtual network
6. Installing Apache, PHP, MySQL services on the VMs
7. Performing stress testing on the host server
Here is the detailed explanation of the system flow:
1. Install CentOS 6.5 on the physical server.
2. Update all the packages on the server.
3. Subscribe the server to the oVirt project repository. For oVirt 3.5 install oVirt-
release35.rpm by running:
4. Ready to install oVirt engine. Run the following command:
5. After finished downloading packages, run the installer:
13. 13
6. The installer will prompt several questions to be answered. If no value enter
when prompted, the installer uses the default settings which are stated in [ ]
brackets.
Some important notes:
a. The default ports 80 and 443 must be available to access the
manager on HTTP and HTTPS respectively.
b. The selected storage type in this stage is NFS and this type will be
used later for creating a data center and cluster. The storage will then
be attached in the Web Administration Portal.
7. At the end of installation setup, it is presented with a summary of the
configurations that have been selected. Press Enter to accept.
Figure 5 Configuration stage
14. 14
8. oVirt engine is now up and running. It can be logged in using oVirt Engine's
web administrator portal with username “admin” in the internal domain.
Figure 7 oVirt-engine installation summary
Figure 6 Validation stage
15. 15
5.2 Input and Output
By logging in oVirt web portal, many actions can be done easily using the available
features which resulting in creating the virtual machines.
The key steps are:
1) Setting up the data center.
In this project, the data center is named as “local_datacenter”. The data center type
is chosen as local since the host that will be installed is a local type.
Figure 8 Web Administration Portal interface
Figure 9 Creating new data center
16. 16
2) Setting up cluster in the newly created data center. The cluster is named as
“local_cluster”.
3) Setting up network. By default, oVirt configures a Management network for
the data center which is named as “ovirtmgmt”. This network is used for
communication between the manager and the host.
4) Setting up host in the newly created cluster. The physical server which has
been installed with oVirt is configured here. The name is set up as
“cloudiium.iium.edu.my” with the IP address of 10.101.225.31. oVirt is able to
manage multiple hosts but in this project there is only one physical server.
Figure 10 Creating new cluster
17. 17
5) Setting up storage. There are few choices of storage which include NFS, ISCSI
and Glusters. Here, NFS storage is used as the type of storage should be the same
with the one selected during the oVirt engine setup. This storage, which is named as
“local_storage” will be used to hold the virtual disk image while the storage defined
as “ISO_DOMAIN” during the engine setup is for ISO images of the installation
media.
6) After the creation of “local_storage”, “ISO_DOMAIN” is attached to the
datacenter. Then, the downloaded ISO images saved in the ISO_DOMAIN directory
would be uploaded to the web portal. This step is a very crucial step as this is where
the virtual machine will be initialized. To upload the ISO images from host server to
web engine portal follow this command:
engine-iso-uploader upload –I ISO_DOMAIN iso_file_name.iso
This action will take some time, depending on the size of the image being uploaded
and available network bandwidth.
Then, the image is uploaded and appears in the ISO storage domain specified. It is
also available in the list of available boot media when creating virtual machines in
the data center which the storage domain is attached to.
Figure 11 Creating new host
18. 18
7) Creating virtual machine. Using the ISO images uploaded in the images
repository in the web interface, virtual machines are ready to be created. For this
project, one of the VMs installed are Ubuntu server.
8) Installing virtual machines. After configuring all the settings of the new VM,
the VM will be added to the corresponding datacenter which is the local_datacenter,
for this project. After the VM status has turned to “Up”, the installation process of the
OS could be started.
Figure 12 Creating new virtual machine
Figure 13 Installing an Ubuntu server
19. 19
This is the installation of Ubuntu server created before. The project is continued by
installing Apache server in the Ubuntu server so it would serve the need of students
and lecturers in uploading their website.
Figure 15 PHP web server through IP: 10.101.225.41 (Ubuntu server)
Figure 14 Apache web server through IP: 10.101.225.41 (Ubuntu server)
20. 20
5.3 Prototype
We succeeded in creating many virtual servers as depicted in the figures
below. Some of them are Ubuntu, Fedora and Debian servers.
Figure 17 Apache web server through IP: 10.101.225.47 (Fedora server)
Figure 16 Virtual servers
21. 21
Besides the Web Administration Portal, there is also User Portal (Figure 17 and
Figure 18) for ordinary users to create their own virtual machines. But it can only be
done using the disk uploaded by the administrator at Web Administration Portal.
Figure 18 User Portal interface (extended view)
Figure 19 User Portal interface (basic view)
22. 22
6. CONCLUSION
6.1 Assumption & Constraint
All in all, the decision to do virtualization is an ideal solution which, it is a part
of cloud computing system-based. Cloud computing is the solution where it is fast,
automated and inexpensive management of IT resources that make information
technology a compelling paradigm for a greater efficiency and enhanced solution[3].
As cloud computing enable variety of new models, such as infrastructure-as-
a-service (IaaS), platform-as-a-service (PaaS), and software-as-a-service (SaaS),
so CLOUDIIUM provides platform as a service which build servers for students and
lecturer to upload their websites. In addition, the PaaS layer offers the environment
which the web developers can create, store and host their application over the
internet [3].Therefore, students can have an effective solutions to host their websites
and application without worrying about the cost and storage issues.
As for this project, oVirt is being used as it is an open source and it is free.
This tool can be used to implement virtualization technology in IIUM to provide a
better infrastructure and facilities which is in line with IIUM mission to serve for a
betterment of the ummah.
It is also important to know that due to some technical problems we faced,
we manage to only use one of all four Ethernet cards provided. This actually is a risk
in case that the network is down, there is no back up.
6.2 Potential Future Development
For future works of this project, kulliyyah and university should allocate some
money to buy specific back-end storage. Network architecture should be re-
23. 23
designed so that it can encounter any unwanted events that may occur in the future.
A system administrator should be hired to monitor this server. Network monitoring
tools should be used to monitor network traffic as the server depends much on the
internet connection. Back-up solution is a must task in order to make sure all
websites and resources in the server being in the safe state.
24. 24
REFERENCES
[1] Y. Dong, X. Zhang, J.Dai, and H.Guan, "HYVI: A Hybrid Virtualization Solution
Balancing Performance Manageability,” IEEE Transaction on Parallel and Distributed
Systems, vol. 25, no.9, September 2014.
[2] R.P. Goldberg, “Survey of Virtual Machine Research,” Computer, June 1974, pp.
34-45.
[3] S.Okai, M.Uddin, A. Arshad, R.Alsaqour, A.Shah, “Cloud Computing Adoption
Model for universities to increase ICT proficiency ”, SAGE open(sga.sagepub.com),
July-September 2014.
[4] Beyond Cost Savings - Four Compelling Reasons to Virtualize your IT
Environment. 2014.[E-book] Available: https://www.vmwaregrid.com
[5] I.Kim, T.Kim and Y.Ik Eom, "NHVM: Design and Implementation of Linux Server
Virtual Machine using Hybrid Virtualization Technology, " International Conference
on Computational Science and Its Applications, 2010.
[6] R. Uhlig, G.Neiger, D.Rodgers, A.L. Santoni, F.C.M. Martins, A.V. Anderson,
S.M.Bennett, A.Kagi,F.H.Leung and L.Smith, "Intel Virtualization Technology," IEEE
Computer Society, 2005.
[7] Jain, A., & Pandey, U, S. (2013). Role of Cloud computing in higher education.
International Journal of Advanced Research in Computer Science and Software
Engineering, 3,966-972.
25. 25
APPENDICES
Appendix A – Gantt Chart
Appendix B – Comparison of Features between oVirt and VMWare Vsphere
Appendix C – Example of Case Study
26. 26
Appendix A
Gantt Chart
Activities Weeks
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Research and Planning
Host server Installation
Network Configuration (server)
oVirt Installation
oVirt Configuration setup
oVirt Troubleshooting
Remote viewer setup
Firewall and IPTables setup
Virtual Machine Creation
Virtual Machine Installation
Network Configuration (VM)
Apache service Setup
PHP service Setup
Stress testing
Report and Documentation
27. 27
Appendix B
Comparison of Features between oVirt and VMwareVsphere
Comparisons Features
Features oVirt VMware Vsphere
1
Powerful
server
virtualization
Ovirt builds on the powerful
Kernel- based Virtual Machine
(KVM) hypervisor, and on the
RHEV-M management server
released by Red Hat to the open
source.
Virtualize x86 server resources
and aggregate into logical pools
for allocation of multiple
workloads.
2
Network
services
By default, provide logical
network between ovirt-engine and
host as management traffic.
Get network services optimized
for the virtual environment, along
with simplified administration and
management.
3 Storage
ISCSI, FC, NFS, and local
storage
Reduce the complexity of back-
end storage systems and enable
the most efficient storage
utilization in virtual environments.
4 Security
SELinux and Mandatory Access
Control for VMs and hypervisor
Protect data and application with
the industry's most secure “bare-
metal” server virtualization
platform.
5
High
Availability
Support high availability
Maximize uptime cloud
infrastructure, reducing
unplanned downtime and
eliminating planned downtime for
server and storage maintenance.
6
Live
migration
Allows for running virtual
machines to be moved from one
host to another within an oVirt
cluster.
Allow to move an entire running
virtual machine from one physical
server to another without
downtime.
7
Self-hosted
engine
oVirt engine can be run on virtual
machine where it hosts.
8 Scalability
Up to 64vCPU and 2TB vRAM
per guest
Support the highest efficiency of
memory utilization with minimal
performance impact by combining
several exclusive technologies.