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命令)
- 命令相关参数详细:
两秒检测一次:
1[root@lvs_01 ~]# watch ipvsadm -L -n
设置1秒监控一次:
1[root@lvs_01 ~]# watch -n 1 ipvsadm -L -n