编者荐语:
作者所在电商平台通过Centos7.7 + Keepalive + Zabbix + DRBD + Heartbeat + MySQL + ES-Cluster 方案,构建了Zabbix的高可用集群环境。本文作者也在“Zabbix技术交流群”,欢迎加入交流。
【背景】由于公司业务环境Zabbix监控平台架构,无论在性能、稳定性还是版本升级方面都存在很大困难。本文将介绍通过Centos7.7 + Keepalive + Zabbix + DRBD + Heartbeat + MySQL + ES-Cluster 方案,来构建Zabbix的高可用集群环境。
01 方案架构
方案:
Centos7.7+Keepalive+Zabbix+DRBD+Heartbeat+MySQL+ES-Cluster
02 环境初始化
环境信息
初始化
2节点ssh互通做免密认证
Zabbix-HA1节点执行 ssh-keygen -q -t rsa -N ‘’ -f ~/.ssh/id_rsa ssh-copy-id -p36091 root@192.168.8.187
双节点做基于主机名解析,分别执行
cat > /etc/hosts << EOF
192.168.8.186 Zabbix-HA1
192.168.8.187 Zabbix-HA2
EOF
所有节点都关闭swap
swapoff -a # 临时手动关闭
永久关闭swap ,注释掉/ etc/fstab 中swap ,重启机器
网络环境设定
每个主机分别带有两块以太网卡,其中一块用于网络通信,另一块用于心跳功能。
两个节点的网络设置如下:
Zabbix-HA1 主节点
eth0: 192.168.8.86 255.255.0.0 #对外IP地址
eth1: 172.16.38.1 255.255.255.0 #HA心跳使用地址
Zabbix-HA2 从节点
eth0: 192.168.8.86 255.255.0.0 #对外IP地址
eth1: 172.16.38.2. 255.255.255.0 #HA心跳使用地址
配置heartbeat 防火墙规则
在Zabbix-HA1 节点加入Zabbix-HA2 节点上heartbeat 心跳IP和udp 端口防火墙规则
iptables -A INPUT -i eth1 -p udp -s 172.16.38.2 --dport 694 -m comment --comment "heartbeat-slave" -j ACCEPT
/usr/libexec/iptables/iptables.init save
在Zabbix-HA2 节点加入Zabbix-HA1 节点上heartbeat 心跳IP和udp 端口防火墙规则
iptables -A INPUT -i eth1 -p udp -s 172.16.38.1 --dport 694 -m comment --comment "heartbeat-master" -j ACCEPT
/usr/libexec/iptables/iptables.init save
时间同步时间同步(zabbix-ha1 和zabbix-ha2 都要执行)
yum -y install rdate
rdate -s time-b.nist.gov
03 安装配置DRBD
DRBD安装
安装drbd9
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum install -y drbd90-utils kmod-drbd90
配置drbd内核模块开机自动启动
echo drbd > /etc/modules-load.d/drbd.conf
手动启动drbd内核模块modprobe drbd lsmod|grep drbd
ps:不管是单独硬盘、普通分区、lvm,drbd需要的是干净的分区,不要格式化.
配置drbd
移除默认配置
mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.confbak创建全局配置
cat << EOF > /etc/drbd.d/global_common.conf
global {
usage-count no;
}
common {
net {
protocol C;
}
}
EOF
创建资源配置文件
cat << EOF > /etc/drbd.d/drbd0.res
resource drbd0 {
disk / dev/sdb;
device /dev/drbd0; meta-disk internal; on Zabbix-HA1 {
address 192.168.8.186:7789;
}
on Zabbix-HA2 {
address 192.168.8.187:7789;
}
}
EOF
ps:根据实际情况修改上面配置中的主机名、IP、和disk为自己的具体配置
节点配置
Zabbix-HA1节点操作初始化设备元文件
drbdadm create-md drbd0启动drbd0资源
drbdadm up drbd0
Zabbix-HA2节点操作初始化设备元文件
drbdadm create-md drbd0启动drbd0资源
drbdadm up drbd0
在Zabbix-HA1节点,指定为主drbdadm primary --force drbd0
在DRBD主节点上将drbd0块设备格式化,系统文件格式为xfs mkfs.xfs /dev/drbd0
Zabbix-HA1节点上传drbd-overview维护工具到/usr/sbin目录下,并赋权chmod +x /usr/sbin/drbd-overview
复制到Zabbix-HA2节点/usr/sbin目录下
scp -P36091 /usr/sbin/drbd<