【系统部署知识汇总】第13章—— 构建高可用集群

构建Nginx⾼可⽤集群

本节内容
01
 ⾼可⽤介绍
02
keepalived安装管理
03
构建⾼可⽤集群
04
 故障测试

⾼可⽤介绍 01

在这里插入图片描述

• 分发器宕机怎么办
• 数据服务器宕机怎么办

02Keepalived

Keepalived的作⽤是检测服务器的状态,如果有1台web服务器宕机,或⼯作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的运作,当服务器 正常后Keepalived自动将服务器加到服务器群中,这些⼯作全部⾃动完成,不需要⼈⼯⼲涉,需要⼈⼯做的只是修复故障的服务器。

1个监控+自愈的软件

Keepalived获得

http://www.keepalived.org/download.html
wget http://www.keepalived.org/software/keepalived-2.0.8.tar.gz

Keepalived 安装

#cat keepalived_install.sh
#!/bin/bash
pkg=keepalived-2.0.8.tar.gz
tar xf $pkg
yum -y install kernel-devel
ln -s /usr/src/kernels/3.10.0-862.14.4.el7.x86_64/ /usr/src/linux
cd keepalived-2.0.8/
yum install openssl-* -y
./configure --prefix=/usr/local/keepalived
make
make install
mkdir -pv /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

03 构建⾼可⽤Nginx集群

声明

• 实验机器: Vmware 虚拟机 24G
• ⽹卡:桥接
• 系统:centos7.5
• 防⽕墙:关闭
• Selinux:关闭
• ⽹段:192.168.10.0/24
主机名 IP ⻆⾊ 软件
Master.ayitula.com 192.168.10.40 主分发器 Nginx+keepalived
Backup.ayitula.com 192.168.10.41 备分发器 Nginx+keepalived
Web01.ayitula.com 192.168.10.42 数据服务器1 nginx
Web02.ayitula.com 192.168.10.43 数据服务器2 nginx

部署步骤

软件环境部署

1)分发器 nginx+keepalived
2)数据服务器 Nginx
3) 配置Nginx分发器
4)配置数据服务器⻚⾯(web01 web02)
5)配置keepalived.conf
6)测试

配置Nginx集群

upstream web {
 server 192.168.10.42 max_fails=2 fail_timeout=3;
 server 192.168.10.43 max_fails=2 fail_timeout=3;
 server {
	 listen 80;
	 server_name localhost;
	 location / {
	 	proxy_pass http://web;
	 }
 }

配置keepalived

#cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id NGINX_DEVEL
}
vrrp_script check_nginx {
script "/etc/keepalived/nginx_pid.sh"
interval 2
fall 1
}
vrrp_instance nginx {
 state MASTER
 interface ens33
mcast_src_ip 192.168.10.40
virtual_router_id 51
 priority 100
advert_int 1
 authentication {
auth_type PASS
auth_pass 1111
 }
track_script {
check_nginx
}
virtual_ipaddress {
 192.168.10.213/24
 }
}

关联脚本 nginx_pid.sh

#chmod 755 /etc/keepalived/nginx_pid.sh
#cat /etc/keepalived/nginx_pid.sh

#!/bin/bash
nginx_kp_check () {
nginxpid=`ps -C nginx --no-header |wc -l`
if [ $nginxpid -eq 0 ];then
 /usr/local/nginx/sbin/nginx
 sleep 1
nginxpid=`ps -C nginx --no-header |wc -l`
 if [ $nginxpid -eq 0 ];then
systemctl stop keepalived
 fi
fi}

启动keepalived

systemctl start keepalived

配置备份Nginx分发器

backuo.ayitula.com
#cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id NGINX_DEVEL
}
vrrp_script check_nginx {
script "/etc/keepalived/nginx_pid.sh"
interval 2
fall 1
}
vrrp_instance nginx {
 state BACKUP
 interface ens33
mcast_src_ip 192.168.10.41
virtual_router_id 51
 priority 90
advert_int 1
 authentication {
auth_type PASS
auth_pass 1111
 }
track_script {
check_nginx
}
virtual_ipaddress {
 192.168.10.213/24
 }
}

04 测试⾼可⽤

模拟故障
数据服务器宕机测试
分发器宕机测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值