You are on page 1of 19

A TECHNICAL SEMINAR REPORT ON

VIRTUALIZATION
A Technical Seminar report submitted in the Partial Fulfillment of the Requirements for awarding the degree of

BACHELOR OF TECHNOLOGY IN COMPUTER SCIENCE


Submitted By J.MAMATHA (07B81A0542)

DEPARTMENT OF COMPUTER SCIENCE ENGINEERING CVR COLLEGE OF ENGINEERING Vastunagar, Mangalpalli (V), Ibrahimpatnam (M) R.R.Dist. Pin 501510 (Affiliated to JNTU, Hyderabad)

CERTIFICATE
This is to certify that the technical seminar entitled VIRTUALIZATION presented by J.MAMATHA (07B81A0542) during the academic year 2010-2011 in partial fulfillment for the award of the Degree of Bachelor of Technology in Computer Science to Jawaharlal Nehru Technological University is a record of bonafide work. The results embodied in this seminar report have not been submitted to any other University or Institute for the award of any Degree or Diploma.

Prof. L.C.SIVA REDDY (Head of the Department) Department of CSE

ABSTRACT
Virtualization technology has been capturing lots of interest in the enterprise space and is being adopted by the It environments quite fast in the areas like server, storage, networking, client environments, etc. This technology enables a single resource like server or an operating system to appear as multiple logical resources. This improves the asset utilization and brings down the cost by reducing the need for physical assets. It can also be used to aggregate multiple physical resources like storage or networks and present them to servers and applications as if they were a single logical resource. This leads to simplification of server and application architecture and brings down the costs too. Virtualization is an industry-changing movement that will touch all aspects of IT infrastructure and drive new levels of exibility and dynamism in IT. This paper gives an overview of the concept of virtualization, types of virtualization, need to implement virtualization. This also illustrates how virtualization solves the problems of existing data centers and the advantages and disadvantages of going for virtualization. This also discusses about what kinds of challenges does virtualization present.

TABLE OF CONTENTS:
1. INTRODUCTION..5 1.1 What is virtualization .......5 1.2 Roots of virtualization ..........8 2. WHY VIRTUALIZATION....6 2.1 Problems with data centers .7 3. WHO NEEDS VIRTUALIZATION...8 4. CHALLENGES VIRTUALIZATION PRESENTS...8 5. TYPES OF VIRTULIZATION.......9 5.1 Server Virtualization......9 5.1.1 Full Virtualization..10 5.1.2 Para virtualization......10 5.1.3 Os Partitioning...11 5.2 Storage Virtualization.......12 5.3 Network Virtualization.....13 5.4 Application Virtualization....14 5.5 Desktop Virtualization......15 6. ADVANTAGES OF VIRTUALIZATION .....16 7. DISADVANTAGES OF VIRTUALIZATION.. 17 8. CONCLUSION.18

1. INTRODUCTION

1.1. What is Virtualization? Virtualization refers to technologies designed to provide a layer of abstraction between computer hardware systems and the software running on them. Virtualization provides a logical view of computing resources, rather than a physical view. Some of the things which virtualization solutions make it possible are Virtualization allows running multiple operating systems simultaneously on a single machine. Virtualization allows you, essentially, to trick your operating systems into thinking that a group of servers is a single pool of computing resources.

Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments. Virtualization techniques create multiple isolated partitions called Virtual Machines (VM) or Virtual Environments (VEs) on a single physical server. Virtualization has its roots in partitioning, which divides a single physical server into multiple logical servers. Once the physical server is divided, each logical server can run an operating system and applications independently. With the advent of the x86 architecture and inexpensive PCs, virtualization faded and seemed to be little more than a fad of the mainframe era. It's fair to credit the recent rebirth of virtualization on x86 to the founders of the current market leader, VMware. VMware developed the first hypervisor for the x86 architecture in the 1990s, planting the seeds for the current virtualization boom. 1.2. Roots of Virtualization Technological evolution both drives, and is driven by, ever-increasing levels of abstraction in hardware and software architectures. High-level programming languages like FORTRAN, COBOL, BASIC, C, and JAVA have allowed programmers to implement software without having to pay too much attention to the operating systems on which it will run. One job of operating systems is to provide the abstractions that free programs from the complex and varied details needed to manage memory and input/output (I/O) devices. Contemporary application software, swaddled within layers of middleware and dynamic linked libraries 5

(DLLs), must work overtime to determine the physical characteristics of the hardware on which it runs. Although application packages and middleware have become blissfully unaware of the details and configuration of specific hardware implementations, the operating systems that provide this isolation must be totally cognizant of the hardware on which they reside. Details like MAC and IP addresses, SAN, LAN assignments, physical memory configurations, processor counts, and system serial numbers become enmeshed within the OS state at the time of system installation. Coming Up with the Concept Hardware and software architects realized that if they could abstract the hardware as seen by the operating system, then they could finesse the softwares view of the physical configuration on which it was installed. This approach is kind of like the black box model the software doesnt really need to know whats going on inside the black box as long as computations sent into the box come back out with the correct results. The architects called their approach virtualization, and it turns out to be more convoluted than you might imagine. Complexity arises because an operating system likes to think it owns the hardware on which it runs. More than that, an operating system doesnt like to be fooled. This challenge is made more difficult still, given that the x86 architecture (which does not lend itself readily to the creation of virtualized environments) came into existence before notions of virtualization became common currency in mainstream computing.

2. WHY VIRTUALIZATION?

Generally when an enterprise obtains a new application, it is deployed on a new server. With more and more enterprises becoming IT intensive , more and more IT solutions and apps are being deployed, which means additions servers for new apps. This means escalation of spending on Hardware Electrical costs Cooling costs Real estate Networking Administration

2.1 Problems with data centers The problems with the datacenters present today are as follows Too many servers for too little work Aging hardware reaching end of usable life High infrastructure requirements Limited flexibility in shared environments Under utilization of hardware, with only fraction of its total processing power being utilized.

Thus, Virtualization has become the cornerstone of every enterprise's favorite money-saving initiative. Industry analysts report that between 60 percent and 80 percent of IT departments are implementing server virtualization projects. By reducing the numbers and types of servers that support their business applications, companies are looking at significant cost savings. Less power consumption, both from the servers themselves and the facilities' cooling systems, and fuller use of existing, underutilized computing resources translate into a longer life for the data center and a fatter bottom line. And a smaller server footprint is simpler to manage. However, industry watchers report that most companies begin their exploration of virtualization through application testing and development. Virtualization has quickly evolved from a neat trick for running extra operating systems into a mainstream tool for software developers. Rarely are applications created today for a single operating system; virtualization 7

allows developers working on a single workstation to write code that runs in many different environments, and perhaps more importantly, to test that code. This is a noncritical environment, generally speaking, and so it's an ideal place to kick the tires.

3. WHO NEEDS VIRTUALIZATION? The key aim of adopting virtualization is to improve efficiency of the datacenter. Virtualization brings in efficiency by putting more load on lesser hardware, so that it becomes easier to manage, consumes less power and physical space. But that does not mean that every organization needs virtualization. Everybody needs efficiency, but virtualization may not be the best way to bring it. So for an organization that does not have a lot of IT equipment, it might be cheaper continuing using existing equipments and they may not really need virtualization. A lot of small organizations would fit in this category. Growing business organization which needs IT equipment is a primary candidate to go for virtualization For the organizations with a lot of bloat ware-lot of It equipment like servers, storage ,networking in the data center, which is taking up lots of physical space, consuming a lot of power and remaining underutilized most of the time needs virtualization. Before adopting virtualization one should calculate how much we are spending in running all the equipment and compare it against the cost of bringing down to the virtualization. If the cost is less than the cost of managing it all then we can go for virtualization. It is not necessary that every large organization requires virtualization. A heavy IT workload and growing business organization with lots of IT equipment needs virtualization.

WHAT KIND OF CHALLENGES DOES VIRTUALIZATION PRESENT? This technology changes the way a data center is managed, administered and operated. For example, before server virtualization, you could walk into any data center, ask the admin to name the organization's top five applications, and he would be able to show you the machines those apps were running on. However, the traditional coupling of hardware and software is broken by virtualization. This decoupling creates the potential for performance conflicts. For example, some applications have cyclical performance profiles. A West Coast stock-trading application and a SIMEX app running on the same machine are going to overlap at peak market hours, slowing performance. Consequently, administrators have to think through how the virtualized data center 8

will operate. The major virtualization vendors typically provide extensive technical resources and at least some training to explain how their solutions work. But each data center operates differently, and it's up to the administrators to know their systems. 4. TYPES OF VIRTUALIZATION There are different categories of virtualization such as Storage virtualization melds physical storage from multiple network storage devices so that they appear to be a single storage device; network virtualization combines computing resources in a network by splitting the available bandwidth into independent channels that can be assigned to a particular server or device in real-time; and server virtualization hides the physical nature of server resources, including the number and identity of individual servers, processors and operating systems, from the software running on them. These are illustrated as follows. 4.1. SERVER VIRTUALIZATION The existing role of operating system is illustrated below

Server virtualization is based on Insertion of a Hypervisor on Top of Hardware

In simple terms this technology enables running of multiple virtual machines on a single physical server. By deploying specific virtualization software, the admin converts a single physical server into multiple virtual machines, with each virtual machine acting like a separate device that can run its own operating system. There are three ways of achieving server virtualization. The physical servers are called as hosts and the virtual servers are called as guest.

5.1.1

Full Virtualization

This technology deploys virtualization software called the hypervisor that directly interacts with the physical server CPU and disk space and acts as the hosts OS and provides a platform for the OS of virtual servers. Here the hypervisor keeps every guest server independent and unaware of other virtual machines running on the same physical resource and allows almost any OS to be installed on the virtual server without any modification. For example, one virtual machine on the host server may be running on Windows and the other on Linux. The physical server resources are being monitored by the hypervisor and it relays resources from the host server to those guest servers as the requirement come in. Also the physical server has to reserve some resources and processing power to run the hypervisor application, as the hypervisor is loaded with demand to manage different virtual servers and keep them independent of each other.

5.1.2 Para-virtualization Unlike the full virtualization approach in the para-virtualization approach, the guest servers are made aware of one another by modifying each guest Os in a manner that it can cooperate with the hypervisor. So the para-virtualization hypervisor relatively requires lesser processing power to manage the guest operating systems than the full virtualization approach, as the guest OS already know about the demands of other operating systems placed on the host server. If all their servers of the administrator are running on various Operating systems then either para virtualization or full virtualization approach can be deployed.

10

5.1.3 OS level virtualization Under this server virtualization technology, the physical server and a single instance of its OS is virtualized into different isolated partitions. Each partition replicates a real server. This means that there is no separate hypervisor level and the function of managing hardware resources is among the guest servers and keeping them independent of each other is the hosts OS role. But here all virtual servers must run same operating systems. This is good approach if all physical servers are running on the same operating system as this approach is much faster and efficient than other methods .

Server virtualization has a large number of benefits for the companies making use of the technology. Among those frequently listed:

Increased Hardware Utilization This results in hardware saving, reduced administration overhead, and energy savings. Security Clean images can be used to restore compromised systems. Virtual machines can also provide sandboxing and isolation to limit attacks. 11

Development Debugging and performance monitoring scenarios can be easily setup in a repeatable fashion. Developers also have easy access to operating systems they might not otherwise be able to install on their desktops.

Correspondingly there are a number of potential downsides that must be considered:

Security There are now more entry points such as the hypervisor and virtual networking layer to monitor. A compromised image can also be propagated easily with virtualization technology. Administration While there are less physical machines to maintain there may be more machines in aggregate. Such maintenance may require new skills and familiarity with software that administrators otherwise would not need. Licensing/Cost Accounting Many software-licensing schemes do not take virtualization into account. For example running 4 copies of Windows on one box may require 4 separate licenses. Performance Virtualization effectively partitions resources such as RAM and CPU on a physical machine. This combined with hypervisor overhead does not result in an environment that focuses on maximizing performance.

5.2 STORAGE VIRTUALIZATION As the data storage requirements of enterprises started growing, adoption of RAID, network-attached storage and storage started happening. But with the escalating demands for storage, enterprises are now facing the issue of managing their complex storage environments. Storage virtualization technologies are addressing this very issue by adding a new layer of software and hardware between the storage systems and servers and allowing for pooling of storage from different storage devices into a single storage pool. What happens is that servers now see the layer of virtualization as one storage device where as every individual storage device perceives the virtualization layer as the only server. This allows for easily grouping storage devices from multiple vendors into different tiers of storage. Also the admin now can easily manage all the distributed storage as if dealing with a consolidated resource. Some other benefits of storage virtualization include enabling dynamic reallocation of storage space and enabling addition of a fresh storage device without the need of reconfiguring server and network.

General benefits of storage virtualization include:

Migration Data can be easily migrated between storage locations without interrupting live access to the virtual partition with most technologies. 12

Utilization Similar to server virtualization, utilization of storage devices can be balanced to address over and under utilitization. Management Many hosts can leverage storage on one physical device that can be centrally managed.

Some of the disadvantages include:


Lack of Standards and Interoperability Storage virtualization is a concept and not a standard. As a result vendors frequently do not easily interoperate. Metadata Since there is a mapping between logical and physical location, the storage metadata and its management becomes key to a working reliable system. Backout The mapping between local and physical locations also makes the backout of virtualization technology from a system a less than trivial process.

5.3 NETWORK VIRTUALIZATION Network management is definitely one of the areas that IT departments of organizations struggle with. If any network changes have to be done, in response to changing workloads, it has to be done by moving cables manually between different physical resources. But with virtualization being applied to the network, the network administrator would get a single console to monitor and manage the entire network and would allow reconfiguring the network on the fly without touching a single cable or device. Network virtualization makes the job of the administrator easier and leads to optimized network speed and scalability.

13

In general benefits of network virtualization include:


Customization of Access Administrators can quickly customize access and network options such as bandwidth throttling and quality of service. Consolidation Physical networks can be combined into one virtual network for overall simplification of management.

Similar to server virtualization, network virtualization can bring increased complexity, some performance overhead, and the need for administrators to have a larger skill set.

5.4 APPLICATION VIRTUALIZATION This enables a program like MS Word to execute on a server in a datacenter with its graphical output being routed to a remote client. The end user obtains the complete graphical display and can interact with the program via keyboard and a mouse. Nothing is installed locally on the end users machine but the machine just provides the CPU and the RAM required to run the software. That is instead of being installed permanently on the client device, the application is streamed to the client devices each time it is fired up. This is more like installing at every use and enables the enterprise to take control of the application better and keep it up to date with patches and versions etc.

Benefits of application virtualization include:


Security Virtual applications often run in user mode isolating them from OS level functions. Management Virtual applications can be managed and patched from a central location. Legacy Support Through virtualization technologies legacy applications can be run on modern operating systems they were not originally designed for.

14

Access Virtual applications can be installed on demand from central locations that provide failover and replication.

Disadvantages include:

Packaging Applications must first be packaged before they can be used. Resources Virtual applications may require more resources in terms of storage and CPU. Compatibility Not all applications can be virtualized easily.

5.5 DESKTOP VIRTUALIZATION A problem that the enterprises are currently facing is keeping all these devices up-to-date with operating systems patches, application updates etc. here is where client virtualization becomes relevant where an end users PC is being executed on a central server with the client device receiving a graphical display output. This is called virtual desktop virtualization. The major advantage of desktop virtualization is IT team can manage the client system updates and patches from centralized location and provide higher data security. The virtualized desktops are stored on the remote servers instead on the local storage of a remote client. Users working from their remote clients like PCM net book, smart phone or thin client, their desktops are made available with all programs, applications, and data that are kept and run centrally. Benefits of desktop virtualization include most of those with application virtualization as well as:

High Availability Downtime can be minimized with replication and fault tolerant hosted configurations. Extended Refresh Cycles Larger capacity servers as well as limited demands on the client PCs can extend their lifespan. Multiple Desktops Users can access multiple desktops suited for various tasks from the same client PC.

Disadvantages of desktop virtualization are similar to server virtualization. There is also the added disadvantage that clients must have network connectivity to access their virtual desktops. This is problematic for offline work and also increases network demands at the office.

15

5. ADVANTAGES OF VIRTUALIZATION Reducing hardware and software needs, improving performance and scalability, and reducing downtime are key factors in managing costs in todays companies. Virtual machines provide the means for companies to achieve these goals. Here is a brief overview of the benefits you can expect to gain using virtual machines. Virtualization Allows to Save Money Virtualization allows saving money on hardware, space, and energy. The fact that virtualization uses existing servers/disks to add more performance without adding additional capacity, directly translates into savings from hardware. When it is possible to deploy three or more servers on one physical machine, this saves the need to buy three or more separate machines, which will be used only occasionally. Additionally, when the physical number of servers/storage in an enterprise is decreased, this usually means that less space is needed to store them. Office rents are a major expense for any business, so when a company needs less space (without cramming the servers, of course), this is certainly useful. Virtualization Is a Green Technology Eco-friendly technologies are in high demand and virtualization solutions are certainly among them. Server virtualization and storage virtualization lead to decreased energy consumption, which automatically includes them in the list of green technologies. Virtualization Makes an Enterprise More Efficient Increased efficiency is one more advantage of virtualization. Virtualization helps to utilize the existing infrastructure in a better way. Typically an enterprise uses a small portion of its computing power. It is not uncommon to see server load in the single digits. Keeping underutilized machines is expensive and inefficient and virtualization helps to deal with this problem as well. When several servers are deployed onto one physical machine, this will increase capacity utilization to 90 per cent or more. Virtualization Eases Administration and Migration

When there are fewer physical machines, this also makes their administration easier. Administering virtualized and non-virtualized servers and disks is practically the same. We can migrate old operating systems for which it is difficult to obtain appropriate underlying hardware for a physical machine. Along these same lines, you can run old software that has not been, or cannot be, ported to newer platforms For the development and testing environments 16

There are instances where enterprise develops software, in-house to address a particular need. Virtualization is of great benefit when it comes to running and testing such software, allowing it to be tested on a variety of systems like Windows, Linux etc. A single hardware device can be divided into multiple systems and can be utilized for this purpose instead of having numerous under utilizes servers lying around only for occasional use by developers or testers. 6. DISADVANTAGES OF VIRTUALIZATION Bearing in mind all the advantages of virtualization, one could easily conclude that virtualization is the perfect technology for any enterprise. Well, virtualization does have many benefits but it also has some drawbacks as well. Knowing these drawbacks allows to adopt a realistic approach to virtualization and to make a fair judgment if virtualization is suitable in a given scenario or not. Here are some of the most notable drawbacks of virtualization: Virtualization Solutions Have a Single Point of Failure One of the greatest drawbacks of virtualization is that there is a single point of failure. When the machine, on which all the virtualized solutions run, fails or when the virtualization solution itself fails, this crashes everything. This might sound scary but actually this risk is relatively easy to provide for. Redundant capacity and regular backups of the virtualized operating systems (together with the virtualized applications) are a warranty against data loss and downtime due to the single point of failure. Virtualization Demands Powerful Machines Virtualization might save money because thanks to it less hardware is required and this allows decreasing the physical number of machines in an enterprise but this does not mean that it is possible to use archaic computers to run top-notch virtualization solutions. Virtualization solutions are hardware monsters and they require a really powerful machine. If the machines used are not powerful, it is still possible to deploy virtualization solutions but when there is no enough RAM and CPU power for them, this will seriously disrupt their work. Anyway, it is still cheaper to add 4GB of RAM to a machine to make it more powerful than to buy a new machine. Virtualization Might Lead to Lower Performance Even if the machines on which virtualized operating systems and virtualized applications are run are powerful enough, performance issues are still possible. What is more, one of the most unpleasant facts is that very often there is no problem with a particular application when it is not 17

virtualized but when it is deployed in a virtualized environment, all sorts of issues start to surface. For instance, stress tests in virtualized environments yield very different (and misleading) results in comparison to stress tests on a dedicated machine. While with stress tests in virtualized environments it is more or less logical to expect that performance will differ, in many other cases performance issues can't be predicted in advance. Unfortunately, usually there is no way to know in advance if a particular application will misbehave when virtualized or not, so the best to do is deploy on a test virtualized platform and closely watch for potential issues. Application Virtualization Is not Always Possible While in most cases it is not possible to predict if a particular application will misbehave when virtualized or not, there are also many applications, which are known to experience performance degradation when virtualized. Databases are one of the most common examples of such applications. Databases require frequent disk operations and when there is a delay in reading from or writing to the disk because of virtualization, this might render the whole application useless. Still, nobody says that it is impossible to virtualize a database application - even real-time financial applications successfully run on virtualized environments. However, if given the chance, it is much safer to avoid virtualizing such critical and demanding applications. The drawbacks of virtualization might look pretty serious but in fact they are not so dreadful. All these disadvantages of virtualization can be taken care of and it is possible to take advantage of the advantages of virtualization without worries. Still, as already mentioned, there are cases when virtualization is not the way to go, so when considering implementation of a virtualization solution in a given enterprise, it is mandatory to weigh carefully the pros and cons. 7. CONCLUSION Virtualization technology, while not new, is growing at a significant rate in its use on servers and desktop machines and long ago lost its connection to mainframe systems alone. While challenges do exist, such as the unification of terminology, the development of even more robust software solutions, and the implementation of greater device virtualization support, virtualization is still poised to make a significant impact on the landscape of computing over the next few years.

8. REFERENCES

18

[1] http://www.f5.com/pdf/white-papers/virtualization-defined-wp.pdf [2] http://www.kernelthread.com/publications/virtualization/ [3] http://www.cio.com/article/40701/Virtualization_Definition_and_Solutions [4] http://www.infoq.com/articles/virtualization-intro

19