Zabbix6 - Centos7源码编译部署HA高可用集群手册
HA高可用集群
总所周知,在我们IT运维的圈圈中,HA高可用集群服务算是逼格最高的吧也是运维里保障力度最大的环境。
HA是HighlyAvailable缩写,是双机集群系统简称,提高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。通俗来说就是以提高应用系统的可靠性、尽可能减少终端宕机时间为目标,确保服务的连续性,达到高可用(HA)的容错效果,例“故障切换”“双击热备”“多机热备”等都属于高可用群集技术。HA工作方式包括双工和主从两种模式。双工即所有节点同时在线;主从则只有主节点在线,但当出现故障时从才切换为主节点。
Zabbix HA概述
通常高可用性(HA)需要在几乎不需要停机的关键基础设施中使用。为了在服务出现任何失败故障时进行故障转移,进行接管。
Zabbix提供了一个本地的高可用性解决方案,方便设置,不需要任何HA专业知识也可以完成。本地Zabbix HA对于防止Zabbix server的软件/硬件故障或减少维护停机时间是有用的。 Zabbix高可用模式下,多台Zabbix server作为集群中的节点运行。当集群中的一个Zabbix server 处于active 时,其他服务器处于standy,随时准备在必要时接管。 Zabbix
HA解决方案由多个zabbix_zabbix-mysql实例或节点组成,每个节点独立配置,但数据库是使用同一个实例。Zabbix
Server HA 最少需要两个节点,多台Zabbix server作为集群中的节点运行。无论集群的节点数量有多少,只有一个节点实例是出于Active状态,Standby节点不收集监控数据或者处理其他任务;
官方文档:
https://www.zabbix.com/documentation/6.0/zh/manual/concepts/server/ha
国内zabbix源: https://mirrors.cloud.tencent.com/zabbix/
https://mirrors.aliyun.com/zabbix/
Zabbix HA节点包括以下几种状态
Active(活动)
Standby(备用)
Unavailable(不可用)
Stopped(停止)
环境准备:
一、系统前置工作(ALL服务器)
# IP配置
ip address
vi /etc/sysconfig/network-scripts/ifcfg-ens192
systemctl restart network
# 主机名配置
Hostname
vi /etc/hostname
systemctl restart systemd-hostnamed #退出ssh会话重新登入生效
# 同步NTP时间
yum install -y ntpdate #同步安装ntp时间服务器
ntpdate cn.pool.ntp.org #同步系统时间与网络时间
# 查看CentOS版本信息
cat /etc/centos-release
uname -r #内核版本
# 防火墙配置
systemctl stop firewalld #停止
systemctl disable firewalld #禁用
firewall-cmd --zone=public --add-port=10050/tcp --permanent #若要开防火墙则开放10050端口
firewall-cmd --reload #重启防火墙,生效配置
# SELinux安全机制配置
vi /etc/selinux/config
setenforce 0 # 临时
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
# 替换国内源配置
ls /etc/yum.repos.d/
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak #备份当前源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 阿里云 CentOS 7源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo # 网易163 CentOS 7源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-7.repo # 华为云CentOS 7源
# 清空缓存
yum clean all
# 生成缓存
yum makecache
# 安装前最好更新一下系统软件
yum -y install vim
yum -y install unzip
yum -y install lrzsz
yum -y update
二、编译安装Zabbix Server 6.0 LTS(子版本6.0.28)—此操作两台服务端节点可以同步执行部署
敲黑板:有人会问为啥不直接yum,那是CentOS8,Cent0S7还不支持yum方式安装zabbix服务端
2.1 基础环境
# 创建zabbix目录
mkdir -p /data/zabbix
# 创建用户账户
> 敲黑板:按官网的说法就是,所有的Zabbix守护进程都必须要一个非特权用户。如果一个非特权用户启动了一个Zabbix守护进程,它就会以这个用户运行。然而,如果一个守护进程以‘root’账户运行,它会切换到一个‘zabbix‘用户,这个用户是必须存在的。要创建这样一个用户(在它自己的“zabbix”组里)
# 创建zabbix组
groupadd zabbix
# 创建zabbix用户
useradd -g zabbix -M -s /sbin/nologin zabbix
#给安装目录授权
chown -R zabbix. /data/zabbix/
2.2 下载源码包
# 下载源码包到 /data
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.28.tar.gz
# 解压源码包
tar -zxf zabbix-6.0.28.tar.gz -C /data/zabbix
2.3 安装MySQL开发库、客户端以及依赖库
yum install -y https://repo.mysql.com//mysql80-community-release-el7-11.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-