JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

90%运维工程师都收藏了,LVS搭建DR模式服务器实践!

wys521 2024-10-11 18:44:39 精选教程 16 ℃ 0 评论

最近访问的流量上去了,公司准备在nginx外边再加一层lvs 。于是动手实验了一下lvs 的DR模式。把步骤记录了一下,给大家分享。

客户端请求lvs服务器,lvs和两个真实提供服务的RS1 和RS2 都在一个网络中。LVS通过一个VIP(虚拟IP)和RS1,RS2 做链接。在接到客户端的请求以后,通过轮询的方式做负载均衡,在分发到RS1 和RS2 上面去。两个服务器响应请求以后直接把数据包发送给客户端。

如果后面的服务需要再做扩展可以在lvs后面挂接更多的nignx来实现。好了,下面是事件步骤,我们一步一步来做。

注意以下步骤按照顺序进行。

准备

准备三台虚拟机,在同一个网段。都安装了CentOS。配置IP 如下。

lvs服务器:192.168.146.101

rs1真实提供服务的服务器:192.168.146.102

rs2真实提供服务的服务器:192.168.146.103

配置lvs的VIP

我的VIP负责转发的服务器是 192.168.146.101

配置lvs 服务器的VIP(192.168.146.100),配置一个端口作为VIP,切换到lvs服务器 192.168.146.101 配置如下:

ifconfig eth0:2 192.168.146.100/24

完成地址转发功能,如果发现数据包的目的地址不是本机,不丢弃该数据包,通过路由表转发该数据包。(ip_forward可以配置 0,1,2 三种模式,这里选择1 。默认是0,收到数据包,但是目标地址不是本机,那么丢弃这个数据包。我们需要改成1)如下:

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

临时配置,内核立刻生效。

调整RS(Real Server)的响应,通告级别

这里需要对eth0网卡和其他all的网卡设置响应和通告级别。这个操作要先做,才能往下做RS的VIP的设置。

我这里配置了两台RS(Real Server)也就是用来真正承载服务的server。分别是

192.168.146.102 和 192.168.146.103 ,在这两台机器上都要运行下面命令。

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

配置RS(Real Server)对外隐藏对内可见的VIP

在lo(环回)接口上面配置这个VIP接受从lvs服务器发送过来的数据包。

同样在两台RS,分别配置如下:

ifconfig lo:8 192.168.146.100 netmask 255.255.255.255

注意这个192.168.146.100 就是我们上面说的lvs服务器。

启动RS上的httpd

如果没有按照httpd,最好安装一个

yum install httpd -y

到 /var/www/html 建立一个index.html 文件等下用来做负载均衡访问的页面。

然后其推动 httpd

cd /var/www/html

vi index.html

service httpd start

启动httpd之后就可以在浏览器访问你的页面了。如果访问不了,可以检查一下RS上的防火墙是否打开了。如果打开了,可以关闭以后再访问。

service iptables status

service iptables stop

安装lvs以及对应的命令

在192.168.146.101 的lvs服务器上面,设置对于那个数据包做负载,并且制定轮询机制。

如果没有安装ipvsadm可以先安装,这里的ip是用vip 192.168.146.100

yum install ipvsadm -y

ipvsadm -A -t 192.168.146.100:80 -s rr

配置完成可以通过 ipvsadm -ln 查看是否设置成功。

再设置需要做负载的RS,如下

ipvsadm -a -t 192.168.146.100:80 -r 192.168.146.102:80 -g

ipvsadm -a -t 192.168.146.100:80 -r 192.168.146.103:80 -g

102,103 是我们的两台RS服务器。完成以后同样可以用 ipvsadm -ln 查看是否成功。

访问并且查看

访问 192.168.146.101 lvs 服务器,自动负载均衡到 102 和103

这个时候到102 和103 两个RS 上,通过 netstat -natp 看看连接情况。

会发现从192.168.146.100 VIP 路由过来的数据包。

ipvsadm -lnc 查看lvs服务器上的负载均衡的记录

可以看到通过轮询的方式负载到两台服务器102,103上面去。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表