Virtualization
Virtualization
3.Virtual Desktop
• a virtually delivered version of an operating system like Windows, Linux etc..
• For example, if you own a Mac and need to access a Windows only program, one
solution is to use a virtual version of Windows.
4. Hypervisor
• The hypervisor is essentially a small operating system that enables virtualization.
• Its job is to take physical hardware resources and combine them into a platform that is then
delivered virtually to one, or many different users.
7. Virtual Infrastructure
• Combine a bunch of different types of VMs together into one solution, including hardware,
storage, desktops, and servers you create a virtual infrastructure.
8. P2V
• P2V, or Physical to Virtual, is a term used by IT experts to refer to the act of migrating a physical
system to a virtual one.
• example of P2V is the merging of physical servers into a virtual environment that is hosted on one
server.
9. Snapshot
• A snapshot is an image of the state of the virtual machine at a specific point of time.
• This includes all of the data, configurations, programs open at that time.
• like the Save button – it saves your progress.
• Snapshots are also kept in case something goes wrong with the VM. You can easily revert back to an
older snapshot, one that was taken before the problem.
10. Clone
The action of taking one VM and creating an exact copy that can then be used by another computer or
user.
Virtualization Architectures
• A hypervisor is a hardware virtualization technique that allows multiple guest
operating systems (OS) to run on a single host system at the same time. A
hypervisor is also known as a virtual machine manager (VMM).
Types of Hypervisor
1. TYPE-1 Hypervisor-Native Hypervisor or Bare metal hypervisor
2. TYPE-2 Hypervisor-Hosted Hypervisor
TYPE-1 Hypervisor
• providing excellent performance and stability since it does not run inside Windows or any other
operating system.
• The guest OS is not aware that it is not running on real hardware and does not require any
modification.
• It requires only resources from the host machine.
• The hypervisor or VMM coordinates instructions between the guest and the host CPU.
Examples of Type 1 hypervisors include VMware ESXi, Citrix XenServer and Microsoft Hyper-V
hypervisor
Advantage of type 1:
• If a single virtual machine crash, it does not affect the rest of the guest operation
system. Since they can directly communicate with hardware resources, they are much
faster and secure than type 2 hypervisor.
TYPE-2 Hypervisor:
• A Host operating system runs on underlying host system.
• It is also known as ‘Hosted Hypervisor”.
• A software installed on an operating system (Windows, Linux, MacOS).
• Hypervisor asks operating system to make hardware calls.
• Type 2 or hosted hypervisor resides on top of the host OS. The hypervisor simply runs
as an application on the host OS and the OS takes care of all the hardware
• Example of Type 2 hypervisor include VMware Player
Disadvantage of type 2:
• Since type 2 hypervisors cannot directly communicate with the hardware, they are
less efficient than the type 1.
• They have more points of failure since anything that affect the stability of the base
operating system can also affect the guest OS and the virtual machine.
• When the base OS needs a reboot, all the VM will also be rebooted.
Implementation Levels of Virtualization
• Virtualization is a computer architecture technology by which multiple virtual
machines (VMs) are multiplexed in the same hardware machine.
• The purpose of a VM is to enhance resource sharing by many users and improve
computer performance in terms of resource utilization and application flexibility.
Virtualization can be implemented at various operational levels,
• Instruction set architecture (ISA) level
• Hardware level
• Operating system level
• Library support level
• Application level
• A traditional computer runs with a host operating system specially tailored for its
hardware architecture.
• After virtualization, different user applications managed by their own operating
systems (guest OS) can run on the same hardware, independent of the host OS. This is
done by adding additional software called a virtualization layer.
Instruction Set Architecture Level
• At the ISA level, virtualization is performed by emulating a given ISA by the ISA of the host machine.
• For example, MIPS binary code can run on an x86-based host machine with the help of ISA emulation.
• With this approach, it is possible to run a large amount of legacy binary code written for various
processors on any given new hardware host machine.
• Instruction set emulation leads to virtual ISAs created on any hardware machine.
• The basic emulation method is through code interpretation.
• An interpreter program interprets the source instructions to target instructions one by one.
• One source instruction may require tens or hundreds of native target instructions to perform its
function.
• Obviously, this process is relatively slow. For better performance, dynamic binary translation is
desired.
• This approach translates basic blocks of dynamic source instructions to target instructions.
• The basic blocks can also be extended to program traces or super blocks to increase translation
efficiency.
• Instruction set emulation requires binary translation and optimization.
• A virtual instruction set architecture (V-ISA) thus requires adding a processor-specific software
translation layer to the compiler.
Hardware Abstraction Level
• Hardware-level virtualization is performed right on top of the bare hardware.
• on the one hand, this approach generates a virtual hardware environment for a VM.
• On the other hand, the process manages the underlying hardware through
virtualization.
• The idea is to virtualize a computer’s resources, such as its processors, memory, and
I/O devices.
• The intention is to upgrade the hardware utilization rate by multiple users
concurrently.
• The idea was implemented in the IBM VM/370 in the 1960s.
• More recently, the Xen hypervisor has been applied to virtualize x86-based machines
to run Linux or other guest OS applications.
Operating System Level
• This refers to an abstraction layer between traditional OS and user applications.
• OS-level virtualization creates isolated containers on a single physical server and
the OS instances to utilize the hardware and software in data centers.
• The containers behave like real servers.
• OS-level virtualization is commonly used in creating virtual hosting environments
to allocate hardware resources among a large number of mutually distrusting users.
• It is also used, to a lesser extent, in consolidating server hardware by moving
services on separate hosts into containers or VMs on one server.
Library Support Level Virtualization
• Most applications use APIs exported by user-level libraries rather than using lengthy
system calls by the OS.
• Since most systems provide well-documented APIs, such an interface becomes
another candidate for virtualization.
• Virtualization with library interfaces is possible by controlling the communication
link between applications and the rest of a system through API hooks.
• The software tool WINE has implemented this approach to support Windows
applications on top of UNIX hosts.
• Another example is the vCUDA which allows applications executing within VMs to
leverage GPU hardware acceleration.
User-Application Level
• The ability to run multiple virtual networks that each has a separate control and data plan.
• Network virtualization provides a facility to create and provision virtual networks—logical
switches, routers, firewalls, load balancer, Virtual Private Network (VPN), and workload
security within days or even in weeks
Virtual networking
• data communication between two or more virtual machines (VM).
• provides interconnection between VMs, virtual servers and other related components in
a virtualized computing environment.
DesktopVirtualization:
• Desktop virtualization allows the users’ OS to be remotely stored on a server in the data
center.
• It allows the user to access their desktop virtually, from any location by different machine.
• Users who wants specific operating systems other than Windows Server will need to have a
virtual desktop.
benefits of desktop virtualization
user mobility, portability, easy management of software installation, and updates.
StorageVirtualization:
• Storage virtualization is an array of servers (use of multiple servers to provide the same
service in such a way that service will still be available if the servers fails ) that are managed
by a virtual storage system.
• It makes managing storage from multiple sources to be managed and utilized as a single
repository.
Software Virtualization
• Virtualized software is an application that will be "installed" into its
own self-contained unit.
• Example of software virtualization is VMware software, virtual box
etc.
• A VirtualBox (VB) is a software virtualization package that installs on
an operating system as an application. VirtualBox allows additional
operating systems to be installed on it, as a Guest OS, and run in a
virtual environment.