lvs 负载均衡Centos7

老大让我搭一个基于lvs负载均衡的测试,表示鼓捣一天没鼓捣出来,发现网上的大都是基于centos6 内核2.6来配置的,但是现在centos7 3.10内核 的还真没几个。照着其中一个弄了一下。lvs安装成功,但是KeepAlived在安装的时候,在make那一步总是报什么冲突一大片的错误,上网查也没有有效的解决办法。后来就绕过 KeepAlived 直接进行配置lvs。可是网上没有这样的例子,所以自己弄了一个。
需求:一个主机(lvs),两台负责工作的服务器(rs) 通过一个主机调用两个服务器间歇显示内容。
概念性的东西我就不多说了,网上一搜一片。直接上配置
1.yum  install -y ipvsadm     #yum安装lvs  ipvsadm是给lvs提供服务的
2.安装完成之后 ipvsadm 一下  看成功没有  如果出现内容表示成功
3.在lvs主机上  vim/usr/local/sbin/lvs_dr.sh  (好吧我知道没有这个文件,直接新new一个)在里边加入如下内容

echo 1 > /proc/sys/net/ipv4/ip_forward

ipv=/sbin/ipvsadm
vip=192.168.1.110
rs1=192.168.1.113
rs2=192.168.1.133
ifconfig eth0:0 down
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s wrr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 3

$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

#其中vip 是用户需要访问的地址

rs1 和rs2 分别为两台服务器rs

注意eth0 是网卡名称,eth0是centos6的默认网卡名称,用centos7的话就要对应的改一下。如:ifconfig eno16777736:0 down,当然这行下边的那几个都得改。另外 $rs1:80 指的是第一台机器的端口号是80。可以根据需要改。好,做完这些配置保存并运行:sh /usr/local/sbin/lvs_dr.sh 

没有任何反应就说明配置正确,否则请查看你的lvs主机、两台rs服务器是否存在防火墙打开状态,如果有,请关闭。另外vip的地址不要和lvs主机的地址相同。

配置正确之后,ifconfig 查看显示的信息其中有你之前配置的vip地址。

好lvs主机配置完成


配置rs服务器,基本和lvs一样,在rs服务器上:

1.vim/usr/local/sbin/lvs_dr_rs.sh   新建这个文件并贴入

#! /bin/bash

vip=192.168.1.110
ifconfig lo:0 down
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
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改成和lvs上配置的一致

之后sh /usr/local/sbin/lvs_dr.sh 启动

没反应说明正确,否则问题和lvs一样

ifconfig 能看到vip地址

第一台rs配置完成,第二台rs一样的操作。


测试:

在两台rs中各安装jdk和tomcat 为了区别,把index.jsp文件各修改一下。路径为tomcat下webapps/ROOT/index.jsp 

不要忘了例子里的端口号是80.所以你也要改为80、

之后启动。先直接访问一下,看单机是否正常,如果正常OK直接访问vip地址,端口号80默认没有。那么出现其中一个的index内容,过20秒左右刷新出现另一个。

OK配置成功。



你可能感兴趣的:(lvs负载均衡)