jumpserver部署恢复
别名:跳板机、堡垒机 (登录你们企业的服务器的)
jumpserver部署恢复
jumpserver官网:JumpServer 文档
用与数据恢复和版本容灾,对企业jumpserver堡垒机做高可用方案
一、前提
企业现用jumpserver有数据备份,即mysql数据库的数据备份,依据该备份文件进行堡垒机的数据恢复
二、流程
1.本机恢复jumpserver数据:
使用jumpserver自带恢复功能即可
##进入安装目录 cd /opt/jumpserver-installer-v2.28.6/ ##查看管理脚本 ./jmsctl.sh -h
##数据备份 ./jmsct.sh backup_db ##数据恢复 ./jmsctl.sh restore_db 备份文件路径
备份
恢复
2.异地恢复jumpserver堡垒机数据
首先记录老版本的认证文件和数据备份信息,然后再操作恢复
1、前提操作 #记录老版本的 SECRET_KEY 和 BOOTSTRAP_TOKEN,否则会无法连接和读取数据。安全认证 cat /opt/jumpserver/config/config.txt | egrep "SECRET_KEY|BOOTSTRAP_TOKEN"
2.搞定数据文件 #备份老版本数据 cd /opt/jumpserver-installer-v2.18.0/ ./jmsctl.sh backup_db #修改备份sql的字符集,最好操作以防导入数据时报错!(jumpserver.sql 为上一步操作备份下来的数据) if grep -q 'COLLATE=utf8_bin' /opt/jumpserver.sql; then cp /opt/jumpserver.sql /opt/jumpserver_bak.sql sed -i 's@ COLLATE=utf8_bin@@g' /opt/jumpserver.sql sed -i 's@ COLLATE utf8_bin@@g' /opt/jumpserver.sql else echo "备份数据库字符集正确"; fi
3.配置新的jumpserver机器 cd /opt yum -y install wget wget https://github.com/jumpserver/installer/releases/download/v2.18.0/jumpserver-installer-v2.18.0.tar.gz #官网找就行 tar -xf jumpserver-installer-v2.18.0.tar.gz cd jumpserver-installer-v2.18.0 #修改配置文件 vim config-example.txt ######主要修改内容,在第一步已经记录的两个数据################################ SECRET_KEY= # 从老版本的配置文件获取后填入 BOOTSTRAP_TOKEN= # 从老版本的配置文件获取后填入 ######其他内容根据需要修改####################################################
#开始部署 ./jmsctl.sh install #启动 ./jmsctl.sh start #################正常启动反馈###################### Creating network "jms_net" with driver "bridge" Creating jms_mysql ... done Creating jms_redis ... done Creating jms_core ... done Creating jms_celery ... done Creating jms_koko ... done Creating jms_web ... done #停止 ./jmsctl.sh stop #启动后已经初始化数据库,需要停止之后进行数据库操作# docker exec -it jms_mysql /bin/bash #进入数据库组件 mysql -uroot -p$MYSQL_ROOT_PASSWORD #登录mysql,密码可以在/opt/jumpserver/config/config.txt中查看 #执行删库重建操作 drop database jumpserver; create database jumpserver default charset 'utf8'; exit exit #恢复数据,jumpserver.sql是前面备份并修改字符集的文件 ./jmsctl.sh restore_db /opt/jumpserver.sql #重启服务 ./jmsctl.sh restart ##如果出现如下启动异常## Creating network "jms_net" with driver "bridge" Creating jms_mysql ... done Creating jms_redis ... done Creating jms_core ... done ERROR: for celery Container "76b2e315f69d" is unhealthy. ERROR: for lion Container "76b2e315f69d" is unhealthy. ERROR: for koko Container "76b2e315f69d" is unhealthy. ERROR: for web Container "76b2e315f69d" is unhealthy. ERROR: Encountered errors while bringing up the project. ###执行命令 docker logs -f jms_core --tail 200 #查看core组件表结构合并情况,确定显示的信息都是 ok 的没有报错, 提示 Check service status 后就可以重新启动其他组件。字符集修改和删库重建后基本不会有问题,大版本的跨越也可以。 ./jmsctl.sh start #启动 #######初次启动后由于同步信息过多,服务器性能会突增,需要注意实例配置避免异常而影响操作,推荐配置>4c8g########