chapter four
Fundamentals of Virtualization
Fundamentals of
Virtualization
What is virtualization?
Virtualization is a technology that enables the creation of virtual environments from
a single physical machine, allowing for more efficient use of resources by
distributing them across computing environments.
Using software, virtualization creates an abstraction layer over computer hardware,
dividing a single system’s components such as processors, memory, networks and
storage into multiple virtual machines (VMs).
virtualization is a fundamental practice in enterprise IT architecture and a key
enabler of cloud computing.
Fundamentals of
Virtualization
The emergence of virtualization technology dates back to 1964 when IBM launched
CP-40, a time-sharing research project for the IBM System/360. CP-40 later
evolved into CP-67, which ultimately influenced Unix, one of the first multi-user,
time-sharing operating systems that set the stage for modern virtualization
technologies like virtual machines.
In 1998, VMware developed a x86 operating system that enabled a single machine
to be segmented into several virtual machines, each running its own operating
system.
Types of
virtualizations
Beyond server virtualization, many different types of IT infrastructure can be
virtualized to deliver significant advantages to IT managers in particular and the
enterprise as a whole. These types of virtualization include the following:
• Desktop virtualization
• Network virtualization
• Storage virtualization
• Data virtualization
• Application virtualization
Types of
virtualizations
• Data center virtualization
• CPU virtualization
• GPU virtualization
• Linux virtualization
• Cloud virtualization
Types of
virtualizations
Desktop virtualization
Desktop virtualization lets you run multiple desktop operating systems, each in its
own VM on the same [Link] are two types of desktop virtualization:
• Virtual desktop infrastructure: Virtual desktop infrastructure (VDI) runs multiple
desktops in VMs on a central server and streams them to users who log in on thin
client devices. In this way, VDI lets an organization provide its users access to
various operating systems from any device (e.g., laptop, desktop computer),
without needing to install the OS locally on each device.
• Local desktop virtualization: Local desktop virtualization runs a hypervisor on a
local computer, enabling the user to run one or more additional operating systems
on that computer and switch from one OS to another as needed without
Types of
virtualizations
Network virtualization
Network virtualization uses software to create a “view” of the network that an
administrator can use to manage the network from a single console. It abstracts
hardware elements and functions (e.g., connections, switches, routers) and
abstracts them into software running on a hypervisor. The virtual network
administrator can modify and control these elements without touching the
underlying physical components, which dramatically simplifies network
management.
Types of virtualizations
Types of network virtualization include:
• Software-defined networking (SDN): The network architecture approach
software-defined networking virtualizes the hardware that controls network
traffic routing. It does this through a centralized platform called the control
plane, which helps manage IT infrastructure and direct network traffic.
• Network function virtualization: Network function virtualization virtualizes one
or more hardware appliances that provide a specific network function (e.g.,
firewall, load balancer, traffic analyzer), making those components easier to
configure, provision and manage.
Types of virtualizations
Storage virtualization
Storage virtualization enables all the storage devices on the network, whether
they’re installed on individual servers or stand-alone storage units, to be accessed
and managed as a single storage device. Specifically, storage virtualization
consolidates all blocks of storage into a single shared pool from which they can be
assigned to any VM on the network as needed. Storage virtualization makes it easier
to provision storage for VMs and makes maximum use of all available storage on the
network.
Types of virtualizations
Application virtualization
Application virtualization runs application software without installing it directly on
the user’s OS. This technology differs from complete desktop virtualization because
only the application runs in a virtual environment, the OS on the end user’s device
runs as usual.
Types of virtualizations
There are three types of application virtualization:
• Local application virtualization: In this case, the entire application runs on the
endpoint device, however it runs in a runtime environment instead of on the
native hardware.
• Application streaming: With application streaming, the app lives on a server that
sends small software components to run on the end user’s device when needed.
• Server-based application virtualization: Here, the application runs entirely on a
server that sends only its user interface to the client device.
Types of virtualizations
Data center virtualization
Data center virtualization abstracts most of a data center’s hardware into software,
effectively enabling an administrator to divide a single physical data center into
multiple virtual data centers for different clients.
CPU virtualization
Central processing unit (CPU) virtualization is the fundamental technology that
makes hypervisors, virtual machines and different operating systems possible. It
allows a single CPU to be divided into multiple virtual CPUs for use by multiple VMs.
Types of virtualizations
GPU virtualization
A graphical processing unit (GPU) is a special multi-core processor that improves
overall computing performance by taking over heavy-duty graphic or mathematical
processing.
The two main types of GPUs in virtualized environments are:
• Pass-through GPUs: These GPUs make the entire GPU available to a single
guest OS.
• Shared vGPUs: Shared vGPUs divide physical GPU cores among several virtual
GPUs (vGPUs) for use by server-based VMs.
Types of virtualizations
Cloud virtualization
By virtualizing servers, storage and other physical data center resources, cloud
computing providers can offer a range of services to customers, including the
following:
• Infrastructure as a service (IaaS): The delivery model IaaS provides a virtualized
server, storage, and network resources you can configure based on their
requirements.
• Platform as a service (PaaS): The PaaS service model offers virtualized
development tools, databases and other cloud-based services that you can use to
build your own cloud-based applications and solutions.
• Software as a service (SaaS): Software as a service refers to applications hosted
on the cloud. SaaS is the most widely used cloud-based service.
Comparing Virtualization
Technologies
Virtualization technologies, primarily split into virtual machines (VMs) and
containers, provide distinct levels of isolation and resource efficiency. VMs (e.g.,
VMware, KVM) use hypervisors for strong isolation of full OS instances, while
containers (e.g., Docker, LXC) share the host OS for lightweight, high-performance
application deployment. Key technologies also include storage, network, and
application virtualization.
Comparing Virtualization
Technologies
Key Virtualization Technologies Compared
• Hypervisors (VMs):Type 1 (Bare Metal): Installed directly on hardware (e.g.,
VMware ESXi, Xen, Microsoft Hyper-V). Optimized for performance and
stability in data centers.
⚬ Type 2 (Hosted): Runs as an application on an operating system (e.g.,
Oracle VirtualBox, VMware Workstation). Ideal for testing and
development.
• Containers (OS-Level Virtualization):
⚬ Operate on top of the host OS kernel without a hypervisor, making them
lightweight with fast startup times. Examples include Docker and LXC.
⚬ Better suited than VMs for high-performance computing (HPC) due to
lower overhead.
Creating virtual
machines
To create a virtual machine (VM) in RHEL 9, use the command line or the RHEL 9
web console.
To create a virtual machine (VM) on your RHEL 9 by using the command line, use
the virt-install utility.
Prerequisites
• Virtualization is enabled on your host system.
• You have a sufficient amount of system resources to allocate to your VMs,
such as disk space, RAM, or CPUs. The recommended values might vary
significantly depending on the intended tasks and workload of the VMs.
Creating virtual
machines
• An operating system (OS) installation source is available locally or on a
network. This can be one of the following:
• An ISO image of an installation medium
• A disk image of an existing VM installation
Creating virtual
machines
Procedure
To create a VM and start its OS installation, use the virt-install command, along
with the following mandatory arguments:
• --name: the name of the new machine
• --memory: the amount of allocated memory
• --vcpus: the number of allocated virtual CPUs
• --disk: the type and size of the allocated storage
• --cdrom or --location: the type and location of the OS installation source
• --osinfo: the OS type and version that you intend to install
cloning virtual
machines
cloning creates a new VM that uses its own disk image for storage, but most of the
clone’s configuration and stored data is identical to the source VM. This makes it
possible to prepare multiple VMs optimized for a certain task without the need to
optimize each VM individually.
Cloning a virtual machine (VM) copies the XML configuration of the source VM
and its disk images, and makes adjustments to the configurations to ensure the
uniqueness of the new VM. This includes changing the name of the VM and
ensuring it uses the disk image clones. Nevertheless, the data stored on the clone’s
virtual disks is identical to the source VM.
cloning virtual
machines
first create a VM template that does not contain:
• Unique settings, such as persistent network MAC configuration, which can
prevent the clones from working correctly.
• Sensitive data, such as SSH keys and password files.
• Cloning a virtual machine by using the command line
• Cloning a virtual machine by using the web console
cloning virtual
machines
The guestfs-tools package, which contains the virt-sysprep utility, is installed on
your host
dnf install guestfs-tools
Cloning a virtual machine by using the command line
Prerequisites
• The source VM is shut down.
• Ensure that there is sufficient disk space to store the cloned disk images.
• Optional: When creating multiple VM clones, remove unique data and settings
from the source VM to ensure the cloned VMs work properly. For instructions,
see Creating virtual machine templates.
cloning virtual
machines
Procedure
• Use the virt-clone utility with options that are appropriate for your environment
and use case.
• Sample use cases
⚬ The following command clones a local VM named example-VM-1 and
creates the example-VM-1-clone VM. It also creates and allocates the
example-VM-1-clone.qcow2 disk image in the same location as the disk
image of the original VM, and with the same data:
⚬ virt-clone --original example-VM-1 --auto-clone
⚬ Allocating 'example-VM-1-clone.qcow2'
Virtualization and the Infrastructure
Optimization Model
Infrastructure Optimization Optimizing the infrastructure can be
accomplished a number of ways. These options are all aimed at speeding
applications across the network and ensuring quicker access to data, while
minimizing storage costs. Optimization can be a complex and multifaceted
undertaking. It’s often viewed as a never-ending task, as each change can
affect network and storage performance in unexpected ways.
Virtualization and the Infrastructure
Optimization Model
infrastructure optimization can deliver some strong benefits including:
• Rightsizing: Organizations can reap savings on operating expenses (OPEX) and
capital expenditures (CAPEX) because of rightsizing and timely provisioning of
resources.
• Reduced staffing costs: Organizations can gain savings from staff realignment
or mitigation thanks to reductions in management requirements.
• Stable production capacity: An optimized infrastructure reduces the risk of
depleted capacity and the possibility of production outages.
Virtualization and the Infrastructure
Optimization Model
• Improved visibility: Organizations gain greater visibility of resource utilization
and performance.
• Better performance: Enhanced bandwidth efficiency leads to increased
application speeds and a resulting reduction in operating costs.
• Smart storage utilization: An optimized environment examines real storage
needs and allocates dollars and capacity among storage tiers.
Virtualization and the Infrastructure
Optimization Model
Data Center Optimization
Virtualization elevates the importance of the data center to the organization.
Besides being the repository of applications, the data center hosts the computing
power and desktop images for all users once virtualization is complete. Full client
and server virtualization results in greatly increased control, security,
manageability and energy efficiency. All of this brings fresh challenges to
optimizing the data center so that it provides the best possible service levels to
applications and users.
Virtualization and the Infrastructure
Optimization Model
the main benefits of data center optimization
Maximizing Capacity
Implement these basic application acceleration and WAN optimization steps for
best use of storage capacity.
• File compression: Implement file compression for nonstreaming applications
such as database updates and file transfers. Header compression can reduce
bandwidth use when TCP/IP overhead matches or exceeds the information
in the packets.
• Scheduled batch processing: Schedule traffic such as daily constituent tallies
or files to be batch processed outside of regular operation hours.
Virtualization and the Infrastructure
Optimization Model
Load Balancing Load balancing is a technique for keeping server response times
within acceptable parameters. It ensures the most efficient use of all the
machines in a cluster.
Upgrading Network Capacity? An organization’s WAN needs to have enough
capacity to carry virtualized desktop and application traffic from the data center
to distant users. Before adding network capacity, however, apply technology to
get the most out of the bandwidth the organization is already paying for, such
as those mentioned in the “Maximizing Capacity” sidebar above.
Virtualization and the Infrastructure
Optimization Model
applying these common best practices for data center optimization.
ractices. Virtualize and install blades. Combine virtualization with server
consolidation and switch to blade servers.
Redesign the data center. Re-envision the data center before virtualizing. Rather
than merely reconfiguring the racks, redesign the whole space.
Evaluate software licensing. Virtualization can cause duplicative copies of
applications even though usage is the same.
Virtualization and the Infrastructure
Optimization Model
Storage Optimization
When virtualizing server environments, organizations have a great opportunity to
improve system and application data protection and the performance of backing up
Maintaining High Availability The fundamental step for high availability is assured
and regular backup of all data to a second site. In virtual setups, both sites can be
used for daily access provided that mirroring is continuous.
Storage Area Networks When considering virtualizing storage, it might be time to
update the communication protocols used to access storage as well.
Benefits of
Virtualization
Virtualization is an important technique in cloud computing that makes efficient
use of physical resources by creating many virtual instances. It lowers costs,
improves hardware utilization, provides high availability, simplifies disaster
recovery, saves energy, and enables rapid setup and cloud migration. However, it
involves significant initial expenses, complexity, and potential security threats.
Despite these problems, the advantages of cost reductions, operational
efficiency, and flexibility make virtualization crucial in modern cloud computing.
Proper planning and security measures might help to reduce the hazards.
Benefits of
Virtualization
Pros of Virtualization
• Utilization of Hardware Efficiently: With the help of Virtualization Hardware is
Efficiently used by user as well as Cloud Service Provider. In this the need of
Physical Hardware System for the User is decreases and this results in less
costly.
• High Availability: One of the main benefit of Virtualization is that it provides
advance features which allow virtual instances to be available all the times.
Benefits of
Virtualization
• Disaster Recovery is efficient and easy: With the help of virtualization Data
Recovery, Backup, Duplication becomes very easy.
• Virtualization saves Energy: Virtualization will help to save Energy because
while moving from physical Servers to Virtual Server's, the number of
Server's decreases due to this monthly power and cooling cost decreases
which will Save Money as well.
• Quick and Easy Set up: In traditional methods Setting up physical system
and servers are very time-consuming.
Benefits of
Virtualization
• Resource Optimization: Virtualization allows efficient utilization of physical
hardware by running multiple virtual machines (VMs) on a single physical
server.
• Cloud Migration becomes easy: Most of the companies those who already
have spent a lot in the server have a doubt of Shifting to Cloud.
Benefits of
Virtualization
Cons of Virtualization
• High Initial Investment: While virtualization reduces costs in the long run,
the initial setup costs for storage and servers can be higher than a
traditional setup.
• Complexity: Managing virtualized environments can be complex, especially
as the number of VMs increases.
• Security Risks: Virtualization introduces additional layers, which may pose
security risks if not properly configured and monitored.
Benefits of
Virtualization
• Learning New Infrastructure: As Organization shifted from Servers to
Cloud. They required skilled staff who can work with cloud easily.
• Data can be at Risk: Working on virtual instances on shared resources
means that our data is hosted on third party resource which put's our data
in vulnerable condition.