基于 CentOS 7 构建 LVS-DR 群集。 nginx负载均衡

环境配置:
RHCE    客户机    192.168.100.146
node1    lvs    192.168.100.145
node2    RS    192.168.100.147
node3    RS    192.168.100.148
 配置ipvsadm  httpd:
[root@node1 ~]# yum install ipvsadm.x86_64

[root@node2 ~]# yum install http -y        

[root@node2 ~]# systemctl start httpd

[root@node3 ~]# yum install http -y

[root@node3 ~]# systemctl start httpd

配置LVS虚拟IP(VIP)
[root@node1 ~]# ifconfig ens33:200 192.168.100.200 netmask 255.255.255.0 up

将内容写入/var/www/html 测试httpd
[root@node3 ~]# echo "web test page,ip is `hostname -I`" > /var/www/html/index.html
[root@node3 ~]# systemctl start httpd
[root@node3 ~]# curl 192.168.100.148
web test page,ip is 192.168.100.148 

[root@node2 ~]# echo "web test page,ip is `hostname -I`" > /var/www/html/index.html
[root@node2 ~]# systemctl start httpd
[root@node2 ~]# curl 192.168.100.147
web test page,ip is 192.168.100.147 

 手工在RS端绑定VIP
[root@node3 ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up

[root@node2 ~]# ifconfig lo:200 192.168.100.200 netmask 255.255.255.255 up

 添加RS访问VIP路由
[root@node2 ~]# route add -host 192.168.100.200 dev lo
[root@node3 ~]# route add -host 192.168.100.200 dev lo
 手工在RS端一直ARP响应
调整内核参数
[root@node3 all]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node3 all]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@node3 conf]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node3 conf]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
 

[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@node3 ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@node3 ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

arp_ignore- INTEGER
定义对目标地址为本地 IP 的 ARP 询问不同的应答模式
0 - (默认值):回应任何网络接口上对任何本地 IP 地址的 arp 查询请求。
1 – 只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求。
2 – 只回答目标 IP 地址是来访网络接口本地地址的 ARP 查询请求,且来访 IP 必须在该网络接口的子网段内。
3 – 不回应该网络界面的 arp 请求,而只对设置的唯一和连接地址做出回应。
4 -7 – 保留未使用。
8 – 不回应所有(本地地址)的 arp 查询。
 手工执行配置添加LVS服务并增加两台RS
[root@node1 ~]# ipvsadm -A -t 192.168.100.200:80 -s rr 
[root@node1 ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.147:80  -g
[root@node1 ~]# ipvsadm -a -t 192.168.100.200:80 -r 192.168.100.148:80  -g

 ipvs查看配置状态
[root@node1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.200:80 rr
  -> 172.168.100.147:80           Route   1      0          0         
  -> 172.168.100.148:80           Route   1      0          0 

 客户机检测配置
[root@RHCE ~]# for ((i=1;i<=6;i++)); do curl 192.168.100.200; done
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148
web test page,ip is 192.168.100.147
web test page,ip is 192.168.100.148

使用nginx配置负载均衡
RHCE    192.168.100.146    负载均衡服务器
node2    192.168.100.148    nginx服务器
node3    192.168.100.149    nginx服务器
 安装nginx可以使用如下仓库:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
 
 关闭防火墙 以及SELinux宽容模式
systemctl  stop   firewalld 
 
setenforce   0
启动服务并向主机 node2 node3 写入内容       
systenctl start nginx    启动nginx服务
 
 echo "web test page ip is `hostname -I`" > /usr/share/nginx/html/index.html   #写入内容
 
systenctl start nginx    再次启动nginx服务
 在RHCE负载均衡服务器上配置
 vim /etc/nginx/nginx.conf 
 
#在 http模块中写入如下内容
 
        server {
                listen  80;
                server_name test.ng.test;    定义域名  也可以用ip
                location / {
                        proxy_pass http://web_server;
                }
        }
        upstream web_server {
                server 192.168.100.148:80;     nginx服务器地址  
                server 192.168.100.149:80;
        }
 

 

 测试结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值