15.2.1. lvs安装

Date:

2018-10

15.2.1.1. CentOS5环境安装lvs

15.2.1.2. CentOS6环境安装lvs

lvs已经加进内核。只需要开启lvs并安装lvs管理工具即可。

15.2.1.2.1. ipvsadm安装准备

检查ip_vs模块是否加载(lvs是否启动)

1[root@lvs_01 ~]# lsmod|grep ip_vs

创建软连接 /usr/src/linux

备注

  • 如果没有目录 /usr/src/kernels/2.6.32-504.el6.x86_64/ 可以安装 kernel-devel

  • 如果有 kernels有 多个 2.6.XX 则可以用 uname -r 然后就知道软连接的目的目录。

1[root@lvs_01 ~]# ln -s /usr/src/kernels/2.6.32-504.el6.x86_64/ /usr/src/linux
2[root@lvs_01 ~]# ll /usr/src/linux
3lrwxrwxrwx. 1 root root 39 Sep  9 22:06 /usr/src/linux -> /usr/src/kernels/2.6.32-504.el6.x86_64/

备注

如果没有创建软连接 /usr/src/linux ,编译安装ipvsadm时需要指定内核目录。

15.2.1.2.2. lvs管理工具安装(ipvsadm)

CentOS6安装版本:

ipvsadm-1.26.tar.gz

1[root@lvs_01 ~]# mkdir /home/tools
2[root@lvs_01 ~]# cd /home/tools/
3[root@lvs_01 tools]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
1[root@lvs_01 tools]# tar zxf ipvsadm-1.26.tar.gz
2[root@lvs_01 tools]# cd ipvsadm-1.26
3[root@lvs_01 ipvsadm-1.26]# make
4[root@lvs_01 ipvsadm-1.26]# make install
1[root@lvs_01 ~]# lsmod|grep ip_vs
2[root@lvs_01 ~]# /sbin/ipvsadm
3IP Virtual Server version 1.2.1 (size=4096)
4Prot LocalAddress:Port Scheduler Flags
5-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
6[root@lvs_01 ~]# lsmod|grep ip_vs
7ip_vs                 125694  0
8libcrc32c               1246  1 ip_vs
9ipv6                  334932  270 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

15.2.1.2.3. 网卡配置

临时新增网卡并设置IP:

1[root@lvs_01 ~]# ifconfig eth0:0 192.168.161.250 netmask 255.255.255.0 up
2[root@lvs_01 ~]# ifconfig eth0:0
3eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:F0:8E:33
4        inet addr:192.168.161.250  Bcast:192.168.161.255  Mask:255.255.255.0
5        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

或者命令:

1ifconfig eth0:0 192.168.161.250/24 up

可以添加主机路由,不添加也没有问题:

1[root@lvs_01 ~]# route add -host 192.168.161.250 dev eth0

测试网卡正常:

1[root@lvs_01 ~]# ping 192.168.161.250
2PING 192.168.161.250 (192.168.161.250) 56(84) bytes of data.
364 bytes from 192.168.161.250: icmp_seq=1 ttl=64 time=0.230 ms
464 bytes from 192.168.161.250: icmp_seq=2 ttl=64 time=0.054 ms
绑定lo:

一般可以把vip的虚拟网卡绑定lo回环网卡。并设置子网掩码32位。

15.2.1.2.4. 抑制arp响应

arp抑制dr模式需要配置。

1[root@lvs_01 ~]# echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
2[root@lvs_01 ~]# echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
3[root@lvs_01 ~]# echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
4[root@lvs_01 ~]# echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

15.2.1.2.5. ipvsadm常见操作

增加vip

1[root@lvs_01 ~]# ipvsadm -A -t 192.168.161.250:80 -s wrr
2[root@lvs_01 ~]# ipvsadm -L -n
3IP Virtual Server version 1.2.1 (size=4096)
4Prot LocalAddress:Port Scheduler Flags
5-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
6TCP  192.168.161.250:80 wrr

增加rip

1[root@lvs_01 ~]# ipvsadm -a -t 192.168.161.250:80 -r 192.168.161.134 -g -w 1
2[root@lvs_01 ~]# ipvsadm -L -n
3IP Virtual Server version 1.2.1 (size=4096)
4Prot LocalAddress:Port Scheduler Flags
5-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
6TCP  192.168.161.250:80 wrr
7-> 192.168.161.134:80           Local   1      0          0

删除rip

 1[root@lvs_01 ~]# ipvsadm -L -n
 2IP Virtual Server version 1.2.1 (size=4096)
 3Prot LocalAddress:Port Scheduler Flags
 4-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 5TCP  192.168.161.250:80 wrr
 6-> 192.168.161.134:80           Local   1      0          0
 7[root@lvs_01 ~]# ipvsadm -d -t 192.168.161.250:80 -r 192.168.161.134
 8[root@lvs_01 ~]# ipvsadm -L -n
 9IP Virtual Server version 1.2.1 (size=4096)
10Prot LocalAddress:Port Scheduler Flags
11-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
12TCP  192.168.161.250:80 wrr

删除vip

1[root@lvs_01 ~]# ipvsadm -D -t 192.168.161.250:80 -s wrr

15.2.1.2.6. arping使用测试

1[root@lvs_01 ~]# arping -c 1 -I eth1 -s 192.168.161.250 192.168.161.1
2ARPING 192.168.161.1 from 192.168.161.250 eth1
3Unicast reply from 192.168.161.1 [00:50:56:C0:00:08]  0.817ms
4Sent 1 probes (1 broadcast(s))
5Received 1 response(s)
6
7arping -c 1 -I eth0 -s 192.168.161.250 192.168.161.1 >/dev/null 2>&1

15.2.1.2.7. 检测lvs调度(用ipvsadm命令)

命令相关参数详细:

ipvsadm命令详解

两秒检测一次:

1[root@lvs_01 ~]# watch ipvsadm -L -n

设置1秒监控一次:

1[root@lvs_01 ~]# watch -n 1 ipvsadm -L -n