升级目的
为了使用新版本的一些功能特性,故此进行升级。
注意事项
软件升级通常关键三个点:
- 二进制替换
- 配置文件按照最新的格式调整
- 数据库表结构
所以,在做升级之前,一定要先做好备份,备份的内容对应变更的内容,即:二进制、配置文件、数据库。
升级过程
- 这里演示以二进制部署的方式来升级软件包。从 GitHub 或 Flashcat 下载V7版本软件包
[root@localhost tmp]# wget https://download.flashcat.cloud/n9e-v7.7.0-linux-amd64.tar.gz
--2024-12-13 18:11:39-- https://download.flashcat.cloud/n9e-v7.7.0-linux-amd64.tar.gz
Resolving download.flashcat.cloud (download.flashcat.cloud)... 36.150.14.189, 36.150.160.202, 36.155.160.185
Connecting to download.flashcat.cloud (download.flashcat.cloud)|36.150.14.189|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51591606 (49M) [application/octet-stream]
Saving to: ‘n9e-v7.7.0-linux-amd64.tar.gz’n9e-v7.7.0-linux-amd64.tar.gz 100%[===================================================================================================================>] 49.20M 25.5MB/s in 1.9s 2024-12-13 18:11:42 (25.5 MB/s) - ‘n9e-v7.7.0-linux-amd64.tar.gz’ saved [51591606/51591606][root@localhost tmp]# ll
total 50M
-rw-r--r-- 1 root root 50M Nov 15 18:07 n9e-v7.7.0-linux-amd64.tar.gz
- 解压缩安装包
解压缩之后,可以看到三个二进制:
- n9e:这是夜莺的服务端二进制
- n9e-edge:这是边缘机房部署模式时使用
- n9e-cli:这是 v5 升级 v6 版本时使用的命令行迁移工具,新用户无需关心
另外可以看到几个目录:
- cli:v5 升级 v6 的时候用的,新用户无需关心
- etc:配置文件目录
- docker:docker 部署的时候用的,相关配置文件,相关 compose.yaml 文件都在这里,二进制部署无需关心
- integrations:集成目录。存放内置告警规则、内置仪表盘
[root@localhost tmp]# tar -zxvf n9e-v7.7.0-linux-amd64.tar.gz
......
[root@localhost tmp]# ll
total 143M
drwxr-xr-x 3 root root 80 Dec 13 18:11 cli
drwxr-xr-x 8 root root 260 Dec 13 18:11 docker
drwxr-xr-x 4 root root 120 Dec 13 18:11 etc
drwxr-xr-x 67 root root 1.4K Dec 13 18:11 integrations
-rwxr-xr-x 1 root docker 41M Nov 15 17:48 n9e
-rwxr-xr-x 1 root docker 17M Nov 15 17:47 n9e-cli
-rwxr-xr-x 1 root docker 37M Nov 15 17:48 n9e-edge
-rw-r--r-- 1 root docker 71K Nov 15 17:46 n9e.sql
-rw-r--r-- 1 root root 50M Nov 15 18:07 n9e-v7.7.0-linux-amd64.tar.gz
- 替换 n9e 二进制和 integrations 目录,如果用到了 n9e-edge,也替换 n9e-edge 二进制
注意:在做升级之前,一定要先做好备份,备份的内容对应变更的内容
[root@localhost tmp]# cd /opt/n9e/
#对对应变更的内容进行备份后使用新版本的文件替换原安装目录下的相关文件
[root@localhost n9e]# mv integrations/ integrations_v6
[root@localhost n9e]# mv n9e n9e_v6
[root@localhost n9e]# mv n9e-edge n9e-edge_v6#将V7版本的n9e二进制、integrations目录及n9e-edge文件替换到原V6的安装目录
[root@localhost n9e]# mv /tmp/integrations/ /tmp/n9e /tmp/n9e-edge ./
[root@localhost n9e]# ll
total 190M
drwxr-xr-x 3 root root 4.0K Jan 14 2024 cli
drwxr-xr-x 8 root root 4.0K Jan 14 2024 docker
drwxr-xr-x 4 root root 4.0K Dec 13 18:13 etc
drwxr-xr-x 67 root root 4.0K Dec 13 18:11 integrations
drwxr-xr-x 30 root root 4.0K Jan 14 2024 integrations_v6
-rwxr-xr-x 1 root docker 41M Nov 15 17:48 n9e
-rwxr-xr-x 1 root 123 15M Jun 21 2023 n9e-cli
-rwxr-xr-x 1 root docker 37M Nov 15 17:48 n9e-edge
-rwxr-xr-x 1 root 123 22M Jun 21 2023 n9e-edge_v6
-rw-r--r-- 1 root 123 30K Jun 21 2023 n9e.sql
-rwxr-xr-x 1 root 123 40M Jun 21 2023 n9e_v6
-rw-r--r-- 1 root root 37M Jun 21 2023 n9e-v6.0.0-ga.12-linux-amd64.tar.gz
- 根据新版本的配置文件模板,调整自己环境里的配置文件,即 etc 下面的那些 toml 文件。
- V6 升级到 V7 以及 V6 小版本的变更,数据库表结构都会自动变更,不需要手工操作,但需要夜莺所用的 DB 账号具备建表/改表权限。我这里用的root用户,权限足够,所以也就不改了
- 重启夜莺服务
[root@localhost n9e]# systemctl restart n9e
[root@localhost n9e]# systemctl status n9e
● n9e.serviceLoaded: loaded (/usr/lib/systemd/system/n9e.service; disabled; vendor preset: disabled)Active: active (running) since Fri 2024-12-13 18:13:01 CST; 7s agoMain PID: 2042 (n9e)Tasks: 11Memory: 70.0MCGroup: /system.slice/n9e.service└─2042 /opt/n9e/n9e
......
升级后验证
升级后验证版本,确认升级成功。
升级成功后可以发现多了一些V7版本的功能特性,如变量设置。
本文由博客一文多发平台 OpenWrite 发布!