一、背景
因为oms的4.2.13版本增加了可以过滤同步字段的功能,这是我们比较需要的,所以需要对oms进行升级,升级方法可以参考官方文档
二、升级
1.下载并加载镜像
bash
# 下载安装包
wget https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oms/4.2.13_CE/oms_4.2.13-ce-el8-x86.tar.gz
# 切到root
sudo -i
# 加载安装包
docker load -i oms_4.2.13-ce.tar.gz
# 获取镜像的[IMAGE ID] 或 [REPOSITORY:TAG]
docker images
2.获取热升级脚本
bash
sudo docker run -d --net host --name oms-config-tool ${OMS_IMAGE} bash \
&& sudo docker cp oms-config-tool:/root/docker_dump_file_from_image.sh . \
&& sudo docker cp oms-config-tool:/root/docker_copy_dumpfile_to_container.sh . \
&& sudo docker cp oms-config-tool:/root/docker_copy_dumpfile_rollback.sh . \
&& sudo docker rm -f oms-config-tool
3.备份数据库元数据
bash
mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false rm_4211 > /home/admin/rm_4211.sql
mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false cm_4211 > /home/admin/cm_4211.sql
mysqldump -hxxx.xxx.xxx.1 -P<port> -u<username> -p<password> --triggers=false cm_hb_4211 > /home/admin/cm_hb_4211.sql
4.备份镜像文件到宿主机目录
bash
sh docker_dump_file_from_image.sh ${OMS_IMAGE}
/bin/bash docker_dump_file_from_image.sh 522e68dfd70a
5.进入社区容器,暂停管控服务
bash
docker exec -it d0b6c0a04306 bash
supervisorctl stop nginx oms_console oms_drc_cm oms_drc_supervisor sshd
6.复制新镜像文件到 OMS 社区版容器
bash
# 退出容器后操作
/bin/bash docker_copy_dumpfile_to_container.sh d0b6c0a04306
7.执行热升级脚本
bash
sudo docker exec -it d0b6c0a04306 /root/docker_hot_update_init.sh