网站首页 > 精选教程 正文
最近访问的流量上去了,公司准备在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上面去。
猜你喜欢
- 2024-10-11 负载均衡之软硬件负载均衡的优缺点
- 2024-10-11 LVS实现多个网上商城的WEB的负载均衡
- 2024-10-11 Linux运维集群知识,lvs、keepalived 基本概念和用途说明
- 2024-10-11 Centos6 搭建LVS负载均衡器 centos lvcreate
- 2024-10-11 [幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷(续篇2)
- 2024-10-11 Linux服务器集群系统——LVS集群中的IP负载均衡技术
- 2024-10-11 全面分析:Web基础架构负载均衡LVS机制的原理
- 2024-10-11 lvs+keepalived+nginx环境搭建补充双机热备
- 2024-10-11 网站抗住大流量的终极架构:lvs+keepalived+nginx环境搭建
- 2024-10-11 CentOS下LVS负载均衡的简单实践 linux负载均衡软件lvs
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)