Operation and Maintenance
Linux Operation and Maintenance
How to use Linux for network load balancing
How to use Linux for network 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
- 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
- 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:
- Pass on the client The curl command accesses the virtual IP address:
curl 192.168.1.100
- After processing by the scheduler, the request is sent to one of the back-end servers.
- Start a simple HTTP service on one of the backend servers:
python -m SimpleHTTPServer 80
- Then access the IP address of the real server :
curl 192.168.1.2
- 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!
Hot AI Tools
Undress AI Tool
Undress images for free
Undresser.AI Undress
AI-powered app for creating realistic nude photos
AI Clothes Remover
Online AI tool for removing clothes from photos.
Clothoff.io
AI clothes remover
Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!
Hot Article
Hot Tools
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
How to shut down Linux system
Jun 24, 2025 pm 12:13 PM
Commands to properly close Linux systems include shutdown, halt, poweroff and reboot. Among them, shutdown is the most recommended, which can arrange shutdown time and send notifications; halt directly stops the system operation; poweroff cuts off the power supply based on halt; reboot is used for restart. To safely arrange a timed shutdown, you can use sudoshutdown-h 10 to indicate shutdown after 10 minutes, use sudoshutdown-c to cancel the timing, and add prompt information such as sudoshutdown-h23:00 "The system will be shut down at 11 o'clock tonight." Under the graphical interface, you can select Shutdown through the menu in the upper right corner.
How to troubleshoot device driver issues
Jun 25, 2025 am 12:11 AM
Problems with device drivers will cause the hardware to not be used normally, such as peripherals not responding, system prompts "unknown device" or game stuttering. The solution is as follows: 1. Check the warning icon in the device manager. The yellow exclamation mark represents the driver outdated or compatibility problem. The red cross indicates that the hardware is disabled or the connection is poor. The question mark or "Otherdevices" means that the system has not found a suitable driver; 2. Right-click the device and select "Update Driver", try automatic search first, and manually download and install; 3. Uninstall the device and check delete driver software, and after restarting, let the system re-identify, or manually specify the driver path to install; 4. Use the driver identification tool to assist in finding models, but avoid downloading drivers from unknown sources; 5. Check Windows updates to obtain
How to add a new disk to Linux
Jun 27, 2025 am 12:15 AM
The steps to add a new hard disk to the Linux system are as follows: 1. Confirm that the hard disk is recognized and use lsblk or fdisk-l to check; 2. Use fdisk or parted partitions, such as fdisk/dev/sdb and create and save; 3. Format the partition to a file system, such as mkfs.ext4/dev/sdb1; 4. Use the mount command for temporary mounts, such as mount/dev/sdb1/mnt/data; 5. Modify /etc/fstab to achieve automatic mount on the computer, and test the mount first to ensure correctness. Be sure to confirm data security before operation to avoid hardware connection problems.
How to manage cron jobs
Jul 01, 2025 am 12:07 AM
When managing cron tasks, you need to pay attention to paths, environment variables and log processing. 1. Use absolute paths to avoid commands or scripts not being found due to different execution environments; 2. Explicitly declare environment variables, such as PATH and HOME, to ensure that the variables dependent on the script are available; 3. Redirect output to log files to facilitate troubleshooting; 4. Use crontab-e to edit tasks to ensure that the syntax is correct and takes effect automatically. Mastering these four key points can effectively avoid common problems.
How to list network interfaces on Linux
Jun 28, 2025 am 12:02 AM
In Linux systems, network interface information can be viewed through ip, ifconfig and nmcli commands. 1. Use iplinkshow to list all network interfaces, add up parameters to display only active interfaces, and use ipaddr or ipad to view IP allocation status; 2. Use ifconfig-a to be suitable for old systems, and you can view all interfaces. Some new systems need to install net-tools package; 3. Use nmclidevicestatus to be suitable for systems managed by NetworkManager, which can view interface status and connection details, and supports filtering and query. Select the appropriate command according to the system environment to complete the network information viewing.
How to use the top command
Jun 27, 2025 am 12:11 AM
The top command can view the Linux system resource usage in real time. 1. Enter top through the terminal to open the interface, and the top displays the system running status summary, including load, task number, CPU and memory usage; 2. The process list is sorted by CPU usage by default, which can identify highly occupant processes; 3. Shortcut keys such as P (CPU sort), M (memory sort), k (end process), r (adjust priority), and 1 (multi-core details) improve operation efficiency; 4. Use top-b-n1 to save output to a file; 5. Adding the -u parameter to filter specific user processes. Mastering these key points can quickly locate performance issues.
How to manage cloud instances on AWS EC2
Jun 25, 2025 am 12:05 AM
Managing AWSEC2 instances requires mastering life cycles, resource configuration and security settings. 1. When selecting an instance type, select C series for calculation-intensive tasks, and select M or R series for memory-sensitive applications, and start with small-scale testing; 2. Pay attention to security group rules, key pair storage and connection methods when starting the instance, and Linux uses SSH commands to connect; 3. Cost optimization can be achieved through reserved instances, Spot instances, automatic shutdown and budget warning. As long as you pay attention to the selection, configuration and maintenance, you can ensure stable and efficient operation of EC2.
How to run an Ansible playbook
Jun 28, 2025 am 12:14 AM
Running Ansibleplaybook requires first ensuring that the structure is correct and the environment is prepared. 1. Write a playbook file, including hosts, tasks, etc.; 2. Ensure that the target host is in the inventory and can be connected through SSH, and can be tested by ansibleping module; 3. Use the ansible-playbook command to run, and you can add -i to specify the inventory path; 4. You can use -v, --check, --limit, --tags and other parameters to debug or control execution; 5. Pay attention to common error points such as YAML indentation, module parameters, permissions and inventory content. Using --check and -v will help troubleshoot errors


