Loading

2、jumpserver本地重新部署

2、jumpserver本地重新部署

版本: jumpserver-installer-v2.10.0


2.1 参考文档

https://docs.jumpserver.org/zh/master/install/migration/


2.2 当前环境

1 默认:

(1) 镜像存储路径: /var/lib/docker/

(2) volume存储路径: /opt/jumpserver/

存储容器的日志,录像、redis的dump文件等数据。

(3) 配置文件(重要): /opt/jumpserver/config/

存储容器的主配置文件,全局设置配置。

(4) db备份存储路径: /opt/jumpserver/db_backup/

使用./jmsctl.sh backup_db命令备份数据库的存储位置。

(5) 容器启动路径(重要): /opt/jumpserver-installer-v2.10.0/ # v2.10.0表示当前jumpserver的版本号

(6) 使用内置数据库


2 当前

(1) 镜像存储路径: /home/local/jumpserver-docker-storage/

(2) volume存储路径: /home/local/jumpserver-storage/

(6) 使用外置数据库(版本MySQL5.7)


2.3 恢复步骤

1 停止docker容器

# cd /opt/jumpserver-installer-v2.10.0/

# ./jmsctl.sh close

# docker stop jms_redis


2 备份数据库

(1) 方法一

# /opt/jumpserver-installer-v2.10.0/jmsctl.sh backup_db

(2) 方法二

# 从 /opt/jumpserver/config/config.txt 中获取mysql连接信息

# mysqldump -h127.0.0.1 -P3306 -ujumpserver -pjumpserver jumpserver > /opt/jumpserver_20211009.sql

(3)备份排错

1) 因为我使用的是mysql5.7,在使用非root用户进行数据库备份时,会报如下错误:

mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

2) 解决办法:

# 使用root用户登录mysql,然后为jumpserver用户进行如下发赋权

# mysql -uroot -proot

mysql> GRANT PROCESS ON *.* TO 'jumpserver'@'*';

mysql> flush privileges;


3 备份相关数据

# cd /opt/

# cp -a jumpserver/ jumpserver_20211009/

# cp -a jumpserver-installer-v2.10.0/ jumpserver-installer-v2.10.0_20211009/

# mv jumpserver-storage/ jumpserver-storage_20211009/


4 卸载jumpserver

# cd /opt/jumpserver-installer-v2.10.0/

# ./jmsctl.sh uninstall


5 删除旧数据库并创建新的空库

# mysql -uroot -proot

mysql> drop database jumpserver;

mysql> create database jumpserver default charset 'utf8';

mysql> exit;


6 重新安装相同版本的jumpserver

# cd /opt/

# rm -rf jumpserver-installer-v2.10.0/ jumpserver/

# yum -y install wget

# wget https://github.com/jumpserver/installer/releases/download/v2.10.0/jumpserver-installer-v2.10.0.tar.gz

# tar -xzf jumpserver-installer-v2.10.0.tar.gz

# cd jumpserver-installer-v2.10.0/


# vim config-example.txt # 修改下面的SECRET_KEY、BOOTSTRAP_TOKEN配置即可

# 修改下面选项, 其他保持默认

### 数据持久化目录, 安装完成后请勿随意更改, 可以使用其他目录如: /data/jumpserver

VOLUME_DIR=/opt/jumpserver


### 注意: SECRET_KEY 与旧版本不一致, 加密的数据将无法解密


# Core 配置

### 启动后不能再修改,否则密码等等信息无法解密

SECRET_KEY= # 从旧版本的配置文件获取后填入 (*)

BOOTSTRAP_TOKEN= # 从旧版本的配置文件获取后填入 (*)

LOG_LEVEL=ERROR

# SESSION_COOKIE_AGE=86400

SESSION_EXPIRE_AT_BROWSER_CLOSE=true # 关闭浏览器后 session 过期


# 交互参数设置(我这里是在官网上找的默认安装图片,具体操作按照标红的注释进行)


7 启动jumpserver相关容器,启动成功后再移除容器

# cd /opt/jumpserver-installer-v2.10.0/

# ./jmsctl.sh start

# ./jmsctl.sh stop


8 删除数据库

# mysql -uroot -proot

mysql> drop database jumpserver;

mysql> create database jumpserver default charset 'utf8';

mysql> exit


9 还原数据库

(1) 方法一

# cd /opt/jumpserver-installer-v2.10.0/

# ./jmsctl.sh restore_db /opt/jumpserver_20211009.sql

(2) 方法二

# mysql -h127.0.0.1 -P3306 -ujumpserver -pjumpserver jumpserver < /opt/jumpserver_20211009.sql


10 还原数据

# cd /home/local/

# mv jumpserver-storage jumpserver-storage_backup

# mv jumpserver-storage_20211009/ jumpserver-storage/


11 启动jumpserver相关容器

# cd /opt/jumpserver-installer-v2.10.0/

# ./jmsctl.sh restart

# ./jmsctl.sh status






posted @ 2021-10-09 14:43  云起时。  阅读(755)  评论(0编辑  收藏  举报