风险注意:
- 升级是停机升级,请提前通知相关人员,选择用户量较少的时候升级
- 升级过程中自动备份无人监控可能会失败,为了备份数据正确性和完整性,建议再手动备份下数据库数据,防止意外情况发生,数据丢失造成严重后果
- 升级前要确保磁盘空间充足(至少100G),防止升级过程中磁盘不足,造成升级失败
- 升级过程中,发生意外情况,第一时间联系客服
- 升级过程中,不仅是停止服务器的使用,也要确认考勤机也无人使用
- 对于云服务器使用的用户,如无法停止服务使用,升级中有新数据产生,可能影响备份回滚
1.部署前环境检查
- 1.以root用户ssh登录部署目标服务器,检查服务器可用磁盘大小。
- 2.执行以下命令:
查看数据库已用大小df -h
du -sh /opt/homology/mysql3306
- 3.确定是否可升级一般要预留数据库备份磁盘
- 2.部署前数据备份
- 1.执行以下命令:
docker exec -ti mdmysql /bin/sh -c 'mysqldump -uroot -pxxx --databases homology > homology.sql'
docker cp mdmysql:/homology.sql ./
- 2.查看sql文件大小,确定备份成功
ls -lh
- 1.执行以下命令:
- 3.一键升级
- 1.以root用户ssh登录部署目标服务器,下载程序包并解压到/opt/download目录。
- 2.执行以下命令:
cd /opt/download && tar -xvf upgrade-homology*.tar.gz -C /opt/download/
- 3.进入目录,并执行升级脚本
cd upgrade-homology && ./upgrade.sh
- 4.等待脚本执行结束,期间不可强制中断,防止数据库操作有误,并且脚本不可重复多次执行。
- 4.升级失败回滚(运维回滚)
- 1.停止mdone-service服务
docker stop mdone-service
- 2.删除homology数据库并查看
docker exec -ti mdmysql /bin/sh -c 'mysql -uroot -pxxx -se "drop database homology;"'
docker exec -ti mdmysql /bin/sh -c 'mysql -uroot -pxxx -se "show databases;"'
- 3.创建新的数据库并设置编码格式
docker exec -ti mdmysql /bin/sh -c 'mysql -uroot -pxxx -se "CREATE DATABASE IF NOT EXISTS homology DEFAULT charset utf8;"'
- 4.导入原备份数据
docker exec -ti mdmysql /bin/sh -c 'mysql -uroot -pxxx homology < homology.sql'
- 5.查看表结构确认导入无误
docker exec -ti mdmysql /bin/sh -c 'mysql -uroot -pxxx -se "use homology;show tables;"'
- 6.删除老版本代码以及镜像包代码
docker rm -f mdtyqd
docker rm -f mdone-service
docker rmi mdone-service:latest
docker rmi mdtyqd:latest
- 7.进入备份目录,导入老版本代码包
cd /opt/backup/xxxx/
docker load < mdtyqd.tar.gz
docker load < mdone-service.tar.gz
- 6.重新启动服务
cd /opt/homology/ && docker-compose up -d
- 7.登录控制台,确定原有业务正常运行
- 1.停止mdone-service服务
文档更新时间: 2023-03-23 11:25 作者:admin