---
title: openGauss 版本升级指南-官方技术文章-鲲鹏社区
description: 本文主要介绍openGauss就地升级和灰度升级主要操作步骤。
keywords: Gauss,版本升级指南,官方技术文章,鲲鹏社区,升级验证,提交升级,升级版本回滚,异常处理
url: https://www.hikunpeng.com/developer/techArticles/20230914-7?envFlag=1
section: (其他)
---

# openGauss 版本升级指南-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20230914-7?envFlag=1
描述: 本文主要介绍openGauss就地升级和灰度升级主要操作步骤。
关键词: Gauss,版本升级指南,官方技术文章,鲲鹏社区,升级验证,提交升级,升级版本回滚,异常处理

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

openGauss 版本升级指南

openGauss 版本升级指南

实战经验

发表于 2022/05/26

0

本文介绍就地升级和灰度升级主要步骤，具体实践升级操作需要做很多的准备工作，主要步骤具体参考官方的升级指南：

https://opengauss.org/zh/docs/3.0.0/docs/UpgradeGuide/%E5%8D%87%E7%BA%A7%E6%93%8D%E4%BD%9C.html [了解详情](https://opengauss.org/zh/docs/3.0.0/docs/UpgradeGuide/%E5%8D%87%E7%BA%A7%E6%93%8D%E4%BD%9C.html)

升级操作

（1）以root身份登录节点

（2）创建新包目录

```
mkdir -p /opt/software/gaussdb_upgrade
```

（3）下载升级包并解压。

下载地址:https://opengauss.org/zh/download.html [了解详情](https://opengauss.org/zh/download.html)

（4）升级目录，执行升级安装

```
cd /opt/software/gaussdb_upgrade/script
```

（5）在就地升级或灰度升级前执行前置脚本gs_preinstall

```
./gs_preinstall -U omm -G dbgrp -X /opt/software/GaussDB_Kernel/clusterconfig.xml
```

（6）切换至omm用户

```
su - omm
```

（7）数据库状态正常时，使用如下命令进行就地升级或者灰度升级

示例一：使用gs_upgradectl脚本执行就地升级

```
gs_upgradectl -t auto-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml
```

示例二：使用gs_upgradectl脚本执行灰度升级

```
gs_upgradectl -t auto-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml --grey
```

## 升级验证

（1）升级版本查询

1）以数据库用户（如omm）登录节点，source环境变量

2）执行如下命令查看所有节点的版本信息

```
gs_ssh -c "gsql -V"
```

（2）检查升级数据库状态

1）以数据库用户（如omm）登录节点

2）执行如下命令查看数据库状态

```
gs_om -t status
```

查询结果的cluster_state为Normal代表数据库正常。

## 提交升级

升级完成后，如果验证也没问题，接下来就可以提交升级。

（1）以数据库用户（如omm）登录节点

（2）执行如下命令完成升级提交

```
gs_upgradectl -t commit-upgrade -X /opt/software/GaussDB_Kernel/clusterconfig.xml
```

## 升级版本回滚

（1）以数据库用户（如omm）登录节点

（2）执行如下命令完成版本回滚（回滚内核代码）。回滚完成，如果需要保持内核和om代码的版本一致，可以执行一下旧包的前置命令

```
gs_upgradectl -t auto-rollback -X /opt/software/GaussDB_Kernel/clusterconfig.xml
```

说明：

如果数据库异常，需要强制回滚，可以使用如下命令:

```
gs_upgradectl -t auto-rollback -X /opt/software/GaussDB_Kernel/clusterconfig.xml --force
```

opengauss 3.X 版本使用的新的方式建立互信， 如果从opengauss 2.X升级到3.X后再回滚，执行完回滚命令后在执行旧包的前置命令之前需要执行以下两步：

1）删掉集群中各个节点的 /root/gauss_om/数据库用户名(比如omm) 目录

2）去掉数据库用户的互信，需要登录集群中每个节点删掉crontab定时任务，删除~/.ssh，杀掉互信进程，删掉SSH_AUTH_SOCK，SSH_AGENT_PID两个环境变量

查看回滚之后的版本号：

```
gs_om -V | --version
```

## 异常处理

如果升级失败，请按照如下方式进行处理：

（1）排查是否有环境问题

如磁盘满、网络故障等，或者升级包、升级版本号是否正确。排除问题后，可以尝试重入升级。

（2）如果没有发现环境问题，或者重入升级失败，需要收集相关日志，找技术支持工程师定位

收集日志命令：

```
gs_collector --begin-time='20200724 00:00' --end-time='20200725 00:00'
```

如果条件允许，建议保留环境。

本页内容
