NetBox 源码部署-升级指南

本文最后更新于 2024年12月4日 晚上

简介

本教程用于源码部署安装的NetBox进行升级,使用Rocky Linux 9.5 作为示范系统。

Netbox 系列文章:https://songxwn.com/categories/NetBox/

升级路线图

如上图所示,3.0 升级 4.0 版本前需要升级到 3.7的最新版,4.0之后的版本升级最新目前无最低版本要求。

升级版本要求

  • Python3 要求大于 3.10

  • PostgreSQL 要求大于 12

  • Redis 要求大于 4.0

PS:主要是注意Python版本

开始升级

注意:升级前,先停止NetBox服务 sudo systemctl stop netbox netbox-rq

示例升级前旧版本为 4.0-bate2,安装目录为 /opt/netbox-4.0-beta2

安装Python 3.12

1
2
3
4
5
6
7
dnf install python3.12 python3.12-pip  python3.12-devel python3-pip -y

python3.12 -V # 验证版本



Python 3.12.x

下载解压新版本

1
2
3
4
5
6
7
8
9
10
NEWVER=4.1.7


wget https://github.com/netbox-community/netbox/archive/v$NEWVER.tar.gz


sudo tar -xzf v$NEWVER.tar.gz -C /opt


sudo ln -sfn /opt/netbox-$NEWVER/ /opt/netbox

查看目录如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
tree -L 2  /opt/
/opt/
├── netbox -> /opt/netbox-4.1.7/
├── netbox-4.0-beta2
│   ├── base_requirements.txt
│   ├── CHANGELOG.md
│   ├── contrib
│   ├── CONTRIBUTING.md
│   ├── docs
│   ├── gunicorn.py
│   ├── LICENSE.txt
│   ├── mkdocs.yml
│   ├── netbox
│   ├── NOTICE
│   ├── __pycache__
│   ├── pyproject.toml
│   ├── README.md
│   ├── requirements.txt
│   ├── scripts
│   ├── SECURITY.md
│   ├── upgrade.sh
│   └── venv
└── netbox-4.1.7
├── base_requirements.txt
├── CHANGELOG.md
├── contrib
├── CONTRIBUTING.md
├── docs
├── LICENSE.txt
├── mkdocs.yml
├── netbox
├── NOTICE
├── pyproject.toml
├── README.md
├── requirements.txt
├── ruff.toml
├── scripts
├── SECURITY.md
└── upgrade.sh


迁移配置文件到新的版本目录下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
OLDVER=netbox-4.0-beta2




# 配置旧安装目录的名字为变量





sudo cp /opt/$OLDVER/local_requirements.txt /opt/netbox/


# 复制插件安装PIP列表过去,如果没有可以忽略



sudo cp /opt/$OLDVER/netbox/netbox/configuration.py /opt/netbox/netbox/netbox/

# 复制主配置文件过去



sudo cp /opt/$OLDVER/netbox/netbox/ldap_config.py /opt/netbox/netbox/netbox/

# 复制LDAP配置文件过去 ,如果没有可以忽略




sudo cp -pr /opt/$OLDVER/netbox/media/ /opt/netbox/netbox/
sudo cp -r /opt/$OLDVER/netbox/scripts /opt/netbox/netbox/
sudo cp -r /opt/$OLDVER/netbox/reports /opt/netbox/netbox/

# 复制媒体、脚本、报告文件夹到新版本安装目录



sudo cp /opt/$OLDVER/gunicorn.py /opt/netbox/

# 复制gunicorn.py 文件

运行升级脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cd /opt/netbox

# 进入安装目录

sed -i '1i pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple' /opt/netbox/upgrade.sh

# 替换PIP为清华源,若不需要可忽略。

sudo PYTHON=/usr/bin/python3.12 ./upgrade.sh

# 执行升级

sudo systemctl restart netbox netbox-rq

# 重启进程

sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping

# 如果是从3.0 升级到4.0,需要此操作,若不是则不需要。

参考官方文档

https://netboxlabs.com/docs/netbox/en/stable/installation/upgrading/

技术交流群

发送邮件到 ➡️ me@songxwn.com

或者关注WX公众号:网工格物

微信扫码

博客(最先更新)

https://songxwn.com/


NetBox 源码部署-升级指南
https://songxwn.com/NetBox-Upgrade-Guide/
作者
Song
发布于
2024年12月4日
更新于
2024年12月4日
许可协议