LVS服务DR模式安装配置
环境说明
系统环境
代码语言:javascript复制[root@ ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@ ~]# uname -r
2.6.32-642.13.1.el6.x86_64
服务器规划
代码语言:javascript复制LVS
eth0:192.168.1.10
VIP:192.168.1.70
RS01
eth0:192.168.1.8
RS02
eth0:192.168.1.9
两台RS主机模拟后端WEB集群服务器,通过LVS实现负载均衡调度
安装准备
后端RS主机安装http服务
代码语言:javascript复制yum install http* -y
[root@rs01~]#echo "192.168.1.8">/var/www/html/index.html
[root@rs02~]#echo "192.168.1.9">/var/www/html/index.html
启动两台RS主机http服务
代码语言:javascript复制/etc/init.d/httpd start
配置软链接
代码语言:javascript复制ln -s /usr/src/kernels/2.6.32-642.13.1.el6.x86_64 /usr/src/linux
需要注意的就是此处的内核版本需要与uname -r输出的结果一致
安装布署LVS
下载LVS软件
代码语言:javascript复制[root@LVStools]#wgethttp://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
解压安装
代码语言:javascript复制[root@LVS tools]#tar zxf ipvsadm-1.24.tar.gz
[root@LVS tools]#cd ipvsadmin-1.24
[root@LVSipvsadmin-1.24]#make
[root@LVS ipvsadmin-1.24s]#make install
无需进行./configure编译
代码语言:javascript复制[root@LVS ipvsadmin-1.24s]#lsmod |grep ip_vs
发现没有结果,因此需要进行内核加载
代码语言:javascript复制[root@LVS ipvsadmin-1.24s]#ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
->RemoteAddress:PortForward Weight ActiveConn InActConn
[root@LVS ipvsadmin-1.24s]#lsmod |grep ip_vs
ip_vs 126897 0
libcrc32c 1246 1 ip_vs
ipv6 336282 295 ip_vs
安装布署过程结束
配置LVS负载均衡(DR模式)
手工配置VIP
代码语言:javascript复制[root@LVS ~]#ifconfig eth0:70 192.168.1.70 netmask 255.255.255.0
其它客户端测试联通性
C:UsersAdministrator>ping 192.168.1.70
正在 Ping 192.168.1.70 具有 32 字节的数据:
代码语言:javascript复制来自 192.168.1.70 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.70 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.70 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.70 的回复: 字节=32 时间<1ms TTL=64
配置LVS
代码语言:javascript复制[root@LVS ~]#ipvsadm -C
#清空配置
[root@LVS ~]#ipvsadm --set 30 5 60
#配置超时参数
[root@LVS ~]#ipvsadm -A -t 192.168.1.70:80 -s wrr
#配置VIP地址及调度算法
添加后端主机
代码语言:javascript复制[root@LVS ~]#ipvsadm -a -t 192.168.1.70:80 -r 192.168.1.8 -g -w 1
[root@LVS ~]#ipvsadm -a -t 192.168.1.70:80 -r 192.168.1.9 -g -w 1
后端主机绑定VIP(两台主机同样配置)
代码语言:javascript复制[root@rs01 ~]#ifconfig lo:70 192.168.1.70 netmask 255.255.255.0
[root@rs02 ~]#ifconfig lo:70 192.168.1.70 netmask 255.255.255.0
配置抑制ARP功能(在RS上)
代码语言:javascript复制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
测试负载均衡
通过VIP访问后端主机测试
代码语言:javascript复制[root@LVS ~]#curl 192.168.1.70
192.168.1.8
[root@LVS ~]#curl 192.168.1.70
192.168.1.9
发现已经实现负载均衡了,两次访问分别调度到两台不同的后端主机服务器上
查看下LVS状态信息
代码语言:javascript复制[root@LVS ~]#watch --interval=1 ipvsadm -Ln
Every 1.0s: ipvsadm -Ln Sat Oct 15 18:10:00 2016
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
->RemoteAddress:PortForward Weight ActiveConn InActConn
TCP 192.168.1.70:80 wrr
-> 192.168.1.9:80 Route 1 0 1
-> 192.168.1.8:80 Route 1 0 1