插件窝 干货文章 Linux虚拟服务器LVS搭建指南 - 高可用负载均衡方案

Linux虚拟服务器LVS搭建指南 - 高可用负载均衡方案

Linux虚拟服务器LVS搭建完整教程

一、LVS核心概念

Linux Virtual Server(LVS)是由章文嵩博士开发的基于Linux内核的负载均衡解决方案,具有高性能、高可用性特点,可处理百万级并发请求。

1.1 三种工作模式

  • DR模式(直接路由):性能最佳,真实服务器直接响应客户端
  • TUN模式(IP隧道):跨机房部署,真实服务器可位于不同网络
  • NAT模式(网络地址转换):配置简单,但存在性能瓶颈

二、环境准备

  1. 操作系统:CentOS/RHEL 7+ 或 Ubuntu 18.04+
  2. 内核要求:2.6+(建议4.x+)
  3. 软件依赖:ipvsadm、keepalived
# 安装必备工具
sudo yum install ipvsadm keepalived -y  # CentOS
sudo apt-get install ipvsadm keepalived -y  # Ubuntu

三、DR模式配置详解

3.1 负载调度器配置

# 加载IPVS模块
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr

# 配置VIP
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.255 up

# 添加IPVS规则
ipvsadm -A -t 192.168.1.100:80 -s rr
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.101:80 -g
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.102:80 -g

3.2 真实服务器配置

# 配置回环接口VIP
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up

四、Keepalived高可用方案

# /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

virtual_server 192.168.1.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP

    real_server 192.168.1.101 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
        }
    }
}

五、性能优化建议

  1. 内核参数调优: bash echo 1 > /proc/sys/net/ipv4/vs/expire_nodest_conn echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template
  2. 使用加权轮询(wrr)代替简单轮询(rr)
  3. 对于长连接服务调整超时时间

六、常见问题排查

  1. VIP无法访问:检查ARP抑制是否生效
  2. 会话不保持:配置-p持久化参数
  3. 负载不均衡:检查调度算法和权重设置

通过本文介绍的LVS搭建方法,您可以构建企业级的高性能负载均衡集群,实际测试中DR模式可达到90%以上的直线吞吐量。