Btech Cloud Computing Unit 2 (Autosaved) (Autosaved)
Btech Cloud Computing Unit 2 (Autosaved) (Autosaved)
Computing
UNIT -II
Ms. Nisha Rathee
Assistant Professor
Department of Information and
Technology IGDTUW, DELHI
Topics to be
covered
Virtualization concept
Need of Virtualization
Cost Administration
Fast deployment
Reduce infrastructure cost
limitations
Virtualization
Virtualization is the use of hardware and software to create the
perception that one or more entities exist, although the entities in
actual are not physically present. Using Virtualization we can make one
server appear to be many , a desktop computer appear to be running
multiple operating systems simultaneously , a network connection
appear to exist, or a vast amount of disk space or a vast number of
drives to be available.
The Multitenant architecture offers virtual
isolation among the multiple tenants. Hence, the
organizations can use and customize their application
as though they each have their instances running.
Need for Compute
Virtualization
Hypervisor
x86 Architecture x86 Architecture
CPU NIC Card Memory Hard Disk CPU NIC Card Memory Hard Disk
Only one application is deployed per compute system to minimize the potential
resource conflict.
This causes organizations to purchase new physical machines for every
application
they deploy, resulting in expensive and inflexible infrastructure.
This compounding over many machines within a Classic Data Center (CDC)
leads
to poor utilization of physical machines.
Virtual Web servers are a very popular way of providing low-cost web
hosting services.
Yes, you can go with two physical servers with similar configuration and a
centralized storage (Network Access Storage – NAS) to run these five
virtual servers in cluster environment where single physical server failure
will not impact the virtual servers. But, it involves in high cost and slight
risk in centralized storage, two physical servers and smooth live server
migration (which clustering should do automatically) in this setup.
The cost involves in buying one more similar powerful server, network storage
(NAS) and setting up them may be same as buying low end five physical
servers which can be run independently.
For example, the above server setup is the real world example where I’m working. In fact, these two
servers are hosting 15 virtual servers now. Hyper-v server virtualization software is running in cluster
environment and these two servers are accessing a centralized storage. Therefore, if one physical
server goes down for any reasons, the second server will take care of the all 15 servers.
But the issue is, these two servers are running next to next in one server chassis. If this chassis or
power
supply goes down, then the both physical servers with 15 virtual servers will go down at the same
time.
It is a high risk of safety also, for example, if this rack or server gets fire (hope it will not),then these all
15 servers can’t be accessible. Luckily we have backup in storage, but it will take some time to restore in
different hardware and start the servers.
This is just an example and may not be the same scenario for you. I’m just illustrating to show the
high risk in physical server fault.
Is Performance Same?
I always have doubt in this fact. Let’s say that you have allocated
4GB RAM and 2 virtual CPUs of 3GHz to a virtual server which
will be used as a web server in your office. My question is, will
the server and application perform like running in a physical
server with 4GB RAM and 2 CPUs of 3GHz?, I doubt on that.
Because I don’t think that virtual environment (the layer) fully
supports the Operating Systems and applications to talk to
physical hardware recourses like how it works in physical
servers. I’m not a virtualization architecture expert to
understand the real technology, but I assume this.
There will be some certain performance drawbacks in virtual
environment compared to similar hardware in physical
environment.You must consider this factor while planning and
allocating virtual servers.
It’s not Easy – Complicated
Yes, setting up and managing virtual environment with high critical
servers in a production environment is not easy as managing physical
servers. If you are expert in PC hardware, then you should be able to
manage most of the server hardware and configuration aspects in Intel
based servers. Unfortunately, that will not be the case in virtual
environment.You must have special knowledge in VMware, Hyper-v or
Xen server virtualization software to work with them.
You would find the similar setup in most of the physical server brands
such as Dell, HP..etc. But, the server virtualization software like
Vmware ,VirtualBox, Hyper-v Xen are totally different software and
you can’t work with all in same knowledge. Special skills and
knowledge are required to work with server virtualization products.
Not Supported by All Applications
Some of the core applications including few database
applications are not ready for virtualization . Sometimes
your applications or Operating Systems may face issues and
act differently on virtual environment without giving any
clues.
You must consider this while planning your server Operating
Systems and application implementation, make sure its
certified and supported to virtualization 100%.
Types of Virtualization in Cloud Computing
•Server Virtualization
•Storage Virtualization
•Network Virtualizatiojn
Operating System-based
•
Virtualization
Operating system-based virtualization is the installation of virtualization
software in a pre-existing operating system, which is called the host operating
system .
• For example, a user whose workstation has a specific version of Windows installed
decides it wants to generate virtual machines. It installs the virtualization
software into its host operating system like any other program and uses this
application to generate and operate one or more virtual machine.
• This user needs to use its virtualization software to enable direct access to any of
the generated virtual machines. Since the host operating system can provide
hardware devices with the necessary support, operating system virtualization can
rectify hardware compatibility issues even if the hardware driver is unavailable to
the virtualization software.
• Hardware independence that is enabled by virtualization allows hardware IT
resources to be more flexibly used. For example, let's take a scenario in which the
host operating system has the software necessary for controlling five network
adapters that are available to the physical computer.The virtualization software can
make the five network adapters available to the virtual machine, even if the
virtualized operating system is usually incapable of physically housing five network
adapters.
Figure - The different logical layers of operating system-based
virtualization, in which theVM is first installed into a full host
operating system and subsequently used to generate virtual
machines.
Operating system virtualizations includes a modified form than
a normal operating system so that different users can operate its
end use different applications.
n operating system virtualizations when the application does not
interfere with another one even though they are functioning in
the same computer. The kernel of an operating system allows
more than one isolated user-space instance to exist. These
instances call as software containers, which are virtualizations
engines.
Uses of Operating System
Virtualization
• Operating System Virtualization uses to integrate server
hardware by moving services on separate servers.
• It providing security to the hardware resources which harm
by distrusting users.
• OS Virtualization uses for virtual hosting environment.
• It can separate several applications into containers.
How Operating System Virtualization
Works?
• The operating system of the computer manages all the
software and hardware of the computer.
• With the help of the operating system, several different
computer programs can run at the same time.
• This is done by using the CPU of the computer.
• With the combination of few components of the computer
which is coordinated by the operating system, every program
runs successfully.
Hardware-based
Virtualization
This option represents the installation of virtualization
software directly on the virtualization host hardware so as
to bypass the host operating system, which would
presumably be engaged with operating system-based
virtualization.
Allowing the virtual machines to interact with hardware
without requiring intermediary action from the host
operating system generally makes hardware-based
virtualization more efficient.
the different logical layers of hardware-based virtualization, which
does not require another host operating system.
Full Virtualization
Accessing hardware
In full virtualization, guest operating system issues hardware calls to
access hardware, whereas, in paravirtualization, guest operating
system directly communicates with the hypervisor using drivers.
Performance
Performance is higher in paravirtualization than in full virtualization.
Conclusion
The main difference between full virtualization and
paravirtualization in cloud is that full virtualization allows
multiple guest operating systems to execute on a host operating
system independently while paravirtualization allows multiple
guest operating systems to run on host operating systems while
communicating with the hypervisor to improve performance.
Partial Virtualization
When entire operating systems cannot run in the virtual machine
, but some or many applications can, it is known as Partial
Virtualization. Basically, it partially simulates the physical
hardware of a system
Storage Virtualization
Storage Virtualization
Physical storage
Where it is done
How it is implemented
In-band Out-of-band
Virtualization Virtualization
Storage Virtualization
Block-Level Storage Virtualization
• Block storage chops data into blocks and stores
them as separate pieces.
• Each block of data is given a unique identifier,
which allows a storage system to place the
smaller pieces of data wherever is most
convenient.
• The SAN places those blocks of data wherever it
is most efficient. That means it can store those
blocks across different systems and each block
can be configured (or partitioned) to work with
different operating systems.
Example:
Take, for example, the deployment of virtual machines across an
enterprise. With block storage, you can easily create and format
a block-based storage volume to store the VMFS. A physical
server can then attach to that block, creating multiple virtual
machines. What’s more, creating a block-based volume,
installing an operating system, and attaching to that volume
allows users to share files using that native operating system.
File Level Virtualization
File storage—also called file-level or file-based storage—is a
hierarchical storage methodology used to organize and store
data on a computer hard drive or on network-attached storage
(NAS) device. In file storage, data is stored in files, the files are
organized in folders, and the folders are organized under a
hierarchy of directories and subdirectories. To locate a file, all
you or your computer system need is the path—from directory
to subdirectory to folder to file.
IP
IP Network
Network
Virtualization
Appliance
NAS Devices/Platforms
NAS Devices/Platforms
Virtualization
Virtualization Appliance
Appliance
Storage
Network
Storage
Network
Storage Storage
Arrays Arrays
Out-of-Band In-Band
(a) (b)
(a) In out-of-band implementation, the virtualized environment configuration is stored external to the data path
(b) The in-band implementation places the virtualization function in the data path
Storage Virtualization - 94
In-band
When we implement an in-band virtual storage network, both data and control flow over the same
path. Levels of abstraction exist in the data path, and storage can be pooled under the control of a
domain manager. In general, in-band solutions are perceived to be simpler to implement, especially
because they do not require special software to be installed in servers (other than conventional multi-
pathing software). In-band solutions can also provide caching and advanced functions within the
storage network. This can help to improve the performance of existing disk systems and can extend
their useful life, and reduce the cost of new storage capacity by enabling the use of lower function,
lower cost disk systems, without the loss of performance.
In an out-of-band implementation, the data flow is separated from the control flow. This is achieved by
separating the data and meta-data (data about the data) into different places. Out-of-band virtualization
involves moving all mapping and locking tables to a separate server (the meta-data controller) that
contains the meta-data of the files. In an out-of-band solution the servers request authorization to data
from the meta-data controller, which grants it, handles locking, and so on. Once they are authorized,
servers access the data directly without any meta-data controller intervention. Once a client has
obtained access to a file, all I/O will go directly over the SAN to the storage devices. For many
operations, the meta-data controller does not even intervene. Separating the flow of control and data in
this manner allows the I/O to use the full bandwidth that a SAN provides, while control could go over
a separate network or routes in the SAN that are isolated for this purpose.
Host
Reported Shared
Capacity Storage Pool
Allocated Allocated
Allocated
1650 GB
Or
1.65 TB
Available
Capacity
350 GB
Actual Data
LUN 1 LUN 2 LUN 3
Storage System
Storage Virtualization - 99
Virtual Provisioning – Thin Pool
Expansion
Adding drives to the pool non-disruptively increases available shared
capacity for all Thin LUNs in pool
Drives can be added to a Thin Pool while pool is being used in production
Allocated capacity is reclaimed by the pool when Thin LUNs are deleted
Do not defrag
https://www.youtube.com/watch?v=hDgG34IFGp4&t=5s
Virtual Memory
• Programs can be bigger that physical memory size since only
a portion of them may actually be in physical memory.
• higher degree of multiprogramming is possible since only
portions of programs are in memory
• Operating System's goals with hardware support are to make
virtual memory efficient and transparent to the user.
Virtual Memory
Memory Virtualization
11/19/2022 114
• Since each page table of the guest OSes has a separate page
table in the VMM corresponding to it, the VMM page table is
called the shadow page table.
• Nested page tables add another layer of indirection to virtual
memory.
• The MMU already handles virtual-to-physical translations as
defined by the OS.
• Then the physical memory addresses are translated to
machine addresses using another set of page tables defined by
the hypervisor.
• Since modern operating systems maintain a set of page tables
for every process, the shadow page tables will get flooded.
Consequently, the performance overhead and cost of memory
will be very high.
• VMware uses shadow page tables to perform virtual-
memory-to-machine-memory address translation.
• Processors use TLB hardware to map the virtual memory
directly to the machine memory to avoid the two levels of
translation on every access.
• When the guest OS changes the virtual memory to a physical
memory mapping, the VMM updates the shadow page tables
to enable a direct lookup.
Shadow Page Table
11/19/2022 123
Limitations of Memory
Virtualization
The disadvantage is that Virtual Memory systems tend to be slow and
require additional support from the system's hardware for address
translations.
The other disadvantage of Virtual Memory systems is the possibility of
Thrashing due to excessive Paging and Page faults. It may be noted that
Thrash Point is a point after which the execution of a process comes to
a halt; the system is busier in paging i.e. pages in and out of the
memory than executing them.
Due to memory virtualization, Applications run slower.
It takes more time to switch between applications.
Less hard drive space for our use.
11/19/2022 124
Applications of Memory
Virtualization
Virtual memory makes an application appear as if it has its own contiguous logical memory
independent of the existing physical memory resources.
In a virtual memory implementation, a memory address space is divided into contiguous
blocks of fixed-size pages. A process known as paging saves inactive memory pages onto the
disk and brings them back to physical memory when required. This enables efficient use of
available physical memory among different processes. The space used by VMMs on the disk is
known as a swap file. A swap file (also known as page file or swap space) is a portion of the
hard disk that functions like physical memory (RAM) to the operating system. The operating
system typically moves the least used data into the swap file so that RAM will be available
for processes that are more active. Because the space allocated to the swap file is on the hard
disk (which is slower than the physical memory), access to this file is slower.
11/19/2022 125
Memory Virtualization
Brief
overview
What is virtualization?
Virtualization is an application of technology that is fundamentally changing the way
people compute by allowing one computer do the job of multiple computers. In a virtual
environment, it is possible for one computer to run multiple operating systems and
various applications at the same time increasing the usability and flexibility of that single
computer. This frees people and their hardware from physical and geographical
limitations and provides opportunity for greater efficiency and financial savings. As a
result, CIO’s and CTO’s across the globe are making virtualization part of their IT
infrastructure.
What types of virtualization are there?
Virtualization can take place over many platforms including application infrastructure,
client/desktop applications, server virtualization and storage and network virtualization.
This brief focuses on server virtualization only.
Why virtualization?
Today, many businesses are exploring a virtual model in an overall effort to go “green.”
However, virtualization provides additional benefits including disaster recovery and
business continuity solutions by reducing the infrastructure footprint and minimizing
operational costs while striving to improve performance and reliability.
How does virtualization work?
Simply put, server virtualization allows you to take a single piece of hardware and transform
it into multiple “virtual” machines. To create a virtual environment, there are many solutions
available with the most popular being VMware, Microsoft and Xen. For example, VMware
ESX will allow you to “virtualize” CPU, hard disk, RAM, and a network controller allowing
you to run multiple OS instances on a single hardware device.
What are the advantages of a virtual environment?
Higher Utilization – Virtualization can tap into underutilized resources. Today’s
enterprise servers dedicated to a single application may use 10 to 20 percent of its
capacity; a virtualization layer can increase utilization to 70 to 80 percent. For example,
instead of 50 servers running at 30 percent of capacity, you can have 20 to 25 servers
running at 70 to 80 percent utilization.
Lower Capital Expenses – By leveraging the unused capacity, virtualization efforts
can dramatically reduce capital purchases of new server hardware by as much as 50
percent.
Reduction in Operating Expenses – With fewer servers to operate, you can achieve
far lower
costs for power consumption, cooling, real estate and maintenance.
Faster Provisioning – One of the many challenges in IT application deployment is rolling
out new servers. With virtualization, you can provision a server in hours or days, not weeks.
This gives you greater managerial flexibility and options.
Improved Service Levels – In a virtualization environment, IT can be more responsive
to
business needs by providing new services faster with a greater number of service options.