lvs主要文件说明
/etc/rc.d/init.d/
ipvsadm:sysV风格服务管理脚本
/etc/sysconfig/ipvsadm-config:配置文件
/sbin/ipvsadm:用于配置lvs规则的工具
/sbin/ipvsadm-restore:恢复或者读取规则到内存的工具
【默认情况下,所配置的规则都是保存在内存中的】
ipvsadm的使用格式
ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [–pe persistence_engine]
ipvsadm -D -t|u|f service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f service-address -r server-address [options]
ipvsadm -d -t|u|f service-address -r server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm --start-daemon state [–mcast-interface interface] [–syncid sid]
ipvsadm --stop-daemon state
ipvsadm -h
-A:添加一个虚拟服务(添加vip)
-E:编辑修改一个虚拟服务
-D:删除虚拟服务
-C:清空规则表
-R:从标准输入恢复规则表
–save|-S:将当前内存中的规则保存到标准输出
-a:指定在虚拟服务中添加RS节点
-e:指定在虚拟服务中编辑修改RS节点
-d:指定在虚拟服务中删除RS节点
-L|-l:显示lvs中的规则表
-Z:将计数器清零
-t service-address[:port]:该规则是对tcp协议的请求做调度
-u service-address[:port]:该规则是对udp协议的请求做调度
-f:表示这个请求是经过iptables所标记过的服务类型
-r: 指定真实服务器的地址
-s scheduler:指定该规则要用的调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq)
-p [time]:指定在多次时间以内,将相同的客户端调度到相同的后端节点之上,默认时间300s
-w:设置RS节点的权重
-g:指定用DR模式(默认)
-i:指定用tunnel模式
-m:指定用nat模式
准备环境
DR1 10.220.5.192
WEB1 10.220.5.190
WEB2 10.220.5.191
VIP 10.220.5.233
实现思路
DR1上安装lvs,并配置调度规则和算法
web1 web2上只需要安装web服务器,并分别准备一个测试页面
安装步骤
一、安装各种依赖
[root@DR1 ~]# yum install libnl* popt* kernel-devel ipvsadm -y
二、给安装的内核开发库做连接
[root@DR1 ~]# ln -sv /usr/src/kernels/2.6.32-754.el6.x86_64/ /usr/src/linux
(如果这里不做连接,那么在使用ipvsadm的时候,需要手动指定/usr/src/kernels/2.6.32-754.el6.x86_64/)
三、安装lvs
[root@DR1 ~]# yum install ipvsadm -y
配置LVS (DR)
配置DR1
一、添加一个vip
ifconfig eth0:0 10.220.5.233/24 up
测试vip是否可用,测试方法:从windows ping vip
二、在lvs中添加一个虚拟服务(vip)
[root@DR1 ~]# ipvsadm -A -t 10.220.5.233:80 -s rr -p 80
查看一下所创建的虚拟服务
[root@DR1 ~]# service ipvsadm status
三、在虚拟服务中添加真实服务器
[root@DR1 ~]# ipvsadm -a -t 10.220.5.233:80 -r 10.220.5.190:80 -w 1 -g
[root@DR1 ~]# ipvsadm -a -t 10.220.5.233:80 -r 10.220.5.191:80 -w 1 -g
查看一下RS的信息
[root@DR1 ~]# service ipvsadm status
四、保存规则
[root@DR1 ~]# service ipvsadm save
查看状态
[root@DR1 ~]# ipvsadm -L -n --stats
配置RS
一、安装配置web服务
略
二、给RS绑定VIP【所有的RS都需要做】
[root@web1 ~]# ifconfig lo:0 10.220.5.233/32 up
三、在RS做ARP抑制
[root@web1 ~]# echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
[root@web1 ~]# echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
[root@web1 ~]# echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
[root@web1 ~]# echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
四、测试
默认规则保存路径:/etc/sysconfig/ipvsadm
关于arp抑制
作用:设置不对某些arp请求做应答
实现原理:修改内核参数 /proc/sys/net/ipv4/conf/
控制方式1:arp_ignore
0:默认,表示的当该主机收到arp请求,只有该主机有所请求的哪个IP地址,就会给对方做成应答
1:只对哪些请求的目标IP是当前主机的网卡接口(这个接口就是插着网线的接口)上的地址的时候,才会做出应答
控制方式2:arp_announced
作用:限制当前主机做arp应该的条件(也就是限制当用户所请的ip是哪个IP的时候,才做arp应答)
0:默认值,表示在任意网络接口上的IP都可以做arp应答
1:优先使用本地的接口做arp应答
2:优先使用子接口做arpm应答