Zabbix跨版本升级指南,4.2-6.0

【作者】武玉森,就职于国内某城商行,从事运维框架及智能监控等方面工作,对操作系统、开源监控等方面具有丰富的实践经验。

Zabbix 6.0 LTS 已经发布了一段时间了,面对那么香的新鲜功能,回头看看自己 Zabbix 4.2 版本,难道只能看着眼馋嘛?!

可是如何完成跨版本升级,分析官方文档给出了以下建议:

Zabbix 4.2 → Zabbix 5.x → Zabbix 6.0

然而面对 7*24 小时的无中断业务要求,如果按部就班的逐版本升级,监控停摆周期可能不可控。仔细分析各版本数据结构及升级要求,发现最大的问题还是在数据库及数据结构这块儿,只要处理好这块儿问题,跨版本升级未必不可行,最终决定采用大版本直升的方案进行升级:

Zabbix 4.2 → Zabbix 6.0

注: 该文为后整理,缺少相关页面图示,请见谅。

资源需求
类型 资源 备注
数据库 虚机 1 台 部署 Mysql 8,可按需求是否做主从
前端服务 虚机 1 台 部署 nginx+php,根据实际需求是否需要做负载
后端服务 虚机 2 台 部署 zabbix server 6.0,进行主备验证
升级步骤
本次升级为大版本升级,升级期间新旧版本并行工作,逐步替代,不会长时间影响监控运行(约 10 分钟),但需按照以下升级步骤开展。(为简化文档说明,Proxy 相关部署直接安装新版本即可,不再赘述)

步骤 升级主题 内容简述 备注
1 Mysql 8 数据库部署 部署8.x版本Mysql,并将mysqldump文件导入 该 mysqldump 为 Zabbix 4.2 版本数据库导出
2 新前端部署 安装 nginx 及 php
3 新Server部署 安装 Zabbix 6.0LTS 该阶段启动时触发升级动作
数据库部署 - Mysql 8
步骤一:从原 Server 数据库导出 mysqldump 文件

因数据量过大,导出时排除了 history 和 trend 数据,但需导出表结构

mysqldump -uroot -p --databases zabbix --ignore-table=zabbix.history --ignore-table=zabbix.history_log --ignore-table=zabbix.history_str --ignore-table=zabbix.history_text --ignore-table=zabbix.history_uint --ignore-table=zabbix.trends --ignore-table=zabbix.trends_uint > zabbix_dump.sql

mysqldump -d zabbix -uroot -p --tables history history_log history_str history_text history_uint trends trends_uint > zabbix_tables.sql

步骤二:安装 Mysql8.0.28 版本

该阶段可采用了绿色免安装版,从 mysql 官网下载 mysql-8.0.28-el7-x86_64.tar.gz,并直接解压安装、初始化 mysql、创建 zabbix 用户并附权(可参考官网现有解决方案,不再赘述)。因版本跨度大,数据编码、结构均需人工干预进行处理,以下部分是成功与否的关键,此处划重点!

① 确认 my.cnf 中配置

character-set-server=utf8mb3
collation-server=utf8mb3_bin

② 创建 zabbix 库

create database zabbix character set utf8mb3 collate utf8mb3_bin;

③ 修改导出的 mysqldump 文件

导入前,需确保mysqldump中每个表的DDL语句中参数如下(可采用 sed 批量调整)

ENGINE=InodDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;

此步骤很重要,不然会出现索引异常的问题。

④ 导入 mysqldump

mysql -uroot -p zabbix < zabbix_dump.sql
mysql -uroot 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值