构建 LVS-DR 群集、配置nginx负载均衡。

目录

[一、基于 CentOS 7 构建 LVS-DR 群集](#一、基于 CentOS 7 构建 LVS-DR 群集)

1、准备四台虚拟机

2、配置负载调度器(192.168.2.130)

3、部署共享存储(192.168.2.133)

4、配置两个Web服务器(192.168.2.131、192.168.2.132)

测试集群

二、配置nginx负载均衡。

1、安装部署nginx

2、负载均衡服务器192.168.2.130

3、web1服务器192.168.2.131,web2服务器192.168.2.132

4、配置hosts文件


一、基于 CentOS 7 构建 LVS-DR 群集

1、准备四台虚拟机

ip 角色
192.168.2.130 vip:192.168.2.200 DR服务器
192.168.2.131 Web服务器1
192.168.2.132 Web服务器2
192.168.2.133 NFS服务器

2、配置负载调度器(192.168.2.130)

复制代码
systemctl stop firewalld
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

(1)配置虚拟IP地址(vip:192.168.2.200)

复制代码
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.2.200
NETMASK=255.255.255.255


[root@localhost network-scripts]# ifup ens33:0
[root@localhost network-scripts]# ifconfig ens33:0

(2)调整proc响应参数

复制代码
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

(3)手工执行配置负载分配策略

复制代码
[root@localhost ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
[root@localhost ~]# systemctl start ipvsadm
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.2.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.2.200:80 -r 192.168.2.131:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.2.200:80 -r 192.168.2.132:80 -g
[root@localhost ~]# ipvsadm

3、部署共享存储(192.168.2.133)

复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# mkdir /opt/blue /opt/summer
[root@localhost ~]# chmod 777 /opt/blue /opt/summer
[root@localhost ~]# vim /etc/exports
/usr/share *(ro,sync)
/opt/blue 192.168.2.0/24(rw,sync)
/opt/summer 192.168.2.0/24(rw,sync)

[root@localhost ~]# systemctl start nfs.service 
[root@localhost ~]# systemctl start rpcbind.service

4、配置两个Web服务器(192.168.2.131、192.168.2.132)

两个服务器相同的配置步骤

复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
复制代码
[root@localhost network-scripts]# ifup lo:0
[root@localhost network-scripts]# ifconfig lo:0

配置主机路由

复制代码
[root@localhost network-scripts]# route add -host 192.168.2.200 dev lo:0
[root@localhost network-scripts]# vim /etc/rc.local
/sbin/route add -host 192.168.2.200 dev lo:0

[root@localhost network-scripts]# chmod +x /etc/rc.d/rc.local

调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

复制代码
[root@localhost network-scripts]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1	
net.ipv4.conf.lo.arp_announce = 2		
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
复制代码
[root@localhost network-scripts]# yum -y install nfs-utils rpcbind httpd lsof
[root@localhost network-scripts]# systemctl start rpcbind
[root@localhost network-scripts]# systemctl start httpd
[root@localhost network-scripts]# lsof -i:80
[root@localhost network-scripts]# showmount -e 192.168.2.133
复制代码
--192.168.2.131---
mount.nfs 192.168.2.131:/opt/blue /var/www/html
echo 'this is 131 web' > /var/www/html/index.html

--192.168.2.132---
mount.nfs 192.168.2.132:/opt/summer /var/www/html
echo 'this is 132 web' > /var/www/html/index.html

测试集群

二、配置nginx负载均衡。

1、安装部署nginx

2、负载均衡服务器192.168.2.130

复制代码
[root@localhost ~]# vim /etc/nginx/conf.d/nginx.conf
 
server{
        listen 80;
        server_name www.first.com;
        location /{
                proxy_pass http://web_server;
   }
}

upstream web_server{
        server 192.168.2.131;
        server 192.168.2.132;
}

3、web1服务器192.168.2.131,web2服务器192.168.2.132

复制代码
[root@localhost ~]# echo "Welcome to 131 server:192.168.2.131" > /root/index.html
[root@localhost ~]# echo "Welcome to 132 server:192.168.2.132" > /root/index.html

4、配置hosts文件

复制代码
192.168.2.130 www.first.com
相关推荐
冬奇Lab1 天前
一天一个开源项目(第46篇):Caddy - 自动 HTTPS 的现代化 Web 服务器,支持 HTTP/3
网络协议·nginx·开源
顺风尿一寸3 天前
Nginx源码分析:变量系统的设计与请求生命周期中的日志记录
nginx
十二7406 天前
前端缓存踩坑实录:从版本号管理到自动化构建
前端·javascript·nginx
可观测性用观测云7 天前
云原生网关 Ingress-Nginx 链路追踪实战:OpenTelemetry 采集与观测云集成方案
nginx·kubernetes
闲云一鹤9 天前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
xy123069 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
何中应12 天前
Nginx转发请求错误
前端·后端·nginx
欧云服务器13 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
芝士雪豹只抽瑞克五13 天前
Nginx 高性能Web服务器笔记
服务器·nginx