This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Server Virtualization is nothing but masking the resources of Server like number of physical Server, Operation System and Processor from external user. Server virtualization is achieved by using software called "hypervisor" also called as "virtual machine monitor". Hypervisor divide the server into many isolated Virtual environments. Hypervisor resides between hardware of host and guest operating system it controls the access to CPU, memory, and storage, even allowing a guest OS to migrate from one machine to another. These isolated virtual environments are also called as Virtual Private Server and also sometime referred as instances, guest. Figure 3.1 shows an x86 Architecture which uses Virtualization Layer for optimizing server performance.
3.2 Why use Virtualization and what role it plays in NGDC
In this high competitive market every enterprise wants high return of investment and also going green along with it. Many enterprises are turning to Next generation data center technology, which is service-oriented and support end users in a highly responsive way.
The most basic step to next generation data center is to use virtualization. As the business needs go on changing and data center should also adapt to this demands accordingly virtualization help server to allocate resource dynamically. Virtualization decouples logic resources from physical so that resources can be allocated faster and in more cost effective way.
On IT side, due to improve use of resource utilization cost will fall, space will be saved as less data centers would be used and improved energy efficiency. Performance and scalability of application will be boosted and new application can be easily developed and rolled out quickly. Risk involve is also reduce because there are less server to monitor and maintenance.
On the business side, when new strategies are being discovered by changing business need it's easy and fast to deploy this new functionality on virtualized environment rather than deploying on each server of the data center. Through real time processing we can predict the success or failure of a strategy. With system control and management operation are consolidated, time factor and redundancy can be identified within infrastructure and can be resolved. Also, employee productivity also helps in improving management infrastructure.
3.3 Types of Server Virtualization:
There are mainly three types of server virtualization technique namely
OS Level Virtualization
3.3.1 Full Virtualization:
Figure 3.2 Full Virtualization Model
Figure 3.3 Internal view of Full Virtualization used by VMware
This type of virtualization is generally used to provide full simulation of the underlying hardware to Virtual machines running on it. As shown in Figure 3.2 Hypervisor is directly installed on the server. Hypervisor is software that translates kernel code to replace non-virtualizable instruction that have some effect on virtual hardware. Meanwhile the user code is directly executed by processor and hence it makes the full use of processor computational power. The work of VMM is to provide all services such as virtual device, virtual BIOS and virtual memory management.
As shown in Figure 3.3 is the model used by VMware for full virtualization. In this model VMM is given higher priority than that of guest operating System. VMM does the binary translation of request sent by Guest operating System to the host hardware and reply back the result in machine language. This combines with direct execution of user program provides Full virtualization as the guest OS is fully abstracted from the hardware by Virtualization layer. Full virtualization is the only technique which does not require any hardware or OS assist. Moreover, guest OS does not require any modification as it's unaware that it's being executing in virtualized environment.
Full Virtualization offers security and isolation and does not require migration and portability as the same instance of OS software can run on virtualized or on host hardware. The example of Full Virtualization products are VMware virtualization product and Microsoft Virtual Server.
Figure 3.4 Para Virtualization Model
The word "Para" means "alongside". Para virtualization is used to increase the performance between guest operating system and Hypervisor. As shown in Figure 3.4 in paravirtualization environment guest operating system kernel is modified to change non-virtualized instruction to Hypercall. This Hypercall are send to Hypervisor of Virtual Layer. Hypervisor take care of critical function such as memory management, time keeping etc.
Performance of paravirtualization depends on the work load. As in case of full virtualization, Hypervisor need to take care of non-virtualized instruction using binary translation. But since in paravirtualization each OS kernel is modified it directly makes hypercall to Hypervisor and reduces work load for hypervisor. Para virtualization does not support guest operating system which cannot be modified (Windows XP). There are also many significant support and maintenance issue as it requires modification in kernel code of operating system.
3.3.3 OS Level Virtualization:
Figure 3.5 OS Level Virtualization
OS level virtualization work on the kernel level of operating system. It is not based on host/guest paradigm. It exports all the host operating system functionality to all of its guests. This virtualization does not involve hypervisor. The main constraint using this type of virtualization is that all the guests must run the same operating system as that of host. This architecture removes system calls between layers and hence there will be less CPU overhead. As shown in Figure 6 each container behaves as a separate server utilizing hardware, data center, and software with maximum efficiency. All container execute a same operating system but this all operating system remain isolated from each other so that incase of failure or any security threat one container remain un affected by other partition. In this architecture libraries of host are shared this allows host to support thousand of guest in efficient way.
3.4 Benefits of Server Virtualization:
The five main benefits of using Virtualization are as under:
By hosting many virtual server on a single Physical Server we can limit the number of physical server in a Data Center and hence the space in Data Center room. Since, in traditional data center if only one application is allowed to run on a server, it does not make complete use of the available resources on that server this is defined as server spawn. By using virtualization since there are many virtual servers running, we can efficiently make use of available resources on host server. This is known as Server consolidation.
Consolidation helps in:
â€¢Cost: Reduced maintenance cost per machine
â€¢Space: Less servers, less space needed
â€¢Energy: Savings by upto 80%
â€¢Environment: Reduced CO2 emissions due to decrease in number of servers.
One of the other benefits which lure the enterprise to use virtualization is redundancy in data center. Redundancy refers to running a same application on multiple servers. It can be very useful in case of back up measure. When any one server fails the same instance of the application running on different server can take its place. This helps in interruption in the service. Enterprise looks for such back up measure and virtualization is the cheapest way to get such benefit. It is the network administrator responsibility to make instance of an application to be run on multiple servers and not on one physical server. Because, if two instances of an application run on same physical server in case of failure of that server, both virtual server would also fail.
The other use server virtualization technique is to run application which may require different operating system for their execution. This helps programmers to test application on different environments. Rather than allocating separate physical server to run particular application. A network administrator with the help of virtualization can run different operating system on a physical server. Since in virtualization two virtual server remains isolated with one another there is no chance that an application running on one virtual server will affect another.
3.4.4 Legacy Hardware
Legacy hardware is a term used for hardware which has become obsolete due to innovation of new hardware technologies. More technologies are developed every year and there is a cost associated if we have to move old technologies and incorporate in new one. Switching from one system to another is difficult task to achieve because while migrating to new hardware organization don't want their services to be stopped which is provided by that application running on their old hardware.
A network administrator can create a virtual version of the hardware and move that application to run virtually on modern server giving organization time to replace legacy hardware with new hardware without their provided services being interrupted. This can also be used when the Legacy hardware is broken and can't be fixed.
This is an emerging concept. Migration is moving virtual server from one physical server to another physical server. Originally, for moving virtual server from one Server to another it must match right hardware and software requirements. For migrating to new server both physical servers should have same hardware, operating system and processor. But with the advancement in Virtualization it is now possible to shift virtual server from one physical server to another server in different network even if both physical server has different processor. But there is a constraint is that both the processor must be from the same manufacturer.
3.5 Limitations of Server Virtualization
Every technology has its limitations also same applies to virtualization. Virtualization is not at all suited for an application which requires high processing. As we know that Server virtualization divides the processing power among Virtual Server running on that System. If an application requires high processing power it will slow down its execution and also effects other application running on that physical server. In the worst case it can crash the server if server can't meet the processing demands.
The number of virtual server created on a Physical server is also one of the factors as you can't go on creating many virtual servers as there is Disk space limitation on a Server. It can affect server ability to store data on disk. This limitation can be overcome if a network administrator divided virtual server on Data center such a way that there is no storage problem.
One other problem associated with virtualization is "migration". We need migration in some cases when we need to maintenance or upgrading. While doing this we need to port the virtual server running on that Physical server to another, but currently it is possible if both the Physical server have the same processor manufacturer. E.g. If one physical server has Intel processor and another has AMD processor than porting is not possible.