[comment]: # ({c3117020-83c2fbfb})
# 1 红帽企业版 Linux

[comment]: # ({/c3117020-83c2fbfb})

[comment]: # ({4d5ddb84-f5a2912b})
#### 概述

本节提供有关使用适用于 Red Hat Enterprise Linux 或其衍生版本（包括 AlmaLinux、CentOS Stream、Oracle Linux 和 Rocky Linux）的官方 Zabbix 安装包，将 Zabbix 从 **6.4.x** 升级到最新版本 version 的 **7.0.x** 的操作说明。

::: notetip
在 Zabbix 7.0 之前，RHEL 及其衍生发行版使用的是统一的安装包。
从 7.0 开始，RHEL 及其上述每个衍生版本分别使用独立的安装包，以避免可能出现的二进制不兼容问题。
:::

::: notewarning
升级前，请查阅相关的 [upgrade notes](/manual/installation/upgrade)，并确保您的系统满足 Zabbix 7.0 的 [requirements](/manual/installation/requirements)。
:::

::: noteclassic
建议在升级过程中开启两个并行的 SSH 会话：一个用于执行升级步骤，另一个用于监控 server/proxy 日志。
例如，在第二个会话中使用 run `tail -f zabbix_server.log` 或 `tail -f zabbix_proxy.log` 实时查看最新的日志条目和可能的错误信息。
对于生产环境实例，此操作尤为关键。
:::

有关在 Zabbix 7.0.x 次版本之间（例如从 7.0.1 升级到 7.0.3）进行升级的说明，请参阅 [次版本间的升级](#upgrade-between-minor-versions)。

[comment]: # ({/4d5ddb84-f5a2912b})

[comment]: # ({93ff8b03-93ff8b03})
#### 升级流程

[comment]: # ({/93ff8b03-93ff8b03})

[comment]: # ({b7813e36-165cddb5})
##### 1 停止Zabbix进程

停止 Zabbix server 以确保没有新数据插入到数据库中：


```bash
systemctl stop zabbix-server
```
如果正在升级 Zabbix proxy、agent 或 agent 2，也需要停止这些组件：


```bash
systemctl stop zabbix-proxy
systemctl stop zabbix-agent
systemctl stop zabbix-agent2
```

[comment]: # ({/b7813e36-165cddb5})

[comment]: # ({906e7b99-ab13a6a4})
##### 2 备份Zabbix数据库

备份现有的 Zabbix 数据库以防止升级失败（例如，磁盘空间 问题、断电或意外问题）。

[comment]: # ({/906e7b99-ab13a6a4})

[comment]: # ({cd95da4b-bddc3d2b})
##### 3 备份Zabbix配置文件、PHP文件和Zabbix二进制文件

备份现有的Zabbix配置文件、PHP文件和Zabbix二进制文件。

对于配置文件，请运行：


```bash
mkdir /opt/zabbix-backup/
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/httpd/conf.d/zabbix.conf  /opt/zabbix-backup/
```
对于PHP文件和Zabbix二进制文件，请运行：


```bash
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
cp -R /usr/share/zabbix-* /opt/zabbix-backup/
```

[comment]: # ({/cd95da4b-bddc3d2b})

[comment]: # ({b9af20bb-f9da6e1f})
##### 4 更新仓库配置包

在继续升级之前，请将当前的仓库包更新到最新版本，以确保与最新软件包兼容，并包含任何近期的安全补丁或错误修复。

在 **RHEL 9** 上，运行：

```bash
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm
```

在 **RHEL 8** 上，运行：

```bash
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-latest.el8.noarch.rpm
```

::: noteclassic
对于较旧的 RHEL 版本或其衍生版本，请将上面的链接替换为 [Zabbix repository](https://repo.zabbix.com/zabbix/7.0/) 中正确的链接。
不过请注意，这些版本的软件包可能不包含所有 Zabbix 组件，如果要通过软件包升级这些组件，请考虑升级您的操作系统。
有关包含的组件列表，请参见 [Zabbix packages](https://www.zabbix.com/download?zabbix=7.0&os_distribution=red_hat_enterprise_linux&os_version=7&components=agent&db=&ws=)。
:::

然后，清理 `dnf` 包管理器的缓存（包括之前安装或更新过程中下载的头文件、元数据和软件包文件）：

```bash
dnf clean all
```

在下一次执行 `dnf` 操作时，`dnf` 将从仓库下载新的元数据，因为旧元数据已被清除。

另请参见：[已知问题](/manual/installation/known_issues#expired-signing-key-for-rhel-packages)，了解在 RHEL 上更新仓库配置包的相关信息。

[comment]: # ({/b9af20bb-f9da6e1f})

[comment]: # ({96e57e43-9524156f})
##### 5 升级Zabbix组件

升级 Zabbix 组件，请运行以下命令：


```bash
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent
```
-   如果使用 PostgreSQL，请在命令中将 `mysql` 替换为 `pgsql`。
-   如果升级 proxy，请在命令中将 `server` 替换为 `proxy`。
-   如果升级 agent 2，请在命令中将 `zabbix-agent` 替换为 `zabbix-agent2 zabbix-agent2-plugin-*`。

::: noteimportant
使用 `dnf install zabbix-agent2` 命令升级 Zabbix agent 2 可能会导致错误。
有关详细信息，请参阅 [*已知 问题*](/manual/installation/known_issues#upgrading-zabbix-agent-2-6.0.5-or-older)。
:::

然后，升级带有 Apache 的 Zabbix 前端并重启 Apache，请运行：


```bash
dnf install zabbix-apache-conf
systemctl restart httpd
```

[comment]: # ({/96e57e43-9524156f})

[comment]: # ({c8bff2fc-f25076e1})
##### 6 审查组件配置参数

查看相关的 [upgrade notes](/manual/installation/upgrade_notes_700)，检查配置参数是否需要任何更改。

有关新的可选参数，请参阅 [What's new](/manual/introduction/whatsnew700) 页面。

[comment]: # ({/c8bff2fc-f25076e1})

[comment]: # ({e83479d6-3190fa72})
##### 7 启动Zabbix进程

启动升级后的 Zabbix 组件：


```bash
systemctl start zabbix-server
systemctl start zabbix-proxy
systemctl start zabbix-agent
systemctl start zabbix-agent2
```

[comment]: # ({/e83479d6-3190fa72})

[comment]: # ({0d20ecac-49e4f43e})
##### 8 清除浏览器cookie和缓存

升级后，可能需要clear网页浏览器的Cookie和网页浏览器缓存，以确保Zabbix前端界面正常工作。

[comment]: # ({/0d20ecac-49e4f43e})

[comment]: # ({6fd8523d-ad85b70b})
#### 小版本间升级

Zabbix 7.0.x 次版本之间可以进行升级（例如，从 7.0.1 升级到 7.0.3）。

要升级所有 Zabbix 组件，请运行以下命令：


```bash
dnf upgrade 'zabbix-*'
```
-   仅升级 Zabbix server，请将命令中的 `'zabbix-*'` 替换为 `'zabbix-server-*'`。
-   仅升级 Zabbix proxy，请将命令中的 `'zabbix-*'` 替换为 `'zabbix-proxy-*'`。
-   仅升级 Zabbix agent，请将命令中的 `'zabbix-*'` 替换为 `'zabbix-agent-*'`。
-   仅升级 Zabbix agent 2，请将命令中的 `'zabbix-*'` 替换为 `'zabbix-agent2-*'`。

[comment]: # ({/6fd8523d-ad85b70b})
