Virtualization
&
Cloud Computing
Rajendar. K
Agenda
What is Virtualization?
Features and Key benefits
Types
Virtualization tools
KVM
VMWare
Cloud Computing Overview
Types & Deployment models
Characteristics
Conclusion
Across
INDIA
Centre for Development of
Advanced Computing – Chennai
8th floor, D Block, TIDEL Park,
No. 4, Rajiv Gandai Salai, Tharamani, Chennai,
Tamil Nadu 600113
About C-DAC
Centre for Development of Advanced
Computing (C-DAC) is the premier R&D
organization of the Ministry of Electronics
and Information Technology (MeitY) for
carrying out R&D in IT, Electronics and
associated areas
Products & Services
Network
Cloud 01 Customised 06 Design
Products
Solution
E Governance 02 07 Architecture
Block Chain 03 08 Industry 4.0
Cyber
Security 04 09 GIS
Installation,
Support, Training
Big Data and Operational Video
and AI 05 10 Analytics
Services
CDAC Certificate
Virtualization
Definition
Virtualization is the process of running a virtual instance of a computer system, in a layer
abstracted from the actual hardware.
Virtualization is a technology that allows
● to create multiple working environments.
● dedicated resources from a single, physical hardware system.
Source: [Link]
9
[Link]
Real life examples - Virtualization
Effective Utilization of the Living Space
Multiple houses in an apartment
Single House
10
Real life examples - Virtualization
Traditional Architecture is like every individual persons driving their own car to reach the
destination
Virtualization is like the Public Transportation Authority, where the physical host is a
suburban train and virtual machines are the passengers of this train
11
Virtualization (contd.)
Virtualization has ability to allow
● single physical resource serve as multiple virtual resources
● multiple physical resources function as a single virtual resource.
Traditional Architecture Virtual Architecture
Definition Source :[Link]
12
Image Source: [Link]
Why Virtualization?
Near-complete resources Running Heterogeneous Manageability
utilization environments
Application Reduced power requirement Reduced
Isolation ownership cost
13
Virtualization Impact on a DataCenter
Impact on a DataCenter
Less Heat Buildup Better Disaster Recovery
Reduced Cost Application Isolation
Faster Redeploy No Vendor Lock-in
Better Testing Environment Easier Migration to Cloud
Easier Backups /Snapshots Green Pastures
14
Virtualization Key Features
Partitioning Encapsulation
Hardware Independent Isolation
15
Virtualization Key Feature - Partitioning
Multiple VMs with either same or heterogenous OSs running on a single physical server.
Utilize the physical resources optimally.
Dynamic provisioning/deprovisioning of resources to the VM.
Clustering of VMs to provide High Availability.
16
Virtualization Key Features - Encapsulation
VM Encapsulation means the entire VM is
managed as a file with OS, applications and data
within it.
VMs can be captured on the fly as periodic snapshots/clones and restores to point-in-
time.
Snapshots help in rapid system provisioning, backup and remote mirroring.
It also offers easy content distribution as pre-configured apps and virtual appliances
17
Virtualization Key Features - Isolation
Mandate for a secure and reliable
environment.
Through hardware abstraction,
○ each VM is sufficiently separated
○ independent from the operations and activities of other VMs.
Faults in a VM are contained within it which ensures high levels of security and availability
of other VMs
18
Virtualization Key Features - Hardware Independent
The VM once created can run
anywhere and can be
migrated from one host to the
other.
The underlying physical hardware layer is hidden by the virtualization layer and
hence it becomes hardware independent.
Run any heterogenous OS on any server without modification.
No Vendor lock-in.
19
VIRTUALIZATION TYPES
20
Types
Virtualization
Approaches
Para Full
OS Virtualization Virtualization Virtualization Hybrid Virtualization
Hardware Assisted Software Assisted
Type -I Type -II Binary Translation
Native/Bare Metal Hosted/Client
21
OS LEVEL VIRTUALIZATION
22
OS Level Virtualization
Kernel creates multiple isolated instances called containers.
A Container is a standard unit of software that packages up code and all its
dependencies to run an application reliably in any computing environment
Tools include
● LXC* Containers
● Docker*
● Zones ( Solaris)
● Virtual Private Servers (
OpenVZ)
● Jails (chroot, FreeBSD)
*Trademarks/Logos are owned by their respective owners 23
OS Level Virtualization
Container is a lightweight, standalone,
executable package of software that
comprises of
● Code
● Runtime
● System tools
● System libraries
● Settings
They share the host’s OS kernel, supporting programs and libraries but isolated from the
host’s user mode environment
24
PARAVIRTUALIZATION
25
ParaVirtualization
Guest OS source code is modified to use only instructions that can be virtualized.(ie.
skip critical instructions)
It replaces non virtualizable instructions with hypercalls that communicate directly
with hypervisor
Guest OSs are aware within the system to share resources.
It abstracts the base architecture but does not simulate the hardware.
Hypercalls Operations
Modified Guest Kernel Hypervisor Hardware
26
FULL VIRTUALIZATION
27
Full Virtualization
The hardware abstraction is an exact replica of the physical hardware.
The VMM simulates hardware to allow an unmodified guest OS[Windows] to run in
isolation.
It provides each VM with all the services of the physical system
○ Virtual BIOS
○ Virtual devices
○ Virtualized memory management
Emulate
Guest Kernel Hypervisor Hardware
Trap
28
HYBRID VIRTUALIZATION
29
Hybrid Virtualization
Combination of both
● Para Virtualization for specific hardware drivers, I/O and memory-intense
workloads
● Full Virtualization by the the host for other features. .
eg) Remote Direct Memory Access(RDMA) that exchanges data in main memory
without involving CPU, OS uses paravirtual driver to bypass VM kernel
30
VIRTUALIZATION MODELS
31
Virtualization Techniques
Intel/AMD provides hardware assisted full virtualization that offers
● Processor virtualization
● Memory virtualization
● I/O virtualization
Intel and AMD offer
● An additional mode called privilege mode level to x86 processors.
● The VMM runs in a new root level mode below the OS kernel level.
32
Virtualization Techniques
● For processor, Intel offers the VT-x or VT-i technique.
● For memory virtualization, Intel offers the Extended Page Table (EPT)
● For I/O virtualization, Intel offers
○ VT-d for I/O MMU virtualization
○ VT-c for Network Virtualization
33
Processor Virtualization
Two modes of Operation
● Supervisor Mode
● Hypervisor Mode
Supervisor Mode
● Execution mode of all instructions including privileged instructions
● System calls - To perform specialized function from user mode to supervisor mode
Hypervisor Mode
● x86 virtualization instructions for a hypervisor to control Ring-0
● Intel VT-x and AMD-V creates a new Ring -1 to enable guest OS to run in Ring 0
34
Memory Virtualization
To optimize virtual memory performance, all
modern x86 CPUs has a
● Memory management unit (MMU)
● Translation lookaside buffer (TLB)
Two stage mapping process between the
guest VM and VMM
● Virtual memory to Physical
memory
● Physical memory to Machine
memory
35
I/O Virtualization
In I/O virtualization, a virtual device is substituted equivalent for its physical devices,
● Network interface card (NIC)
● Host bus adapter (HBA).
36
I/O Virtualization
Isolation of PCI Express (PCIe) to one or more
physical/virtual PCIe devices called Virtual
Function Devices
PCI pass-through is the predecessor technology
to SR-IOV but the drawback is the physical
network adapter is completely dedicated to a
single VM guest
Benefits
1. Better Virtualization Network Manageability
2. Increase Virtual Machine Performance
37
VIRTUALIZATION TYPES
38
Virtualization Types – Based on Computing resources
Server Virtualization
Storage Virtualization
Desktop Virtualization
Application Virtualization
Virtualization
Network Virtualization
39
VIRTUALIZATION TOOLS
40
Virtualization Tools
41
KVM
KVM (Kernel-based Virtual Machine) is an open source hypervisor technology for
virtualizing compute infrastructure running on multiple architectures (x86, PowerPC,ia64
(Itanium) compatible hardware.
Intel VT-x/AMD-v
Linux Kernel Module Full Virtualization
Extension
VMM Desktop QEMU
Virtio ParaVirtualization
Interface Libvirt API
42
KVM
43
KVM
KVM tap into QEMU’s emulation powers to compliment its own hardware acceleration
features, presenting its guests with an emulated chipset and PCI bus
KVM uses direct access to a kernel with CPU-
specific module (kym-intel or kvm-amd).
Two KVM kernel modules
● [Link] module
● [Link] or [Link]
44
QEMU + KVM + Libvirt
QEMU and libvirt is a powerful combination that interacts with KVM to provide a
virtualization stack that is secure, effective and fully functional
● A generic and open source machine emulator and
virtualizer.
● Provides hardware emulation and a low-level interface to
the VM.
● Each VM is a QEMU process
● Toolkit to manage Virtualization platform
● Exposes a consistent API
● APIs are consumed by client tools for provisioning
and managing VMs.
45
QEMU + KVM + Libvirt
46
KVM Key Features
● EPT support (server boost)
● KSM (Kernel Same Page Merging) - share memory with COW
● Disk image cloning, sharing, snapshot
● Ballooning
● Live migration with shared storage
● Nested full virtualization
● Virtio paravirtualization
● PCI-passthrough VT-D/IOMMU support
47
KVM Networking Modes
Isolated
The guests are connected to a network that does not allow any
traffic beyond the virtualization host
Routing
The guests are connected to a network that routes traffic
between the guest and external hosts without performing any
NAT
Bridged
The guests are connected to a bridge device that is also
connected directly to a physical ethernet device
connected to the local ethernet
48
KVM Libvirt Client Tools
● virsh
○ Command-line tools for communicating with libvirt
● virt-manager
○ GUI to manage KVM, qemu/kvm, xen, and lxc.
○ Contains a VNC and SPICE client for direct graphical access to VMs.
○ GUI alternative to virsh, albeit less capable.
● virt-install
○ Helper tools for creating new VM guests.
○ Part of the virt-manager project.
● virt-viewer
○ UI for interacting with VMs via VNC/SPICE.
○ Part of the virt-manager project.
49
KVM Installation - Virt-manager
50
KVM Installation - Virt-manager
51
KVM Installation - Virt-manager
52
KVM VM creation using virt-install
Create a VM using virsh CLI
$ virt-install --name ubuntu --ram 2048 --disk \
path=/var/lib/libvirt/images/u19.qcow2, size=8 --vcpus 2 \ --os-type linux --os-variant
generic --console pty, \ target_type=serial --cdrom \ /var/lib/libvirt/isos/ubuntu-18.04.4-
[Link]
Clone the VM
$ virt-clone --original ubuntu --name cloned-ubuntu \
--file /var/lib/libvirt/images/cu.qcow2
53
VMWARE
54
VMware
VMware
● VMware, Inc. is an American cloud computing and virtualization technology company
with headquarters in California.
● VMware was the first commercially successful company to virtualize the x86
architecture.
● In the late 1960s and early 1970s, VMware revisited the virtual machines that IBM
pioneered for mainframe systems
● VMware changed the model of using proprietary OS for VMs in mainframe systems by
enabling virtualization without requiring changes to industry-standard processors or
operating systems.
55
VMware Products
VMware
Desktop Virtualization software
● VMware Workstation
● VMware Fusion
● VMware Workstation Player
Server Virtualization Software
● VMware ESXi - bare metal virtualization
● VMware vCenter
Storage Virtualization Software
● VMware vSAN - is software-defined storage that is embedded in VMware's ESXi
hypervisor
● VMware Site Recovery Manager(SRM) for DR
56
VMware Products
VMware
Cloud Management software
● VMware vRealize Suite - Hybrid Cloud Management Platform
● VMware GO - web based deployment service
● VMware Cloud Foundation - To deploy and operate a private cloud on an integrated
SDDC system.
● VMware Horizon - Virtual Desktop Infrastructure (VDI)
vRealize Suite
57
VMware vSphere Components
VMware vSphere is a term that encompasses the core virtualization solutions
Core Components of vSphere
● ESXi hypervisor
● vCenter Server
● vSphere Client
58
VMware vSphere Components
e
ESXi hypervisor
Type 1 bare metal hypervisor to manage host servers and run multiple guest VMs
vCenter Server
Management platform that enables the datacenter features, including
ESXi clustering, vMotion, etc
vSphere Client
HTML5 driven management interface for managing, monitoring, and configuring
vSphere and its associated plugins
59
Q &A
60