0% found this document useful (0 votes)
87 views128 pages

Btech Cloud Computing Unit 2 (Autosaved) (Autosaved)

This document discusses compute virtualization and its benefits. It defines virtualization as creating a virtual version of hardware resources like servers, storage, or operating systems. A hypervisor manages virtual machines (VMs), which appear as real machines to operating systems. Virtualization improves resource utilization by running multiple VMs on one physical server. It allows server consolidation and maximizes uptime by isolating VMs. Virtualization also reduces costs by improving flexibility and efficiency of infrastructure.

Uploaded by

039 MeghaEce
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views128 pages

Btech Cloud Computing Unit 2 (Autosaved) (Autosaved)

This document discusses compute virtualization and its benefits. It defines virtualization as creating a virtual version of hardware resources like servers, storage, or operating systems. A hypervisor manages virtual machines (VMs), which appear as real machines to operating systems. Virtualization improves resource utilization by running multiple VMs on one physical server. It allows server consolidation and maximizes uptime by isolating VMs. Virtualization also reduces costs by improving flexibility and efficiency of infrastructure.

Uploaded by

039 MeghaEce
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 128

Btech Cloud

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

Before Virtualization After Virtualization


• Runs single operating system (OS) per machine at a time • Runs multiple operating systems (OSs) per
• Couples s/w and h/w tightly machine concurrently
• May create conflicts when multiple applications run • Makes OS and applications h/w independent
on the same machine • Isolates VM from each other, hence no conflict
• Underutilizes resources • Improves resource utilization
• Is inflexible and expensive • Offers flexible infrastructure at low cost
Traditionally, one operating system (OS) per compute system (physical machine)
is deployed because the operating system and the hardware are tightly coupled and
cannot be separated.

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.

Further, these compute systems remain underutilized - it is very common to find


compute systems running at 15 – 20% utilization.

This compounding over many machines within a Classic Data Center (CDC)
leads
to poor utilization of physical machines.

Compute virtualization enables to overcome these challenges by allowing


multiple
operating systems and applications to run on a single physical machine.
Compute
Virtualization
It is a technique of masking or abstracting the physical compute
hardware and enabling multiple operating systems (OSs) to run
concurrently on a single or clustered physical machine(s).

 Enables creation of multiple virtual machines


(VMs), each running an OS and application
 VM is a logical entity that looks and behaves
like
physical machine
 Virtualization layer resides between hardware
Virtualization Layer
and VMs
 Also known as hypervisor x86 Architecture
 VMs are provided with standardized
hardware
resources
CPU NIC Card Memory Hard Disk

The hypervisor provides standardized hardware resources (for


example: CPU, Memory, Network, etc.) to all the virtual machines.
 Compute virtualization is a technique of masking or
abstracting the physical hardware from the operating system
and enabling multiple operating systems to run concurrently
on a single or clustered physical machine(s). This technique
encapsulates an operating system and an application into a
portable virtual machine (VM).
 A virtual machine is a logical entity that looks and behaves
like a physical machine. Each operating system runs on
its own virtual machines.
 In compute virtualization, a virtualization layer resides
between the hardware and virtual machine (on which an
operating system is running). The virtualization layer is
also known as hypervisor. The hypervisor provides
standardized hardware resources (for example: CPU,
Memory, Network, etc.) to all the virtual machines.
 Note:
 The terms physical machine, host machine, compute, and server
are interchangeably used throughout the course.The terms virtual
machine, guest machine, virtual compute, and virtual server are
interchangeably used in this course.
Hypervisor
It is a software that allows multiple operating systems (OSs) to run
concurrently on a physical machine and to interact directly with the
physical hardware.

 Has two components


 Kernel
 Virtual Machine Monitor (VMM)
VMM VMM VMM

Hypervisor (Kernel and VMM)


x86 Architecture

CPU NIC Card Memory Hard Disk


 Hypervisor is a compute virtualization software that enables
multiple operating systems (OSs) to run on a physical
machine concurrently.
 The hypervisor interacts directly with the physical resources
of the x86 based compute system.
 The hypervisor is a key component of data center
consolidation efforts.
 By nature, it allows multiple operating systems
and applications to reside on the same physical
machine.
 Hypervisor has two key components: kernel and Virtual Machine
Monitor (VMM).

 A hypervisor kernel provides the same functionality as other


operating systems, such as process creation, file system management,
and process scheduling.
 It is designed to specifically support multiple virtual machines and to
provide
core functionalities, such as resource scheduling, I/O stacks, etc.
 The Virtual Machine Monitor is responsible for actually executing
commands on the CPUs and performing Binary Translation (BT).
 A Virtual Machine Monitor abstracts hardware to appear as a physical
machine with its own CPU, memory, and I/O devices.
 Each virtual machine is assigned a Virtual Machine Monitor that has a share
of
the CPU, memory, and I/O devices to successfully run the virtual machine.
 When a virtual machine starts running, the control is transferred to the
Virtual Machine Monitor, which subsequently begins executing instructions
from the virtual machine.
Virtualization
 In computing, virtualization means to create a virtual version of a device or
resource, such as a server, storage device, network or even an operating
system where the framework divides the resource into one or more
execution environments.
 Even something as simple as partitioning a hard drive is considered
virtualization because you take one drive and partition it to create two
separate hard drives.
 Devices, applications and human users are able to interact with the
virtual
resource as if it were a real single logical resource.
 The term virtualization has become somewhat of a buzzword, and as a
result the term is now associated with a number of computing technologies
including the following:
 storage virtualization: the amalgamation of multiple network storage devices into
what appears to be a single storage unit.
 server virtualization: the partitioning a physical server into smaller virtual servers.
 operating system-level virtualization: a type of server virtualization technology
which works at the operating system (kernel) layer.
 network virtualization: using network resources through a logical
segmentation of a
single physical network.
 Creating a virtual machine over existing operating system
and hardware is referred as Hardware Virtualization.
 Virtual Machines provide an environment that is logically
separated from the underlying hardware.
 The machine on which the virtual machine is created is
known as host machine and virtual machine is
referred as a guest machine.
 This virtual machine is managed by a software or firmware,
which is known as hypervisor.
Benefits of Compute
Virtualization
 Resource Utilization
 Server consolidation
 Maximizing Uptime
 Isolation
 Reduced cost
Need of
Virtualization
 There are many different good reasons for companies and
organizations to invest in virtualization today, but it is
probably safe to assume that financial motivation is number
one on the list: virtualization can save a lot of money.
Resource
Utilization:
 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.
When people talk about virtualization, they’re usually referring to
server virtualization, which means partitioning one physical
server into several virtual servers, or machines.
 Each virtual machine can interact independently with other
devices, applications, data and users as though it were a
separate physical resource.
 Different virtual machines can run different operating systems
and multiple applications while sharing the resources of a single
physical computer.
 And, because each virtual machine is isolated from other
virtualized machines, if one crashes, it doesn’t affect the others.

 Server virtualization is defined as the partitioning of a physical server
into smaller virtual servers.
 In server virtualization the resources of the server itself are hidden (or
masked) from users.
 Software is used to divide the physical server into multiple virtual
environments, called virtual or private servers. One common usage of
this technology is in Web servers.
 Web servers are computers that deliver (serves up) Web pages.
 Every Web server has an IP address and possibly a domain name.
 For example, if you enter the URL
http://www.webopedia.com/index.html
 in your browser, this sends a request to the Web server whose domain
name is webopedia.com.
 The server then fetches the page named index.html and sends it to your
browser.
 Any computer can be turned into a Web server by
serversoftware and connecting the machine to the Internet.installing

 There are many Web server software applications, including


public
domain software and commercial packages.

 Virtual Web servers are a very popular way of providing low-cost web
hosting services.

 Instead of requiring a separate computer for each server, dozens of

virtual servers can co-reside on the same computer.


Server
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.
Reduced Infrastructure
Cost
 Reduced Costs
One of the biggest advantages associated with using
virtualization in your IT infrastructure is the ability to cut
Costs.
 You know longer have to invest in incredibly expensive
equipment and in-house IT professionals, but can simply get
access to the same type of software and servers through the use
of virtualization.
 Virtualization is designed to be incredibly affordable and you can
save so much money by not having to purchase hardware
outright.
 All servers are owned and maintained by a third party and
you simply pay for virtualization services without having to
incur additional costs.You get the best of both worlds as a
result.
 Virtualization helps businesses achieve cost savings in several areas.
 Julia Lee, senior product marketing manager at virtualization solutions
provider VMware, divided these cost savings into three categories:
capital expenditure savings, operational expenditure savings
and energy savings.

 Capital expenditure savings. Virtualization lets companies reduce


their IT costs by requiring fewer hardware servers and related resources
to achieve the same level of computing performance, availability and
scalability.
 Operational expenditure savings. Once their servers are
virtualized, IT staffs can greatly reduce the ongoing administration and
management of manual, time-consuming processes by automating
operations, thus resulting in lower operational expenses.
 Data-center and energy-efficiency savings. As companies reduce
the size of their hardware and server footprint due to the use of
virtualization, they lower their energy consumption, cooling power and
data-center square footage, thus resulting in lower costs.
Are there any downsides to
virtualization?
 The drawbacks in a virtual environment occur when systems aren’t
managed to the level that you might maintain your physical
environment.
 The drawbacks may be easily addressed with standards that keep
systems and applications protected and running at peak
performance.

Following are issues to keep in mind.

 Security “Zones” – What used to be separated at the physical


layer is
now only separated at the virtual layer.
 Know this distinction to keep your environment protected.
 Further, you must apply the same rigorous standards to your virtual
internal and external applications as you would your physical
environment.
 OS Security – It is important that you maintain the same level of
security in your VM environment as you would your physical. Keep
your VM current with critical patches and updates. Not doing so in a
virtual environment can be catastrophic

 Mixed Environments – In your current physical production


environment, it is unlikely that you have mixed your Q/A and test
environments. Your virtual environment is no different. Take caution
when creating your pre- and post-production environments so that you
do not impact production.

 Maintenance – Don’t forget to clean up after yourself. It is easy while


testing and creating new VM’s to neglect old VM’s and clutter your
environment. It’s a good idea to audit your environment on a quarterly
basis to keep things under control.
 Performance – Determine what you are trying to solve.
Buying a huge blade center or a massively over-configured
stand-alone CPU and applying a VM will not necessarily get
you the results you are seeking. Keep in mind I/O
requirements. The way you configure your storage will have a
lot to do with your performance.
Summary
 If a virtual model is implemented and maintained correctly, you
and your enterprise will realize a host of benefits including
enhanced efficiency, expanded access to a wide range of
applications and bottom-line improvement.
 A solid three-year strategy that is in line with your company’s
objectives can easily meet growth requirements, improve time to
market, significantly reduce risk, and significantly reduce overall
costs.
limitations
 1) High Risk in Physical fault
 It is great to host/run your very important five servers (as virtual) in one
physical server. But, have you anytime imagined impact of these five servers by
the single hardware failure in physical server?, it will put your all five
important servers offline. Its definitely a big disadvantage and drawback in
virtualization which must be considered in production environment while
planning.

 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

A host operating system runs directly on the hardware while a


guest operating system runs on the virtual machine. In full
virtualization, the guest operating systems do not concern about
the presence of a hypervisor. Therefore, each virtual machine
and its guest operating system operate as independent
computers. In other words, multiple guest operating systems
execute on a single host operating system in an isolated manner
using direct execution and binary translation.
Drawbacks

It affects the performance of the system. Hypervisor depends on


the hardware emulator. Thus, the continuous translations
between the physical and virtual resources such as memory and
processor can impact the performance of the system.
Para- Virtualization

Paravirtualization was initially developed by IBM. In


Paravirtualization, the hypervisor is installed on the device.
Then, the guest operating systems are installed into the
environment. Here, the virtualization method modifies the guest
operating system to communicate with the hypervisor. Thus, it
reduces the time taken by the operating system to perform
operations that are difficult and take a longer time in a virtual
environment. Also, it helps to increase the performance of the
system. Moreover, the guest operating systems communicate
with the hypervisor using API calls.
Difference Between Full Virtualization
and Paravirtualization in Cloud
Definition

Full virtualization is a common and cost-effective type of


virtualization in which computer service requests are separated
from the physical hardware that facilitates them while
paravirtualization is an enhancement of virtualization
technology in which a guest OS is recompiled prior to
installation inside a virtual machine.
Functionality
The main difference between full virtualization and paravirtualization
is that full virtualization allows guest operating systems to execute
independently while paravirtualization allows guest operating
systems to communicate with the hypervisor.

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

Storage is normally described as the data storage devices that are


connected to the computer through input or output operations that
includes flash devices, hard disks, SAN, NAS, old tape systems and
other different types of medium.
 
DAS (Direct attached storage )
• DAS is the simplest storage model.
• This is the model used by most laptops, phones, and
desktop computers.
• The fundamental unit in DAS is the computer itself.
• The storage for a server is not separable from the server
itself.
• For example, In the case of a phone it is physically
impossible to remove the storage from the compute.
• Small Computer System Interface(SCSI) is an example of
DAS protocol.
SAN (storage area network)

• Eventually the storage industry recognized the utility of


separating storage from the compute.
• Rather than attaching disks to each individual computer, we
placed all the disks on a single cluster of servers and accessed the
disk over the network.
• This simplifies storage management tasks such as backup and
failure repair.
SAN (cont..)

• This division of storage and compute is often called shared


storage, since multiple computers will use a single pool of
storage.
• In a SAN an administrator will group a set of disks (or a portion
of a set of disks) into a LUN (logical unit), which then behaves
like a single disk drive to outside computers. The LUN is the
fundamental unit used to manage SAN storage.
• Fibre Channel is an example of SAN protocol.
SAN

A storage area network (SAN) or storage network is


a computer network which provides access to
consolidated, block-level data storage.

SANs are primarily used to access storage devices, such as disk


arrays and tape libraries from servers so that the devices appear
to the operating system as direct-attached storage.

A SAN typically is a dedicated network of storage devices not


accessible through the local area network (LAN).

In addition to storing data, SANs allow for the


automatic backup of data, and the monitoring of the storage as
well as the backup process
NAS (network attached storage)

• Here, we communicate with the storage using file system


protocols, which closely resemble the file systems run on local
computers. This kind of storage is known as network attached
storage.
• The file system abstraction allows multiple servers to access the
same data at the same time. Thus, NAS is a very convenient
model for shared user or application data.
• NAS storage allows administrators to allocate portions of
storage into individual file systems. Each file system is a single
namespace, and the file system is the primary unit used to
manage NAS.
• NFS(network file system) is an example of NAS protocol.
NAS
Physical
Storage
Models
https://www.youtube.com/watch?v=ainnmosL-R
https://www.youtube.com/watch?v=bpUzGZLO948I
Virtual storage

• In virtualization, the hypervisor(virtual machine manager) provides an


emulated hardware environment for each virtual machine, including
computer, memory, and storage.
• VMware, the initial modern hypervisor, chose to emulate local physical
disk drives as a way to provide storage for each VM.
• As with DAS, a virtual disk lives and dies with the VM itself; if the VM
is deleted, then the virtual disk will be deleted as well.
• Most conventional virtualization platforms use a virtual disk storage
model.
• For example, storage in VMware vSphere, Microsoft Hyper-V, Red Hat
Enterprise Virtualization, and Xen environments are all managed and
attached in a similar way.
Storage Virtualization
• Storage virtualization in Cloud Computing is nothing but the
sharing of physical storage into multiple storage devices which
further appears to be a single storage device.

• It can be also called as a group of an available storage device


which simply manages from a central console.

• Storage virtualization basically combines/pools the storage that is


available in various devices and keeps it as single storage.
Identification of the available storage is done by leveraging the
software and aggregates them to use it in a virtual
system/environment. 

•  This virtualization provides numerous benefits such as easy


backup, achieving, and recovery of the data.
• https://www.youtube.com/watch?v=5cYwcM8WQss
• There are 2 servers with the virtual
volumes. These virtual volumes may be
mapped to different applications.

• Between the actual storage and the


virtual volume there is virtualization
layer which helps in redirecting the I/O.

• The physical storage or hard disks are


combined or grouped together and then
with the help of virtualization software
this physical disks are divided into
small blocks of data as per the
requirements, which is presented to
remote servers as a virtual disk.

• These virtual blocks of data look as the


physical disk to the server.
This whole process requires very less time and works in an
efficient manner. Storage virtualization in Cloud
Computing does not show the actual complexity of the Storage
Area Network (SAN). This virtualization is applicable to all
levels of SAN.

The software actually constantly monitors the various I/O


requests from any virtual/physical system and it intercepts them
and sends it to the appropriate location where the combined
storages are maintained in a virtual environment. This technique
of storage virtualization actually helps the administrator for any
recovery or backup or archival of data in an effective and
efficient manner by making comparatively less time than the
usual.
SNIA (Storage Networking Industry Association) Storage
Virtualization Taxonomy
Storage
Virtualization
What is created

Tape, Tape Drive, File System,


Block Disk Other Device
Tape Library File/record
Virtualization Virtualization Virtualization
Virtualization Virtualization

Where it is done

Host Based Network Storage Device/Storage


Virtualization Based Virtualization Subsystem Virtualization

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.

• That means that some data can be stored in


a Linux environment and some can be stored in a
Windows unit.
• Block storage is often configured to decouple the data from the user’s
environment and spread it across multiple environments that can better
serve the data.
• When data is requested, the underlying storage software reassembles the
blocks of data from these environments and presents them back to the
user. It is usually deployed in storage-area network (SAN) environments
and must be tied to a functioning server.

• Because block storage doesn’t rely on a single path to data—like file


storage does—it can be retrieved quickly. Each block lives on its own and
can be partitioned so it can be accessed in a different operating system,
which gives the user complete freedom to configure their data. It’s an
efficient and reliable way to store data and is easy to use and manage. It
works well with enterprises performing big transactions and those that
deploy huge databases, meaning the more data you need to store, the
better off you’ll be with block storage.
Architecture of Block

• Block level storage, or block storage, is storage used for


structured data and is commonly deployed in Storage Area
Network (SAN) systems. It uses Internet Small Computer
Systems Interface (iSCSI) and Fibre Channel (FC) protocols.

• Block storage uses blocks, which are a set sequence of bytes,


to store structured workloads. Each block is assigned a
unique hash value which functions as an address. In block
storage, the data is stored without any metadata e.g. data
format, type, ownership, etc.
Block storage allows for the creation of raw storage volumes,
which server-based operating systems can connect to. You can
treat those raw volumes as individual hard drives. This lets you
use block storage for almost any kind of application, including
file storage, database storage, virtual machine file system
(VMFS) volumes, and more.

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.

Hierarchical file storage works well with easily organized


amounts of structured data. But, as the number of files grows,
the file retrieval process can become cumbersome and time-
consuming. Scaling requires adding more hardware devices or
continually replacing these with higher-capacity devices, both of
which can get expensive.
• Similar to an on-site file storage system, cloud-based file
storage—also called file storage hosting—allows multiple
users to share the same file data. But instead of storing data
files locally on a NAS device, you can store these files off-
site in data centers (the cloud) and access them via the
internet.

• With cloud-based file storage, you no longer need to refresh


your storage hardware every three to five years or to budget
for the installation, maintenance, and personnel you need to
manage it. Instead you simply subscribe to a cloud storage
service for a predictable monthly or annual fee. You can
reduce your IT personnel or re-assign these technical
resources to more revenue-producing areas of your business.
File-Level Virtualization
Before File-Level Virtualization After File-Level Virtualization

Clients Clients Clients Clients

IP
IP Network
Network

Virtualization
Appliance

File File File File


Server Storage Server Server Server
Storage
Array Array

NAS Devices/Platforms
NAS Devices/Platforms

 Every NAS device is an independent  Break dependencies between end-user


entity, physically and logically access and data location
 Underutilized storage resources  Storage utilization is optimized
 Downtime caused by data migrations  Nondisruptive migrations
• Before enabling virtualization in NAS, each client knows
exactly where its file resources are located. This environment
leads to underutilized storage resources and capacity
problems because files are bound to a specific NAS device or
file server.
• It may be required to move the files from one server to
another because of performance reasons or when the file
server fills up.
• Moving files across the environment is not easy and may
make files inaccessible during file movement. Moreover,
hosts and applications need to be reconfigured to access the
file at the new location. This makes it difficult for storage
administrators to improve storage efficiency while
maintaining the required service level.
File Virtualization
• File-level virtualization simplifies file mobility. It
provides user or application independence from the
location where the files are stored.
• File-level virtualization facilitates the movement of
files across online file servers or NAS devices. This
means that while the files are being moved, clients
can access their files non-disruptively.
• Clients can also read their files from the old location
and write them back to the new location without
realizing that the physical location has changed.
• This File-Level virtualization is achieved by using
an additional unit known as virtualization appliance.
File Level Virtualization

• File virtualization defines the formation of an abstraction layer which facilitate


the clients to access file servers. Once the layer has been established, it controls
files systems and files across servers, and for all clients it allows to offer one
logical file mount [2]. It reduces the file mobility and facilitates independence
between the user and the file stored location. The migration of files among NAS
(Network Attached Storage) devices or file servers also can facilitate by file level
virtualization. This defines the non-disruptive client of the files. Clients can
access their files without any interrupting when the files are being moved. Apart
from that, users or the clients have the opportunity to read their files from
location and they have ability to write them to the new location without feeling
any location change. This visualization technique accomplished by using a
supplementary component which is known as virtualization appliance. Following
figure shows the architecture of file level virtualization.
https://www.youtube.com/watch?v=5EqAXnNm0FE
Storage Virtualization Configuration
Servers Servers

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.

Other advantages include:


Ability to offload function from the host
Providing storage management for the SAN
Performing performance optimizations in the data path
Supporting host systems not in a cluster
Supporting multiple heterogeneous hosts
Releasing the customer from a particular vendor’s storage
Integrating with storage to create a better management picture
Offering excellent scalability
Out-of-band

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.

Other advantages include:


Releasing the customer from a particular vendor’s storage
Providing storage management for the SAN
Offering excellent scalability
Offloading host processing
Supporting storage management from multiple vendors
Integrating well with storage management software
Supporting multiple heterogeneous hosts
Relatively low overhead in the data path
What is Virtual Provisioning
Capacity-on-demand from a shared storage pool
Logical units presented to hosts have more capacity than physically allocated
Physical storage is allocated only when the host requires it
Provisioning decisions not bound by currently available storage
Above and beyond “Thin Provisioning”
Includes management tools that make it easier to configure, use, monitor and
manage Thin Pools and Thin LUNs

Host
Reported Shared
Capacity Storage Pool
Allocated Allocated
Allocated

Storage perceived by the application is larger than physically allocated storage


Storage Virtualization - 97
Traditional Provisioning vs. Virtual Provisioning

1650 GB
Or
1.65 TB
Available
Capacity

350 GB
Actual Data
LUN 1 LUN 2 LUN 3
Storage System

Traditional Provisioning Virtual Provisioning


Storage Virtualization - 98
Virtual Provisioning – Benefits
Reduce administrative costs
Simplifies storage provisioning
Over-provisioning can eliminate challenges of expansion
Reduces time required to repeatedly add storage capacity
Reduce storage costs
Increased space efficiency for primary storage and replicas
“Storage on demand” from shared storage pool
Deploy assets as needed
Reduce levels of unused physical storage
Avoid pre-allocating physical storage to applications
Reduce operating costs
Fewer disks consume less power, cooling and floor space
Reduce downtime
Less disruptive to applications

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

“Test & Dev Pool 2”

Additional Disk Drives


Storage Virtualization - 100
How Storage Virtualization Apply

Following are the different ways for storage applies to the


virtualization:
• Host-Based
• Network-Based
• Array-Based
Host-Based Storage Virtualization

• Here, all the virtualizations and management is done at the


host level with the help of software and physical storage, it
can be any device or array.
• The host operating system must have a driver installed to
intercept and redirect IO requests.
• The host is made up of multiple hosts which present virtual
drives of a set to the guest machines.
• Doesn’t matter whether they are VMs in an enterprise or PCs.
Array-Based Storage Virtualization

Here the storage array provides different types of storage which


are physical and used as storage tiers. The software is available
which handles the amount of storage tier made up of solid-state
drives hard drives.
With array-based virtualization a single master array handles all
the IO requests for all arrays in the system. This type of storage
virtualization allows for the seamless centralized management
and data migration.
Network-Based Storage Virtualization

• Network-based storage virtualization is the most common


form which are using nowadays.
• With network-based storage, a fiber channel switch is placed
between the host and storage.
• This switch virtualizes and redirects all IO requests.
Operating systems are not a factor with network-based
storage. However, the switch and storage arrays must be
compatible with one another.
• Devices such as a smart switch or purpose-built server
connect to all the storage device in a fibre channel storage
network and present the storage as a virtual pool.
Network virtualization
Network virtualization

The end product of network virtualization is the virtual


network. Virtual networks are classified into two broad types,
external and internal. External virtual networks consist of
several local networks that are administered by software as a
single entity. The building blocks of classic external virtual
networks are switch hardware and virtual local area network
(VLAN) software technology. Examples of external virtual
networks include large corporate networks and data centers.
Network virtualization

An internal virtual network consists of one system using


virtual machines or zones whose network interfaces are
configured over at least one physical NIC. Those network
interfaces are called virtual network interface cards or virtual
NICs (VNICs). These containers can communicate with each
other as though they were on the same local network, effectively
becoming a virtual network on a single host.
Network Virtualization

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

• In a traditional execution environment, the operating system


maintains mappings of virtual memory to machine
memory using page tables, which is a one-stage mapping
from virtual memory to machine memory.
• All modern x86 CPUs include a memory management unit
(MMU) and a translation lookaside buffer (TLB) to optimize
virtual memory performance.
• However, in a virtual execution environment, virtual memory
virtualization involves sharing the physical system memory
in RAM and dynamically allocating it to the physical
memory of the VMs.
• That means a two-stage mapping process should be
maintained by the guest OS and the VMM, respectively:
virtual memory to physical memory and physical memory to
machine memory.
• Furthermore, MMU virtualization should be supported, which
is transparent to the guest OS.
• The guest OS continues to control the mapping of virtual
addresses to the physical memory addresses of VMs.
• But the guest OS cannot directly access the actual machine
memory.
• The VMM is responsible for mapping the guest physical
memory to the actual machine memory. Figure shows the
two-level memory mapping procedure.
Virtual Machine Memory

• The VMkernel manages all machine memory.


• The VMkernel dedicates part of this managed machine memory
for its own use.
• The rest is available for use by virtual machines. Virtual
machines use machine memory for two purposes: each virtual
machine requires its own memory and the virtual machine
monitor (VMM) requires some memory and a dynamic
overhead memory for its code and data.
• The virtual and physical memory space is divided into blocks
called pages. When physical memory is full, the data for virtual
pages that are not present in physical memory are stored on
disk. Depending on processor architecture, pages are typically 4
KB or 2 MB.
Memory Virtualization: Two level mapping process

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

A software solution to support full virtualization relies on a shadow paging (SP)


mechanism for address translation, where a shadow page table maintained by the
VMM maps virtual addresses directly to machine addresses while a guest
maintains its own virtual to physical page table. The VMM links the shadow page
table to the MMU so most address translations can be done effectively.. The VMM
has to ensure that the content in the shadow page table is consistent with what in
the guest page table. Since the guest OS does not know the existence of the
shadow page table and will change its guest page table independently, the VMM
should perform all the synchronization work to make the shadow page table keep
up with the guest page table. Any updates to the shadow page table need also to be
reflected in the guest page table. All these synchronizations will result in
expensive VM exits and context switches. VMWare Workstation,VMWare ESX
Server, KVM, and XEN all implement shadow paging
Shadow page table
Hardware assisted memory
virtualization
• Some CPUs, such as AMD SVM-V and the Intel Xeon 5500 series,
provide hardware support for memory virtualization by using two layers
of page tables.
• The first layer of page tables stores guest virtual-to-physical translations,
while the second layer of page tables stores guest physical-to-machine
translation.
• The TLB (translation look-aside buffer) is a cache of translations
maintained by the processor's memory management unit (MMU)
hardware.
• A TLB miss is a miss in this cache and the hardware needs to go to
memory (possibly many times) to find the required translation.
• For a TLB miss to a certain guest virtual address, the hardware looks at
both page tables to translate guest virtual address to host physical address.
• The diagram illustrates the ESXi implementation of memory
virtualization.
•The boxes represent pages, and the arrows show the different memory mappings.
•The arrows from guest virtual memory to guest physical memory show the mapping
maintained by the page tables in the guest operating system. (The mapping from virtual
memory to linear memory for x86-architecture processors is not shown.)
•The arrows from guest physical memory to machine memory show the mapping
maintained by the VMM.
•The dashed arrows show the mapping from guest virtual memory to machine memory in
the shadow page tables also maintained by the VMM. The underlying processor running
the virtual machine uses the shadow page table mappings.
Performance Considerations

When you use hardware assistance, you eliminate the overhead


for software memory virtualization. In particular, hardware
assistance eliminates the overhead required to keep shadow page
tables in synchronization with guest page tables. However, the
TLB miss latency when using hardware assistance is
significantly higher. As a result, whether or not a workload
benefits by using hardware assistance primarily depends on the
overhead the memory virtualization causes when using software
memory virtualization. If a workload involves a small amount of
page table activity (such as process creation, mapping the
memory, or context switches), software virtualization does not
cause significant overhead. Conversely, workloads with a large
amount of page table activity are likely to benefit from hardware
assistance.
 Memory virtualization decouples random access memory (RAM) resources from
individual systems in the data center, and then aggregates those resources into a
virtualized memory pool available to any computer in the cluster.
 The memory pool is accessed by the operating system or applications running on top
of the operating system.
 The distributed memory pool can then be utilized as a high speed cache, a messaging
layer, or a large shared memory resource for a CPU
 Memory virtualization allows servers to share a pool of memory to overcome physical
memory limitations, a common bottleneck in software
Benefits of Memory
Virtualization :
The primary benefit or objective of Virtual Memory systems is the ability
to load and execute a process that requires a larger amount of memory
than what is available by loading the process in parts and then executing
them.
Improves memory utilization via the sharing of scarce resources.
Increases efficiency and decreases run time for data intensive and I/O
bound applications.
Allows applications on multiple servers to share data without replication,
decreasing total memory needs.
Eliminates external Fragmentation.

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.

You might also like