The Research and Application of the Virtualization and Clustering on Linux Server

With the rapid development of the economy and electronic commerce, the exchanging times between the enterprises and users is increasing as geometric series. However, the utilization rate of enterprise servers is only between 15% ~ 30%. This paper illustrates a program about the combination of the Linux platform and virtualization technology. The existing server is transferred into multiple virtual servers with the software VMware Workstation. At the same time, the virtual Linux clients are clustered using the virtual machine (VM) virtualization technology and scheduling algorithm for load balancing. With the adoption of this method, not only the security of the data has been reinforced and the cost of the data been reduced, but also the IT departments are benefited in reducing the whole costs and strengthening its business continuity and data integrity.


Introduction
With the development of computer technology and the services of Internet, the exchange of data on business between the enterprises and users has basically moved to the platform of Internet.The rapid development of economy and e-commerce enables the exchanging times between the enterprises and users to increase as geometric series.This situation lays high requirements on the availability and scalability of the servers of the enterprise.Because any disruption of server will cause incalculable damage to the business, measures should be taken to ensure the continuity of their business without cost increasing.Clearly the traditional single server can no longer meet the demand.On the other hand, to buy more than one server will greatly increase the cost.
Thanks to the support of IBM, Microsoft, EMC and other big companies, virtualization technology is rapidly developing, and that makes this problem solved.The Application of the technology will not only reinforce the security of data and reduce the costs of data center, but also help the IT department reduce the cost and strengthen the continuity of the business.

Outline of virtualization
Virtualization means the packaging and the separation of resources.That means, it allows enterprises to manage different resources in a single interface and reduces management complexity and cost.This technology has realized the running of several different operating systems on a same physical system, and the systems resource allocation between various operating systems according to the demand.
Virtualization technology (Pinhua,2010,pp.220-221) is developed because in ordinary business application environment the actual server utilization is very low, usually only of 15% to 30% of the system capacity.Most of the server utilization is less than 40%.This makes the IT ROI remains on a low level.In this case, virtualization technology can be used.With this technology, several virtual server systems can be installed on a physical server device.This method enables dynamic allocations of resources and ultimately improves the actual load rate of the server and reduces the costs of IT investment.The structure is shown in Figure l .

Implement methods of Linux virtualization
There are a variety of ways to achieve Linux virtualization.They can achieve the same functionality through different levels of abstraction.There are four commonly used methods of Linux virtualization (Jianhong,2008,pp.62-64): (1) Hardware Emulation.This is the most complicated implementation of Linux virtualization technologies.In this method, a hardware VM is created on the host system to simulate the requested object.The main problem of the method is its very slow response speed.The relevant software for this method are Bochs and Qemu.
(2) Full virtualization.With the Hypervisor software, an abstraction layer between the virtual server and the underlying hardware can be created.Hypervisor can capture CPU instructions.It plays an intermediate role for the instructions to visit hardware controllers and peripherals.Relevant software are VMware Workstation, VMware ESX SERVER, Virtual PC and so on.
(3) Para-virtualization.To reduce the burden on host, we can use the para-virtualization to customize the guest operating system kernel by using the applications interfaces (API).So we can replace some X86 privilege instruction which can not be virtualized, and make the VMM work together to enhance the virtual machine The typical software of this technology is the Xen of open source virtualization.
(4) The virtualization of the operating system layer.In this method, several virtual servers are added on the operating system layer.There is no independent Hypervisor layer.The host operating system itself is responsible for the distribution of hardware resources among the multiple virtual servers and makes these servers independent of each other.Different from other methods, if this one is adopted, all the virtual servers must use the same operating system.Typical relevant software products include OpenVZ / Virtuozzo, Jails and so on.

VMware Workstation
VMware Workstation is a powerful desktop virtual computer software.With this software, users can run different OS on a single desktop at the same time and develop, test and configure new application program.VMware can simulate an entire network environment on a physical machine.Its flexibility and technical advancement makes it outrun any other virtual software on the market.

Cluster of servers on Linux system 3.1 the platform of Linux
Linux is a kind of quasi-Unix operating system which is free to use and disseminate.It s mainly used on the computer which is based on x86 CPU.The system is maintained by open source community.It is aiming to establish commercial software without any copyright restriction so that the whole world can use free Unix-compatible products.
3.2 the use of VMware Workstation 3.2.1 the requirements of hardware on the underlying host The underlying host bares a high loading rate since multiple virtual operating systems are running on it.In the following paragraph, the underlying platform configuration will be discussed from the perspective of CPU, memory and I/O respectively (Yu,2007(Yu, ,pp.1461(Yu, -1464)).
(1) The configuration of CPU: In the full virtualization technology, the virtual service running efficiency will be greatly enhanced by the CPU which has the assistant virtualization function.VMware Workstation is compatible to the Intel-VT technology.All the Intel Conroe core CPU, such as VT-I,VT-d etc., have VT (virtualization technology) features.
(2) The configuration of memory: The memory management of VMware Workstation uses the pre-allocation method.The host physical memory configuration depends on both the number of virtual machines in running and the memory size pre-allocated to each virtual machine.
(3) The disk subsystem: The hard disk of the virtual machine is exiting in the form of files on the host.The read and write operation of the virtual machine will be eventually turned into the I/O operation of the host.So the throughput of the disk subsystem of the host will be easily tuned into bottlenecks.We can use VMM-bypass I/O software to improve both the speed of hard disks and the reliability of data storage of the subsystem.

3.2.2
The choice of the OS on the underlying host The host operating system of VMware Workstation supports for Linux and Windows systems.Choice of operating system as the host support platform needs to take such aspects into account as stability, operating efficiency, and the client operating system.(1) In regards to the stability of the host operating system platform, Linux system is better than Windows system.(2) The other factor is the consistency of the operating system of virtual machine and the host machine.Experiments show that virtual machine has higher I/O efficiency when the same operating systems are installed on both the host machine and virtual machine.

The architecture of Virtual network
After these several steps, we can make a machine into multiple virtual Linux image (Gang,2005,pp.118-120), while we dispatch one or more virtual network card for each client.The exchanging data of the client operating system with the outside world are transferred through the network card of the host system at the bottom.Each virtual machine has one or several different segments of the IP.So they can build a number of client-LAN.Each client-LAN is associated with a virtual network segment.We can define a number of NIC, similar to the network interface, associated with each client to the host-LAN.At the same time, different interfaces of the hardware have a different virtual device correspondingly, which is shown in the following Figure2.

The Cluster of Virtualization
In general, we need to build the Internet Protocol Virtual camouflage mechanism on the cluster virtual server first, that is, the virtual IP masquerading.Then we create forwarding mechanism of IP port connecting the underlying real server.Virtual servers typically include the load balancer and the real server.
The virtual clustering technology of VM-based platform allows multiple Linux systems to make the clusters.This can provide customers with robust performance Linux cluster support services.An ideal cluster is that the user views the cluster as one system rather than a number of computer systems and the user is never aware of how many nodes there are at the bottom cluster system.Generally, the cluster system is divided into two categories, high-availability (HA) cluster and high-performance computing (HPC) clusters.HA clusters are committed to providing highly reliable service.HPC are committed to providing powerful computing that individual computer can not provide.

The principle and comparison of three IP load balancing
Firstly, the network address translation (NAT) virtual network into the internal address of the external addresses.
The principle of NAT is as follows.After the packet header (destination address, source address and port, etc.) has been modified, the customers believe that they are connected to an IP address, but different IP address of the server group also believe that they are directly connected to the customer.Thus, with NAT method you can transfer parallel network services of different IP addresses into a virtual service of one IP address.Secondly, the IP tunnel through the virtual server (VS/TUN) in VS/NAT cluster system, request and response data packets needed by the load scheduler.When the true number of the server is between 10 sets and 20 sets, the load scheduler will become the new bottleneck in the whole cluster system.If the request and response can be dealt with separately, the load scheduler is only responsible for dispatching the request and return the responses directly back to the customer.This will greatly improve the throughput of the entire cluster system.Thirdly, this method realizes virtual server through direct routers (VS/DR).This method is the same as the VS/TUN method.Most Internet services are non-symmetrical, that means, load scheduler is responsible for the request and the server will directly return the responses back to the customer.By taking the advantages of this character, VS/DR improves the throughput of the entire cluster system greatly.
The advantages and disadvantages of the above mentioned IP load balancing techniques are summarized in table 1.

The Scheduling Algorithm
The load balance scheduling takes connection as granularity.According to HTTP protocol, a TCP connection needs to be established when we obtain an object from the WEB server.The different requests of a unique user will be scheduled onto different servers.So such fine-grained scheduling can fully avoid the load imbalance caused by unexpected user visits.There are several scheduling algorithms realize the way (Liaojun,2003,pp.161-163),such as Round-Robin Scheduling, Weighted Round Robin Scheduling, Least Connecting Scheduling, Weighted Least Connection Scheduling, Persistent client connection and Persistent port connection

The Application of Model
This is an example of application.One software company has two servers.One is put into use and the other only is used for regular backups.When one server is in failure, the other one will ensure business continuity (In fact, it is intermittent in the replacement time).That means, the method may cause the enterprises significant losses when server must be changed.
If only one OS is installed on one server, its maximum utilization will not exceed 40%.With virtualization technology one physical server can be mirrored into several virtual servers.According to this idea, we have implemented a new configuration plan.These two servers will be run as web server and database server respectively.And we create three virtual clients at a host (host using Red hat Enterprise Linux5 operating system), while using disk array technology to ensure data integrity.The virtual architecture is shown in Figure 3. Using this method, the utilization of the server is up to 80%, thus the business continuity is ensured.

Conclusions
In the Linux platform, we can improve the utilization of existing enterprise servers by using virtualization technology and load-balancing algorithm.This can ensure their business continuity and data integrity and save lots of IT cost.In view of the benefits of the program, one can believe that the virtualization of the Linux server and the clustering technology will be widely used in the area of enterprise server.

References
Chen,Pinhua.( 2010).The Application of Virtualization Technology in Small and Medium Enterprises.

Figure l .
Figure l.The Structure of Virtualization