search
HomeOperation and MaintenanceLinux Operation and MaintenanceHow to use Linux for network load balancing

How to use Linux for network load balancing

Jun 18, 2023 pm 06:45 PM
linux load balancingNetwork load balancing configurationipvs load balancing

Network load balancing is a method of evenly distributing network traffic to different servers, thereby improving the availability and performance of the entire system. The Linux system comes with some tools that can help us achieve network load balancing. This article will introduce how to use Linux for network load balancing.

1. The basic principle of Linux network load balancing

The basic principle of network load balancing is to distribute network traffic to multiple servers. There are many distribution methods, including polling method, weighted polling method, IP hashing method, minimum number of connections method, etc.

In Linux, we can use LVS (Linux Virtual Server) technology for network load balancing. LVS is a technology that distributes network traffic to multiple servers. It consists of a scheduler (also called a load balancer) and multiple backend servers.

2. Install and configure LVS

  1. Installing LVS

Before configuring LVS, we need to install the necessary software packages, including ipvsadm, keepalived, these packages can be installed through the yum command.

① Install ipvsadm

Use the following command to install the ipvsadm package:

sudo yum install ipvsadm -y

② Install keepalived

Use the following command to install the keepalived package:

sudo yum install keepalived -y

  1. Configure LVS

Before proceeding with LVS configuration, we need to know a few things Basic concept:

  • Scheduler (load balancer): used to receive network requests from clients and forward the requests to the back-end server.
  • Listening IP address: The IP address accessed by the client.
  • Real server (backend server): handles client network requests.

The following is a configuration example of LVS, assuming that our scheduler IP address is 192.168.1.1 and the backend server IP addresses are 192.168.1.2 and 192.168.1.3.

① Configure the scheduler

First, install and configure the keepalived service on the scheduler. Edit the /etc/keepalived/keepalived.conf file and add the following configuration:

! Configuration File for keepalived

global_defs {
router_id LB_Test
}

vrrp_script chk_http_port {
script "/etc/keepalived/check.sh"
interval 2
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 50
priority 101
authentication {

   auth_type PASS
   auth_pass 1111

}
virtual_ipaddress {

   192.168.1.100

}
track_script {

   chk_http_port

}
}

Among them, vrrp_instance is used to set the parameters of the virtual router, virtual_router_id is used to set the ID of the virtual router, virtual_ipaddress is used to set the virtual IP address, and priority is used to set the master-backup relationship. The smaller the number, the higher the priority.

Then, create a script file named check.sh to check whether the backend server is alive. Save the following script content to the check.sh file:

!/bin/bash

A=ipvsadm -ln | grep -c "Server"
if [ $A -eq 0 ];then
echo "failed"
killall keepalived
fi

Description: When the backend server is unavailable, the script will terminate the keepalived service.

Execute the following command to make the configuration file take effect:

sudo systemctl restart keepalived

At this point, the configuration of the scheduler is completed.

② Configure the back-end server

Configure the Real Server of LVS on the back-end server.

Use the following command to add Real Server configuration:

sudo ipvsadm -A -t 192.168.1.100:80 -s rr

Among them, the -A option is used to add rules, -t is used to set the listening IP address and port, -s is used to set the scheduling rules, and the polling method is used here.

Add the Real Server to the rule using the following command:

sudo ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2 -g
sudo ipvsadm -a -t 192.168 .1.100:80 -r 192.168.1.3 -g

Among them, the -a option is used to add Real Server to the rule, -r is used to set the IP address of the backend server, and -g is used to set the backend server gateway mode.

At this point, the configuration of LVS is completed.

3. Test network load balancing

After completing the configuration of LVS, we can test the network load balancing function through the following steps:

  1. Pass on the client The curl command accesses the virtual IP address:

curl 192.168.1.100

  1. After processing by the scheduler, the request is sent to one of the back-end servers.
  2. Start a simple HTTP service on one of the backend servers:

python -m SimpleHTTPServer 80

  1. Then access the IP address of the real server :

curl 192.168.1.2

  1. Send the request to the virtual IP address again. At this time, the request should be sent to another real server.

After the above test, if when accessing the back-end server, the requests can be evenly distributed to different back-end servers, then the network load balancing can be said to be successful.

4. Summary

This article introduces how to use Linux for network load balancing. We install the ipvsadm and keepalived software packages, configure the IP address, port and scheduling rules of the scheduler and back-end server, and finally test the network load balancing function. Network load balancing can improve the availability and performance of the entire system and help handle network requests in high-concurrency environments, thereby improving user experience.

The above is the detailed content of How to use Linux for network load balancing. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Maintenance Mode in Linux: A System Administrator's GuideMaintenance Mode in Linux: A System Administrator's GuideApr 26, 2025 am 12:20 AM

Maintenance mode plays a key role in Linux system management, helping to repair, upgrade and configuration changes. 1. Enter maintenance mode. You can select it through the GRUB menu or use the command "sudosystemctlisolaterscue.target". 2. In maintenance mode, you can perform file system repair and system update operations. 3. Advanced usage includes tasks such as resetting the root password. 4. Common errors such as not being able to enter maintenance mode or mount the file system, can be fixed by checking the GRUB configuration and using the fsck command.

Maintenance Mode in Linux: When and Why to Use ItMaintenance Mode in Linux: When and Why to Use ItApr 25, 2025 am 12:15 AM

The timing and reasons for using Linux maintenance mode: 1) When the system starts up, 2) When performing major system updates or upgrades, 3) When performing file system maintenance. Maintenance mode provides a safe and controlled environment, ensuring operational safety and efficiency, reducing impact on users, and enhancing system security.

Linux: Essential Commands and OperationsLinux: Essential Commands and OperationsApr 24, 2025 am 12:20 AM

Indispensable commands in Linux include: 1.ls: list directory contents; 2.cd: change working directory; 3.mkdir: create a new directory; 4.rm: delete file or directory; 5.cp: copy file or directory; 6.mv: move or rename file or directory. These commands help users manage files and systems efficiently by interacting with the kernel.

Linux Operations: Managing Files, Directories, and PermissionsLinux Operations: Managing Files, Directories, and PermissionsApr 23, 2025 am 12:19 AM

In Linux, file and directory management uses ls, cd, mkdir, rm, cp, mv commands, and permission management uses chmod, chown, and chgrp commands. 1. File and directory management commands such as ls-l list detailed information, mkdir-p recursively create directories. 2. Permission management commands such as chmod755file set file permissions, chownuserfile changes file owner, and chgrpgroupfile changes file group. These commands are based on file system structure and user and group systems, and operate and control through system calls and metadata.

What is Maintenance Mode in Linux? ExplainedWhat is Maintenance Mode in Linux? ExplainedApr 22, 2025 am 12:06 AM

MaintenanceModeinLinuxisaspecialbootenvironmentforcriticalsystemmaintenancetasks.Itallowsadministratorstoperformtaskslikeresettingpasswords,repairingfilesystems,andrecoveringfrombootfailuresinaminimalenvironment.ToenterMaintenanceMode,interrupttheboo

Linux: A Deep Dive into Its Fundamental PartsLinux: A Deep Dive into Its Fundamental PartsApr 21, 2025 am 12:03 AM

The core components of Linux include kernel, file system, shell, user and kernel space, device drivers, and performance optimization and best practices. 1) The kernel is the core of the system, managing hardware, memory and processes. 2) The file system organizes data and supports multiple types such as ext4, Btrfs and XFS. 3) Shell is the command center for users to interact with the system and supports scripting. 4) Separate user space from kernel space to ensure system stability. 5) The device driver connects the hardware to the operating system. 6) Performance optimization includes tuning system configuration and following best practices.

Linux Architecture: Unveiling the 5 Basic ComponentsLinux Architecture: Unveiling the 5 Basic ComponentsApr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Linux Operations: Utilizing the Maintenance ModeLinux Operations: Utilizing the Maintenance ModeApr 19, 2025 am 12:08 AM

Linux maintenance mode can be entered through the GRUB menu. The specific steps are: 1) Select the kernel in the GRUB menu and press 'e' to edit, 2) Add 'single' or '1' at the end of the 'linux' line, 3) Press Ctrl X to start. Maintenance mode provides a secure environment for tasks such as system repair, password reset and system upgrade.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.