A brief introduction of LVS
LVS is the short name of Linux virtual server, the Linux VM, a free software project initiated by Dr. Zhangwensong, and its official site is www.linuxvirtualserver.org. Now that LVS is already part of the Linux standard kernel, Before the Linux2.4 kernel, the use of LVS must be recompiled to support the LVS function module, but from the Linux2.4 kernel, has been completely built in the LVS function modules, no need to make any patches to the kernel, you can directly use the various functions of LVS.
The goal of using LVS technology is to achieve a high-performance, highly available server cluster through LVS's load balancing technology and Linux operating system, which is reliable, scalable, and operable. In order to achieve the best service performance at low cost.
LVS since the beginning of 1998, has developed to now is a relatively mature technology project. You can use the LVS technology to achieve highly scalable, highly available network services such as WWW services, cache services, DNS services, FTP services, mail services, video/audio on-demand services, and so on, there are many more well-known sites and organizations are using LVS set up the cluster system, For example: Linux portal (www.linux.com), the RealPlayer to provide audio and video services known real company (www.real.com), the world's largest open source Web site (sourceforge.net) and so on.
Second, the LVS system structure
The use of LVS set up the server cluster system consists of three parts: the most front-end load balancing layer, with the load balancer, the middle of the server group layer, with the server array, the bottom of the data sharing storage layer, with shared storage, in the view of the user, All internal applications are transparent, and users are simply using a high-performance service provided by a virtual server.
The LVS architecture is shown in Figure 1:
Fig. 1 The architecture of LVS
The following is a detailed introduction to the various components of LVS:
Load Balancer Layer: Located on the front-end of the entire cluster system, one or more load scheduler (Director server) composed of the LVS module installed on the Director Server, and Director's main role is similar to a router, It contains the routing table set up by the LVS function to distribute the user's request to the application server (real server) on the server array layer. Also, a monitoring module Ldirectord for Real server services is installed on the director server to monitor the health status of the various real server services. Remove it from the LVS routing table when real server is unavailable, and rejoin when it resumes.
Server Array layer: Consists of a set of machines that actually run the application service, which can be a Web server, mail server, FTP server, DNS server, one or more video servers, and each real Servers are connected through a high-speed LAN or distributed across a WAN. In a practical application, Director server can also concurrently serve as real server role.
Shared storage layer: is a storage area that provides shared storage space and content consistency for all real servers, and, in physics, typically consists of disk array devices that can be used to share data through the NFS network file system to provide consistency of content. But NFS does not perform well in busy business systems, with clustered file systems such as the GFS file system for Red Hat, the OCFS2 file system provided by Oracle, and so on.
From the entire LVS structure can be seen, Director server is the core of the entire LVS, currently, the operating system for Director server can only be Linux and FreeBSD, The linux2.6 kernel can support the LVS feature without any setting, and FreeBSD as director server is not a lot of application and performance is not very good.
For real Server, almost any system platform, Linux, Windows, Solaris, AIX, BSD series can be well supported.