[Link].
org
A
Seminar report
On
Server Virtualization
Submitted in partial fulfillment of the requirement for the award of degree
of CSE
SUBMITTED TO: SUBMITTED BY:
[Link] [Link]
[Link]
Acknowledgement
I would like to thank respected Mr…….. and Mr. ……..for giving me such a wonderful
opportunity to expand my knowledge for my own branch and giving me guidelines to present a
seminar report. It helped me a lot to realize of what we study for.
Secondly, I would like to thank my parents who patiently helped me as i went through my work
and helped to modify and eliminate some of the irrelevant or un-necessary stuffs.
Thirdly, I would like to thank my friends who helped me to make my work more organized and
well-stacked till the end.
Next, I would thank Microsoft for developing such a wonderful tool like MS Word. It helped my
work a lot to remain error-free.
Last but clearly not the least, I would thank The Almighty for giving me strength to complete my
report on time.
[Link]
Preface
I have made this report file on the topic Server Virtualization; I have tried my best to elucidate
all the relevant detail to the topic to be included in the report. While in the beginning I have tried
to give a general view about this topic.
My efforts and wholehearted co-corporation of each and everyone has ended on a successful
note. I express my sincere gratitude to …………..who assisting me throughout the preparation of
this topic. I thank him for providing me the reinforcement, confidence and most importantly the
track for the topic whenever I needed it.
Introduction to Server Virtualization
Virtualization is the creation of a virtual (rather than actual) version of something, such as an
operating system, a server, a storage device or network resources.
For those who are new to virtualization technology, this article will give you some high level
fundamentals that will help you to get started on virtualization.
Three areas of Virtualization
The following are three high-level areas where virtualization could be done:
1. Network virtualization is a method of combining available resources in a network by splitting up
the available bandwidth into channels, each of which is independent from the others, and each of
which can be assigned (or reassigned) to a particular server or device in real time. The idea is that
virtualization disguises the true complexity of the network by separating it into manageable parts,
much like your partitioned hard drive makes it easier to manage your files.
2. Storage virtualization is the pooling of physical storage from multiple network storage devices
into what appears to be a single storage device that is managed from a central console. Storage
virtualization is commonly used in storage area networks (SANs).
3. Server virtualization is the masking of server resources (including the number and identity of
individual physical servers, processors, and operating systems) from server users. The intention is
to spare the user from having to understand and manage complicated details of server resources
while increasing resource sharing and utilization and maintaining the capacity to expand late.
What is Server Virtualization?
Server virtualization is a technology for partitioning one physical server into multiple virtual
servers. Each of these virtual servers can run its own operating system and applications, and
perform as if it is an individual server. This makes it possible, for example, to complete
[Link]
development using various operating systems on one physical server or to consolidate servers
used by multiple business divisions.
System Virtualization: Hardware and Hypervisors
System virtualization is a technology often used to consolidate systems, workloads and operating
environments by using a single physical system to create multiple virtual systems. One type of
system virtualization is done through hardware partitioning, which divides a single physical
server into partitions — where each partition is able to run an operating system.
A Hypervisor, which is also called as Virtual Machine Monitor (VMM) or virtualization
manager is another technology at the heart of system virtualization. A hypervisor provides the
underpinnings for virtualization management, which includes policy-based automation, virtual
hard disk, life cycle management, live migration and real-time resource allocation. It’s the
software program or part of the code in firmware that manages either multiple operating systems
or multiple instances of the same operating system on a single computer system. The
hypervisor’s job is to manage the system’s processor, memory and other resources to allocate
what each operating system requires. Hypervisors provide the means to logically divide a single,
physical server or blade, allowing multiple operating systems to run securely on the same CPU
and increase the CPU utilization.
Where hardware partitioning allows for hardware consolidation, hypervisors allow for flexibility
in how the virtual resources are defined and managed, making it a more-often used system
consolidation solution.
[Link]
Two Types of Hypervisors
Type 1 Hypervisors – Native or Bare-Metal Hypervisors run directly on the host’s hardware
to control the hardware and to manage guest operating systems. A guest operating-system thus
runs on another level above the hypervisor. The following figure shows one physical system with
a type 1 hypervisor running directly on the system hardware, and three virtual systems using
virtual resources provided by the hypervisor.
Type 2 Hypervisors – Hosted Hypervisors are those that run on a host operating system that provides
virtualization services, such as I/O device support and memory management. Type 2 hypervisors are used
mainly on client systems where efficiency is less critical, and are also commonly used for systems where
support for a broad range of I/O devices is needed and can be provided by the host operating system. The
following figure shows one physical system with a type 2 hypervisor running on a host operating system
and three virtual systems using the virtual resources provided by the hypervisor.
What is virtualization and why use it
Virtualization is a method of running multiple independent virtual operating systems on a single
physical computer. It is a way of maximizing physical resources to maximize the investment in
hardware. Since Moore's law has accurately predicted the exponential growth of computing
power and hardware requirements for the most part have not changed to accomplish the same
computing tasks, it is now feasible to turn a very inexpensive 1U dual-socket dual-core
commodity server into eight or even 16 virtual servers that run 16 virtual operating systems.
Virtualization technology is a way of achieving higher server density. However, it does not
actually increase total computing power; it decreases it slightly because of overhead. But since a
modern $3,000 2-socket 4-core server is more powerful than a $30,000 8-socket 8-core server
was four years ago, we can exploit this newly found hardware power by increasing the number
of logical operating systems it hosts. This slashes the majority of hardware acquisition and
maintenance costs that can result in significant savings for any company or organization.
When to use virtualization
Virtualization is the perfect solution for applications that are meant for small- to medium-scale
usage. Virtualization should not be used for high-performance applications where one or more
servers need to be clustered together to meet performance requirements of a single application
because the added overhead and complexity would only reduce performance. We're essentially
taking a 12 GHz server (four cores times three GHz) and chopping it up into 16 750 MHz
servers. But if eight of those servers are in off-peak or idle mode, the remaining eight servers
will have nearly 1.5 GHz available to them.
[Link]
While some in the virtualization industry like to tout high CPU utilization numbers as an
indication of optimum hardware usage, this advice should not be taken to the extreme where
application responsiveness gets excessive. A simple rule of thumb is to never let a server exceed
50% CPU utilization during peak loads; and more importantly, never let the application response
times exceed a reasonable SLA (Service Level Agreement). Most modern servers being used for
in-house server duties are utilized from 1 to 5% CPU. Running eight operating systems on a
single physical server would elevate the peak CPU utilization to around 50%, but it would
average much lower since the peaks and valleys of the virtual operating systems will tend to
cancel each other out more or less.
While CPU overhead in most of the virtualization solutions available today are minimal, I/O
(Input/Output) overhead for storage and networking throughput is another story. For servers with
extremely high storage or hardware I/O requirements, it would be wise to run them on bare metal
even if their CPU requirements can be met inside a Virtual environment.
[Link]
Server Virtualization Features
The following are two high-level important features of server virtualization:
1. It provides partitioning and isolation. i.e Resources of same physical server are shared by multiple
VMs and are isolated from each other.
2. It provides high availability. i.e Several physical servers can form a cluster for high availability. If
one server goes down, all the VMs on that server will migrate to another physical server in the
cluster.
Primary Advantages of Server Virtualization
1. Reduce number of servers: Partitioning and isolation, the characteristics of server virtualization,
enable simple and safe server consolidation. Through consolidating, the number of physical
servers can be greatly reduced. This alone brings benefits such as reduced floor space, power
consumption and air conditioning costs. However, it is essential to note that even though the
number of physical servers is greatly reduced, the number of virtual servers to be managed does
not change. Therefore, when virtualizing servers, installation of operation management tools for
efficient server management is recommended.
2. Reduce TCO: Server consolidation with virtualization reduces costs of hardware, maintenance,
power, and air conditioning. In addition, it lowers the Total Cost of Ownership (TCO) by
increasing the efficiency of server resources and operational changes, as well as virtualization-
specific features. As a result of today’s improved server CPU performance, a few servers have
high resource-usage rates but most are often underutilized. Virtualization can eliminate such
ineffective use of CPU resources, plus optimize resources throughout the server environment.
Furthermore, because servers managed by each business division’s staff can be centrally managed
by a single administrator, operation management costs can be greatly reduced.
3. Improve availability and business continuity: One beneficial feature of virtualized servers not
available in physical server environments is live migration. With live migration, virtual servers
can be migrated to another physical server for tasks such as performing maintenance on the
physical servers without shutting them down. Thus there is no impact on the end user. Another
great advantage of virtualization technology is that its encapsulation and hardware-independence
features enhance availability and business continuity.
4. Increase efficiency for development and test environments: At system development sites,
servers are often used inefficiently. When different physical servers are used by each business
division’s development team, the number of servers can easily increase. Conversely, when
physical servers are shared by teams, reconfiguring development and test environments can be
time and labor consuming. Such issues can be resolved by using server virtualization to
simultaneously run various operating system environments on one physical server, thereby
enabling concurrent development and test of multiple environments. In addition, because
development and test environments can be encapsulated and saved, reconfiguration is extremely
simple.
[Link]
REFERENCES
1. [Link]
2. [Link]
3. [Link]