Virtualization
Virtualization is defined as the
abstraction of objects ("things"), creating a virtual (rather than
actual) version of objects, such as an operating system, a server, a
storage device or network resources.
For example,
when you partition a hard drive into two partitions - C and D, say - you create
virtual drives but the physical hard drive has not changed.
Operating
system virtualization is the use of software to allow a piece of
hardware to run multiple operating system images at the same time. The
technology got its start on mainframes decades ago, allowing administrators to
avoid wasting expensive processing power.
Similarly, Network
attached storage (NAS) presents users with an abstract storage space - a
single point of access to data - though in reality NAS contains many drives and
tapes hidden from the end user.
In server virtualization,
a software layer is inserted either directly on the physical server (host)
hardware or on the host operating system. This software (also known as hypervisor or virtual machine monitor) allocates hardware resources (CPU, RAM,
storage and networking) and allows a single server to run multiple operating
system images at the same time. Each one of these operating systems is a `virtual server'.
Virtual machines are completely compatible with all standard x86
operating systems, applications and device drivers.
In
other words, virtualization is a
framework or methodology of dividing the resources of a computer into multiple
execution environments, by applying one or more concepts or technologies such
as hardware and software partitioning, time-sharing, partial or complete
machine simulation, emulation, quality of service, and many others.
Note:==> The term "virtualization" is not always used
to imply partitioning - breaking something down into multiple entities. Here is
an example of its different (intuitively opposite) connotation: you
can take N disks, and make them appear as one (logical) disk through a
virtualization layer.
Virtualization allows higher utilization of servers, which usually run
at a fraction of their capacity. By replacing physical servers with virtual
ones, and consolidating many together, it is possible to reduce datacenter
space, energy consumption, hardware costs and maintenance personnel. It is also
easier to move virtual servers between hosts to form high availability, fault
tolerant or other virtual clusters, thus improving business continuity,
performance and responsiveness.
·
Without VMs: A single OS owns all hardware resources
·
With VMs: Multiple OSes, each running its own virtual machine, share
hardware resources
·
Virtualization enables multiple operating systems to run on the same
physical platform
Need for Virtualization/Why Virtualization: A
List of Reasons
Virtualization can help you shift
your IT focus from managing boxes to improving the services you provide to the
organization. If you are managing multiple servers and desktops, virtualization
can help you to:
Save money: Companies
often run just one application per server because they don’t want to risk the
possibility that one application will crash and bring down another on the same
machine. Estimates indicate that most x86 servers are running at an average of
only 10 to 15 percent of total capacity. With virtualization, you can turn a
single purpose server into a multi-tasking one, and turn multiple servers into
a computing pool that can adapt more flexibly to changing workloads.
Save energy: Businesses
spend a lot of money powering unused server capacity. Virtualization reduces
the number of physical servers, reducing the energy required to power and cool
them.
Save time: With fewer
servers, you can spend less time on the manual tasks required for server
maintenance. On the flip side, pooling many storage devices into a single
virtual storage device, you can perform tasks such as backup, archiving and
recovery more easily and more quickly. It’s also much faster to deploy a
virtual machine than it is to deploy a new physical server.
Reduce desktop management headaches: Managing,
securing and upgrading desktops and notebooks can be a hassle. Desktop
virtualization solutions let you manage user desktops centrally, making it
easier to keep desktops updated and secure.
Resource optimization: Today's enterprise level computer
resources are so powerful that they often have excess capacity. By virtualizing
the hardware and allocating parts of it based on the real needs of users and
applications, the available computing power, storage space and network
bandwidth can be used much more effectively. Computers no longer need to be
idle or performing below their capabilities because there are fewer connected
users, or because the hosted application happens to be less demanding than the
server can handle.
Virtual
machines offer software developers isolated, constrained, test environments.
Rather than purchasing dedicated physical hardware, virtual machines can be
created on the existing hardware. Because each virtual machine is independent
and isolated from all the other servers, programmers can run software without
having to worry about affecting other applications, or external components
affecting the execution of their code.
Consolidation: It is common practice to dedicate
individual computers to a single application. If several applications only use
a small amount of processing power, the administrator can consolidate several
computers into one server running multiple virtual environments. For
organizations that own hundreds or thousands of servers, consolidation can
dramatically reduce the need for floor space, HVAC, A/C power, and co-location
resources. This means the cost of ownership is reduced significantly, since
less physical servers and floor and rack space are required, which in turn
leads to less heat and power consumption, and ultimately a smaller carbon
footprint.
Maximizing Uptime: Agility is all about being able to
respond to changing requirements as quickly and flexibly as possible.
Virtualization brings new opportunities to data center administration, allowing
users to enjoy:
Ø Guaranteed uptime of servers and
applications; speedy disaster recovery if large scale failures do occur.
Ø Instant deployment of new virtual
machines or even aggregated pools of virtual machines via template images.
Ø Elasticity, that is, resource
provisioning when and where required instead of keeping the entire data center
in an always-on state.
Ø Reconfiguration of running computing
environments without impacting the users.
Automatically Protect Applications
from Server Failure: Server
virtualization provides a way to implement redundancy without purchasing
additional hardware. Redundancy, in the sense of running the same application
on multiple servers, is a safety measure: if for any reason a server fails,
another server running the same application takes over, thereby minimizing the
interruption in service. This kind of redundancy works in two ways when applied
to virtual machines:
Ø If one virtual system fails, another
virtual system takes over.
Ø By running the redundant virtual
machines on separate physical hardware you can also provide better protection
against physical hardware failure.
Easily Migrate Workloads as Needs
Change: Migration
refers to moving a server environment from one place to another. With most
virtualization solutions it is possible to move a virtual machine from one
physical machine in the environment to another. With physical servers this was
originally possible only if both physical machines ran on the same hardware,
operating system and processor. In the virtual world, a server can be migrated
between physical hosts with entirely different hardware configurations.
Migration is typically used to improve reliability and availability: in case of
hardware failure the guest system can be moved to a healthy server with limited
downtime, if any. It is also useful if a virtual machine needs to scale beyond
the physical capabilities of the current host and must be relocated to physical
hardware with better performance.
Protect Investment in Existing,
Legacy Systems: Server
hardware will eventually become obsolete, and switching from one system to
another can be difficult. In order to continue offering the services provided
by these legacy systems, you can run it as a virtual machine on new, modern
hardware, while the legacy system itself still behaves as if it were running on
the same legacy hardware. From an application perspective, nothing has changed.
In fact, its performance may well benefit from the newer underlying hardware.
This gives the organization the time to transition to new processes without
worrying about hardware issues, particularly in situations where the
manufacturer of the legacy hardware no longer exists or cannot fix broken
equipment.