LVS is an open-source software that implements simple load balancing on the Linux platform. LVS is a Linux virtual
Server stands for a Linux virtual server.
Advantages:
1. Open-source, free
2. You can find some technical resources online.
3. Some advantages of software Load Balancing
Disadvantages:
1. There are common shortcomings of open-source products. The core is that there is no reliable support service and no one is responsible for the results;
2. Simple functions, poor load balancing capabilities that support complex applications, such as fewer algorithms;
3. Re-compile the kernel to enable tunneling;
4. complicated configuration;
5. Only Linux is supported. If the application also includes windows and soliris, it will not work.
The LVS cluster uses IP Server Load balancer technology and content-based request distribution technology.
. The scheduler has a good throughput rate, which transfers requests evenly to different servers for execution, and the scheduler automatically shields server faults, thus, a group of servers are formed into a high-performance, high-availability virtual
Server. The entire server cluster structure is transparent to customers, and there is no need to modify the client and server programs. To this end, system transparency, scalability, high availability and ease of management must be considered during design.
. Generally, the LVS cluster adopts a three-tier structure, which consists of the following parts:
A. Load Scheduler
Balancer), which is a front-end server of the entire cluster and is responsible for sending customer requests to a group of servers for execution. The customer thinks that the service is from an IP address (we can call it a virtual IP address ).
Address.
B. Server pool is a group of servers that actually execute customer requests. The services executed include web, mail, FTP, and DNS.
C. Shared Storage
Storage), which provides a shared storage area for the server pool. This makes it easy for the server pool to have the same content and provide the same service.
The scheduler is a server cluster system.
The unique entry point (Single Entry
Point), which can use the IP Server Load balancer technology, content-based request distribution technology, or the combination of the two. In the IP Server Load balancer technology, the server pool must have the same content to provide the same service. When
When a customer requests arrive, the scheduler selects a server from the server pool based on the server load and the preset scheduling algorithm, forwards the request to the selected server, and records the scheduling; when the request's
The incoming packets are also forwarded to the selected server. In the content-based request distribution technology, the server can provide different services. When a customer requests arrive, the scheduler can select a server based on the request content.
Execute the request. All operations will be completed in the core space of the Linux operating system, and its scheduling overhead is very small, so it has a high throughput. The number of nodes in the server pool is variable. When the entire
When the system receives more load than the processing capacity of all nodes, it can add servers in the server pool to meet the increasing request load. For most network services, there is no strong correlation between requests,
Requests can be executed concurrently on different nodes, so the performance of the entire system can basically grow linearly with the increase in the number of nodes in the server pool.
Shared storage is usually a database, Network File System, or distributed file system. Data to be dynamically updated at server nodes is generally stored in the database system, and the database ensures data consistency during concurrent access.
. Static data can be stored in network file systems (such as NFS/CIFS), but the Network File System has limited scalability. Generally, the NFS/CIFS server can only support 3 ~ 6 busy
Server node. For large-scale Cluster Systems, you can consider using distributed file systems, such as AFS, gfs, Coda, and intermezzo. Distributed File systems can be used for Servers
For shared storage areas, they access the Distributed File System just like accessing the local file system, while the distributed file system can provide good scalability and availability. In addition, when applications on different servers are
When read/write access to the same resource in a distributed file system, access conflicts between applications must be resolved to make the resources consistent. This requires a distributed lock manager (distributed
Lock
Manager), which may be provided inside or outside the distributed file system. When writing applications, developers can use the distributed lock manager to ensure concurrent access of applications on different nodes.
Consistency.
Load schedulers, server pools, and shared storage systems are connected through high-speed networks, such as Mbps switching networks, Myrinet, and Gigabit Networks.
. The high-speed network is used to avoid the bottleneck of the entire system when the system scale is expanded.
Graphic
Monitor is a monitor that provides the entire cluster system for the system administrator. It can monitor the status of the system. Graphic
Monitor is browser-based, so administrators can monitor the status of the system either locally or remotely. For security reasons, the browser must use HTTPS (secure
HTTP) protocol and identity authentication before system monitoring and system configuration and management.
[Edit] IP Server Load balancer of LVS
Number of Scalable Network Services
They all require a front-end Server Load balancer (or multiple master-slave backups ). First, we analyze the main technologies used to implement virtual network services, and point out that IP Server Load balancer technology is implemented in the Server Load balancer.
The most efficient operation. In the existing IP Server Load balancer technology
A group of servers constitute a high-performance, high-availability virtual server.
Network Address
Translate ). Based on the analysis of the disadvantages of VS/NAT and the asymmetry of network services, we propose a virtual server approach through IP tunneling VS/tun.
(Virtual server via IP tunneling), and the virtual server method through direct routing VS/DR (Virtual Server)
Via direct
They can greatly improve system scalability. VS/NAT, VS/TUN, and VS/DR are three IP load balancing technologies implemented in The LVS cluster.
LVS Chinese site:
Http://zh.linuxvirtualserver.org/