IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 12. 搭建高可用集群 -> 正文阅读

[系统运维]12. 搭建高可用集群


12.1 Keepalived+Nginx 高可用集群(主从模式)

12.1.1 集群架构图

1、准备两台 nginx 服务器,一台做主服务器,一台做备份服务器
2、两台 Nginx 服务器的 IP 地址,可以自己配置 (具体配置看 Linux 网络配置章节)
3、安装 keepalived , 保证主从之间的通讯
4、对外提供统一的访问 IP(虚拟 IP-VIP)

在这里插入图片描述

12.1.2 具体搭建步骤

12.1.2.1 搭建高可用集群基础环境

1、准备两台 Linux 服务器 192.168.200.130 和 192.168.200.135

  • 可以克隆来完成
  • 也可以直接拷贝一份

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

  • 还要保证网络是连通的

在这里插入图片描述
在这里插入图片描述

2、在两台 Linux 服务器,安装并配置好 Nginx

  • 安装配置 Nginx 步骤前面学过,如果你克隆的 Linux ,本身就有安装好了 Nginx ,直接使用即可
  • 验证安装是否成功,在 windows 可以通过 IP 访问到 Nginx ,具体的操作步骤和注意事项,前面也都是说过了

在这里插入图片描述

在这里插入图片描述

  • 因为这里我是拷贝了一份 Linux ,而新的 Linux 的 ip 已经变化了,所以需要对克隆的 Linux 的 nginx.conf 文件中的 IP 地址,做相应的修改,温馨提示:修改了配置文件后别忘了重启 Nginx 哟~

在这里插入图片描述

在这里插入图片描述

  • 启动两台主机的 Tomcat ,Windows 浏览器访问测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、在两台 Linux 服务器,安装 keepalived

(1)下载 keepalived-2.0.20.tar.gz 源码安装包,下载地址:https://keepalived.org/download.html

在这里插入图片描述

(2)上传到两台 Linux /root 目录

在这里插入图片描述

在这里插入图片描述

(3)创建目录 mkdir /root/keepalived
(4)解压文件到指定目录:tar -zxvf keepalived-2.0.20.tar.gz -C ./keepalived
(5)cd /root/keepalived/keepalived-2.0.20
(6)./configure --sysconf=/etc --prefix=/usr/local ,说明:将配置文件放在 /etc 目录下,安装路径在 /usr/local
(7)编译并安装 make && make install
(8)如果成功,就会安装好 keepalived 【可以检查一下】

  • 说明:keepalived 的配置目录在 /etc/keepalived/keepalived.conf
  • keepalived 的启动指令在 /usr/local/sbin/keepalived

(9)提示:两台 Linux 都要安装 keepalived

12.1.2.2 完成高可用集群配置

1、将其中一台 Linux ( 比如 192.168.200.130) 指定为 Master :vim /etc/keepalived/keepalived.conf

在这里插入图片描述

在这里插入图片描述

2 、 将其中一台 Linux( 比如 192.168.200.135) 指定为 Backup (备份服务器) vim /etc/keepalived/keepalived.conf

在这里插入图片描述

在这里插入图片描述

3、启动 两台 Linux 的 keepalived 指令:/usr/local/sbin/keepalived

4、观察两台 linux 的 ens33 是否已经绑定 192.168.200.18

在这里插入图片描述

在这里插入图片描述

12.1.2.3 注意事项和细节

1、keepalived 启动后无法 ping 通 VIP,提示 ping: sendmsg: Operation not permitted参考文档

2、nginx+keepalived 配置说明和需要避开的坑,参考文档

12.1.3 测试

1、首先保证 windows 可以连通 192.168.200.18 这个虚拟 IP

在这里插入图片描述

2、访问 nginx 如图

在这里插入图片描述

  • 说明:大家可以看到,因为 192.168.200.130 是 Master 他的优先级高,所以访问的就是 192.168.200.130 的 Nginx ,同时仍然是支持负载均衡的

3、停止 192.168.200.130 的 keepalived 服务,否则直接关闭 192.168.200.130 主机,再次访问 http://192.168.200.18/search/cal.jsp ,这时虚拟 IP 绑定发生漂移,绑定到 192.168.200.135 Backup 服务,访问效果如图,这里我是直接关闭 192.168.200.130 Master 的 keepalived 来测试的

在这里插入图片描述

在这里插入图片描述

12.1.4 自动检测 Nginx 异常, 终止 keepalived

12.1.4.1 实现步骤

1、编写 shell 脚本:vim /etc/keepalived/ch_nginx.sh

  • 简单说明:下面的脚本就是去统计 ps -C nginx --no-header 的行数,如果为 0 ,说明 nginx 已经异常终止了,就执行 killall keepalived
#!/bin/bash
num=`ps -C nginx --no-header | wc -l`
if [ $num -eq 0 ];then
killall keepalived
fi

2、修改 ch_nginx.sh 权限 chmod 755 ch_nginx.sh

3、修改 192.168.200.130 主 Master 配置文件,指令:vim /etc/keepalived/keepalived.conf

在这里插入图片描述

4、重新启动 192.168.200.130 Master 的 keepalived ,这时因为 Master 的优先级高,会争夺到 VIP 优先绑定

在这里插入图片描述

在这里插入图片描述

5、手动关闭 192.168.198.130 Master 的 Nginx ,注意观察 keepalived 也终止了

在这里插入图片描述

6、再次访问 nginx ,发现 192.168.200.18 这个虚拟 IP 又和 192.168.200.135 备份服务器绑定了

在这里插入图片描述

12.1.4.2 注意事项

1、keepalived vrrp_script 脚本不执行解决办法

  • 打开日志观察 ,指令:tail -f /var/log/messages
  • 重启 keepalived ,指令: systemctl restart keepalived.service
  • 我曾经测试出现过文件找不到 可以修改执行脚本文件名,不要有_ 就 OK

2、如果配置有定时检查 Nginx 异常的脚本,需要先启动 nginx 再启动 keepalived ,否则 keepalived 一启动就被 killall 了

12.1.5 配置文件 keepalived.conf 详解

#这里只注释要修改的地方
global_defs {
	notification_email {
	test@foxmail.com #接收通知的邮件地址
	}
	notification_email_from Alexandre.Cassen@firewall.loc #发送邮件的邮箱
	smtp_server 192.168.200.1 #smtp server 地址
	smtp_connect_timeout 30
	router_id Node132 #Node132 为主机标识
	vrrp_skip_check_adv_addr
	#vrrp_strict #这里需要注释,避免虚拟 ip 无法 ping 通
	vrrp_garp_interval 0
	vrrp_gna_interval 0
}

vrrp_instance VI_1 {
	state MASTER #主节点 MASTER 备用节点为 BACKUP
	interface ens33 #网卡名称
	virtual_router_id 51 #VRRP 组名,两个节点的设置必须一样,指明属于同一 VRRP 组
	priority 100 #主节点的优先级(1-254 之间),备用节点必须比主节点优先级低
	advert_int 1 #组播信息发送间隔,两个节点设置必须一样
	authentication { #设置验证信息,两个节点必须一致
	auth_type PASS
	auth_pass 1111
	}
	virtual_ipaddress { #指定虚拟 IP, 两个节点设置必须一样
		192.168.200.18
	}
}
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:39:35  更:2022-10-31 12:40:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:39:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码