单机LVS实现请求分发(负载)DR模式
预置条件
准备四台服务器
| 名称 | ip地址 | 用途 | 说明 |
|---|---|---|---|
| node01 | 192.168.43. 1 | LVS | 作业LVS接入服务 |
| node02 | 192.168.43. 2 | LVS | 作业LVS接入服务,第二章中用来做主备HA才用到,这里闲置 |
| node03 | 192.168.43. 3 | 服务1 | 需要负载的服务1 |
| node04 | 192.168.43. 4 | 服务2 | 需要负载的服务2 |
安装httpd应用
在各台服务器上面安装上httpd并且创建index.html页面。用来验证请求到哪个节点了。这里你用其它容器也行。
- 安装
yum install httpd -y
- 创建index.html页面
进入到/var/www/html/创建index.html
1. vim /var/www/html/index.html
2. 在里面写上对应node01-04,用于区分请求到哪个节点了。
3. service httpd start #启动httpd
- 异常情况
这里有可能会出现yum安装httpd报错:Error: Unable to find a match: httpd。可以通过修改/etc/yum.conf,注释 yum.conf 中的 exclude=httpd nginx php mysql mairadb python-psutil python2-psutil来解决。
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
#注释掉下面这行,或者只删除 “httpd”
# exclude=httpd nginx php mysql mairadb python-psutil python2-psutil
配置LVS公开的VIP(对外的IP,域名指向的IP)
- 在node01上配置
# enp0s3表示你的网卡,自己通过ifconfig 查看你的网卡名称 /24表示掩码,不用改。
ifconfig enp0s3:8 192.168.43.100/24
- 查询配置情况
通过ipconfig可以查看得到已经配置了一个虚拟网卡enp0s3:8。

- 验证LVS是否映射成功:
在浏览器访问192.168.43. 100。如果页面显示node01边上已经设置成功。
配置通过LVS请求分发(负载)
- 安装ipvsadm
yum install ipvsadm
- 在node01上配置分发规则
# -t: TCP协议的端口,VIP:TCP_PORT
# [-s scheduler]:指定集群的调度算法,默认为wlc
# -g: gateway, dr类型,默认
# -w weight:权重
# 服务地址主机和端口,只有支持端口映射的LVS类型才允许此处使用和集群服务中不同的端口
ipvsadm -A -t 192.168.43.100:80 -s rr # 新增一个集群服务
ipvsadm -a -t 192.168.43.100:80 -r 192.168.43.3 -g -w 1 # 配置负载
ipvsadm -a -t 192.168.43.100:80 -r 192.168.43.4 -g -w 1 # 配置负载
ipvsadm -ln # 查看配置情况
设置node03和node04的arp_ignore和arp_announce来改变响应规则。
# 1)修改内核:
echo 1 > /proc/sys/net/ipv4/conf/enp0s3/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/enp0s3/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# 2)设置隐藏的vip:
ifconfig lo:3 192.168.43.100 netmask 255.255.255.255
验证
- 在浏览器访问192.168.43. 100验证请求是否能分发到node03和node04上面。
需要做HA高可用的可以看《通过keepalived实现LVS主备》
本文详细介绍了如何在单机环境中配置LVS DR模式进行请求分发和负载均衡。首先,介绍了预置条件,包括准备四台服务器并安装httpd应用。接着,阐述了配置LVS公开的VIP、设置LVS请求分发规则以及调整服务器的arp_ignore和arp_announce参数。最后,通过访问VIP验证请求能够正确分发到各个节点。
DR模式&spm=1001.2101.3001.5002&articleId=122476736&d=1&t=3&u=99459161f2924d5c9a9a85f5f4aa541c)

被折叠的 条评论
为什么被折叠?



