环境

角色外部IP地址内部IP地址备注
LVS调度器(Director)222.216.110.10

10.10.0.10


RS1(真实服务器)
10.10.0.12
RS2(真实服务器
10.10.0.13
[root@F-LVS ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)

[root@F-LVS ~]# uname -r
2.6.32-696.el6.x86_64

[root@F-LVS ~]# lsmod|grep ip_vs //查看是否安装此模块

准备工作

#安装了内核开发包
[root@A-host ~]# yum install kernel-devel -y        
#yum install kernel  -y  //更新内核,如果还没有执行这条

[root@A-host ~]# ln -s /usr/src/kernels/2.6.32-754.3.5.el6.x86_64/ /usr/src/linux

[root@A-host ~]# yum install libnl* popt* gcc -y

1.安装LVS

[root@F-LVS ~]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
[root@F-LVS ~]# tar zxf ipvsadm-1.26.tar.gz
[root@F-LVS ~]# cd ipvsadm-1.26
[root@F-LVS ~]# make
[root@F-LVS ~]# make install
[root@F-LVS ~]# modprobe ip_vs         //  或输入:/sbin/ipvsadm

[root@F-LVS ~]# lsmod |grep ip_vs        //检查是否加载成功

2.手动配置LVS负载均衡服务

1.配置VIP

[root@F-LVS ~]# ifconfig eth0:0 10.10.0.9/24 up


2.添加主机路由(可不添)

[root@F-LVS ~]# route add -host 10.10.0.9 dev eth0
[root@F-LVS ~]# route -n


3.清空配置

[root@F-LVS ~]# ipvsadm -C


4.手工执行配置添加LVS服务

[root@F-LVS ~]# ipvsadm --set 30 5 60         //设置超时时间,30-TCP ,5-TCPFIN 60--UDP
[root@F-LVS ~]# ipvsadm -A -t 10.10.0.9:80 -s rr -p 20   //添加Lvs虚拟服务器10.10.0.9, 端口:80,  -s rr  调度算法,-p 20秒  会话保持


5.添加两台RS(节点,真实服务器IP)

[root@F-LVS ~]# ipvsadm -a -t 10.10.0.9:80 -r 10.10.0.12 -g -w 1
[root@F-LVS ~]# ipvsadm -a -t 10.10.0.9:80 -r 10.10.0.13 -g -w 1    //-g 工作DR模式 -w 1 权重 

[root@F-LVS ~]# ipvsadm -L -n        //查看配置列表(成功)

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.0.10:80 rr persistent 20
  -> 10.10.0.12:80                Route   1      0          0         
  -> 10.10.0.13:80                Route   1      0          0
#删除节点方法
# ipvsadm -D -t 10.10.0.10:80 -s wwr    //删除虚拟服务
# ipvsadm -d -t 10.10.0.10:80 -r 10.10.0.14:80     //删除节点

3.手动配置RS服务器,绑定VIP

1.配置RIP

[root@RS1 ~]# ifconfig lo:0 10.10.0.9/32 up
[root@RS1 ~]# route add -host 10.10.0.9 dev lo

[root@RS2 ~]# ifconfig lo:0 10.10.0.9/32 up
[root@RS2 ~]# route add -host 10.10.0.9 dev lo  

主机路由(可不添)

4.手动配置抑制ARP响应(RS上配置)

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


ARP抑制配置思路

1.如果是单个VIP,那么可以用stop传参设置0

2.如果RS端有多个VIP绑定,此时,及使是停止VIP绑定也一定不要置0


ARP广播而进行新的地址解析。具体命令:

/sbin/arping -I eth0 -c 3 -s 10.10.0.9 192.168.1.1(网关IP)
/sbin/arping -U -I eth0 10.10.0.9

VIP配置文件

vim /etc/sysconfig/network-scripts/lo:0