二阶段测试
1、部署框架前准备工作
服务器类型 | 部署组件 | ip地址 |
---|---|---|
DR1调度服务器 主(ha01) | Keepalived+LVS-DR | 192.168.168.21 |
DR2调度服务器 备 (ha02) | Keepalived+LVS-DR | 192.168.168.22 |
web1节点服务器 (slave01) | Nginx+Tomcat+MySQL 备+MHA manager+MHA node | 192.168.168.12 |
web2节点服务器 (slave02) | Nginx+Tomcat +MySQL 备+MHA node | 192.168.168.13 |
NFS存储服务器(master01) | MySQL 主+NFS+MHA node | 192.168.168.11 |
vip | 虚拟ip | 192.168.168.100 |
1、实验思路---服务器架构
ha01 192.168.168.21 keepalive+lvs-DR
ha02 192.168.168.22 keepalive+lvs-DR
master01 192.168.168.11 mysql+NFS+mha+node
slave01 192.168.168.12 nginx+tomcat+mysql+mha+node+manager
slave02 192.168.168.13 nginx+tomcat+mysql+mha+node
三台数据库均以mysql8.0版本安装好
虚拟地址vip:192.168.168.100
2、关闭防护墙、修改主机名
[root@localhost ~]# systemctl stop firewalld.service && setenforce 0
[root@localhost ~]# hostnamectl set-hostname ha01
[root@localhost ~]# hostnamectl set-hostname ha02
[root@localhost ~]# hostnamectl set-hostname slave01
[root@localhost ~]# hostnamectl set-hostname slave02
[root@localhost ~]# hostnamectl set-hostname master01
[root@localhost ~]# su
----------以下两台调度器同时配置---------------
3、部署LVS-DR
[root@ha01 ~]# modprobe ip_vs
[root@ha01 ~]# cat /proc/net/ip_vs
## 加载ip_vs模块,并查看版本信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@ha01 ~]# yum install -y ipvsadm
4、配置虚拟地址
配置虚拟ip地址(IPADDR=192.168.168.100)
[root@ha01 ~]# cd /etc/sysconfig/network-scripts/
[root@ha01 network-scripts]# ls
ifcfg-ens33 ifdown-ipv6 ifdown-TeamPort ifup-ippp ifup-routes network-functions
ifcfg-lo ifdown-isdn ifdown-tunnel ifup-ipv6 ifup-sit network-functions-ipv6
ifdown ifdown-post ifup ifup-isdn ifup-Team
ifdown-bnep ifdown-ppp ifup-aliases ifup-plip ifup-TeamPort
ifdown-eth ifdown-routes ifup-bnep ifup-plusb ifup-tunnel
ifdown-ib ifdown-sit ifup-eth ifup-post ifup-wireless
ifdown-ippp ifdown-Team ifup-ib ifup-ppp init.ipv6-global
[root@ha01 network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@ha01 network-scripts]# vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.168.100
NETMASK=255.255.255.255
[root@ha02 network-scripts]# ifup ifcfg-ens33:0
ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Error, some other host (00:0C:29:1F:FB:2F) already uses address 20.0.0.10.
[root@ha02 network-scripts]# systemctl restart network
[root@ha02 network-scripts]# ifup ifcfg-ens33:0
[root@ha01 network-scripts]# ifup ifcfg-ens33:0
[root@ha01 network-scripts]# ifconfig
[root@ha01 ~]#route add -host 192.168.168.100 dev ens33:0
[root@ha01 ~]# vim /etc/rc.local
/usr/sbin/route add -host 192.168.168.100 dev ens33:0
3、配置ARP内核响应参数防止更新VIP中的MAC地址,避免发生冲突
[root@ha01 network-scripts]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
#proc响应关闭重定向功能
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0
[root@ha01 network-scripts]# sysctl -p
##加载配置文件生效
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
4、配置负载均衡分配策略
[root@ha01 network-scripts]# ipvsadm-save > /etc/sysconfig/ipvsadm
## 保持策略
[root@ha01 network-scripts]# systemctl start ipvsadm.service
## 开启ipvsadm服务
[root@ha01 network-scripts]# ipvsadm -C
## 情况策略,添加虚拟ip地址,指定负载均衡算法给两台web节点服务器
[root@ha01 network-scripts]# ipvsadm -A -t 192.168.168.100:80 -s rr
[root@ha01 network-scripts]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.12:80 -g
[root@ha01 network-scripts]# ipvsadm -a -t 192.168.168.100:80 -r 192.168.168.13:80 -g
[root@ha01 network-scripts]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP ha01:http rr
-> 192.168.168.12:http Route 1 0 0
-> 192.168.168.12:http Route 1 0 0
5、配置web节点服务器(两台slave同时部署 192.168.168.12、192.168.168.13)
1、配置虚拟ip地址(VIP:192.168.168.100)
[root@slave01 ~]# cd /etc/sysconfig/network-scripts/
[root@slave01 network-scripts]# ls
ifcfg-ens33 ifdown-ipv6 ifdown-TeamPort ifup-ippp ifup-routes network-functions
ifcfg-lo ifdown-isdn ifdown-tunnel ifup-ipv6 ifup-sit network-functions-ipv6
ifdown ifdown-post ifup ifup-isdn ifup-Team
ifdown-bnep ifdown-ppp ifup-aliases ifup-plip ifup-TeamPort
ifdown-eth ifdown-routes ifup-bnep ifup-plusb ifup-tunnel
ifdown-ib ifdown-sit ifup-eth ifup-post ifup-wireless
ifdown-ippp ifdown-Team ifup-ib ifup-ppp init.ipv6-global
[root@slave01 network-scripts]# cp ifcfg-ens33 ifcfg-lo:0
[root@slave01 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.168.100
NETMASK=255.255.255.255
[root@slave01 network-scripts]# ifup ifcfg-lo:0
## 开启虚拟网卡
[root@slave01 network-scripts]# ifconfig
## 查看网卡
[root@slave01 network-scripts]# route add -host 192.168.168.100 dev lo:0
[root@slave01 network-scripts]# vim /etc/rc.local
## 配置永久添加路由
route add -host 192.168.168.100 dev lo:0
2、配置ARP内核响应参数防止更新VIP中的MAC地址,避免发生冲突
[root@slave01 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@slave01 network-scripts]# sysctl -p
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
6、部署NFS存储服务器(NFS共享存储ip地址:192.168.168.11)
[root@master01 ~]# rpm -q rpcbind nfs-utils
## 检查是否有安装nfs
rpcbind-0.2.0-42.el7.x86_64
nfs-utils-1.3.0-0.48.el7.x86_64
[root@master01 ~]# systemctl start nfs
[root@master01 ~]# systemctl start rpcbind
##开启服务
[root@master01 ~]# systemctl enable nfs
## 设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@master01 ~]# systemctl enable rpcbind
[root@master01 ~]# mkdir /opt/web1 /opt/web2
## 创建web目录
[root@master01 web1]# echo '<h1>This is node web1</h1>' > /opt/web1/index.html
[root@master01 web1]# echo '<h1>This is node web2</h1>' > /opt/web2/index.html
## 添加网页内容
[root@master01 ~]# vim /etc/exports
/opt/web1 192.168.168.0/24(ro)
/opt/web2 192.168.168.0/24(ro)
[root@master01 ~]# exportfs -rv
## 发布共享
exporting 20.0.0.0/24:/opt/web2
exporting 20.0.0.0/24:/opt/web1
7、节点服务器安装web服务(Nginx)并挂载共享目录
1、安装Nginx
将安装包拖入/opt/目录下
【安装 Nginx 服务】
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2、创建运行用户
useradd -M -s /sbin/nologin nginx
3、编译安装
cd /opt
tar zxvf nginx-1.22.0.tar.gz -C /opt/
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
4、优