1. 迁移注意事项
请确保提供的YDMP4X环境数据干净,且未导入license证书,否则有可能出现数据迁移异常。
YDMP4X使用全新的api接口,如果您在YDMP3X有使用api,迁移后将无法兼容,不建议迁移。
2. 环境准备
准备一台符合YDMP4X部署要求的服务器,并在上面部署YDMP4X服务,单租户/多租户均可。
在3X环境上,每个管理节点都放开对4X服务器的端口限制(27017、9091、9092)。
说明
当前文档中出现的环境信息对应平台如下:
3X: 10.122.130.50
4X: 10.122.131.68
3. 迁移准备
3.1 停止3X业务服务
执行环境: 3X服务器
执行内容:
在每个节点,执行脚本命令sh ./ydmp3x_service_ctl.sh stop_retain停止业务服务(脚本见附录6.1 ydmp3x_service_ctl.sh)。
3.2 端口连通性检测
执行环境: 4X服务器
执行内容:
检查3X端口连通性,可使用telnet命令,参考如下:
# 校验27017端口连通性,多个管理节点的情况下,需要每个节点都验证
telnet 10.122.130.50 27017
# 校验9091端口连通性,多个管理节点的情况下,需要每个节点都验证
telnet 10.122.130.50 9091
# 校验9092端口连通性,多个管理节点的情况下,需要每个节点都验证
telnet 10.122.130.50 9092
4. 执行迁移
4.1 开始迁移
执行环境: 4X服务器
执行内容:
修改配置文件,在/opt/apollo/data/globals.conf配置文件的[global]下添加以下配置。
# 指向3X的MongoDB地址,多管理节点的情况下,使用英文`,`分割,例如:127.0.0.1:27017,127.0.0.2:27017,127.0.0.3:27017
yiot_data_migrator_db_dbc_uris=10.122.130.50:27017 # 需要替换为3X的实际地址
进入到部署目录(一般为/home/apollo_ydmp_deploy/)。
执行单模块升级命令开始迁移(yiot-data-migrator就是迁移程序)。
bash scripts/install.sh deploy -m yiot-data-migrator -e yiot_data_migrator_enabled=true
等待迁移执行完成。
迁移完成后,部署脚步会自动退出。
通过查看迁移日志,确认迁移是否成功(一般为/opt/apollo/log/web/yiot-data-migrator/yiot-data-migrator.log)。
迁移成功,出现关键字[MIGRATE][STATUS] enterpriseId: 974707831e104212ac2ce8d267650467, status: COMPLETED
迁移失败,出现关键字:[MIGRATE][FAIL] enterpriseId:974707831e104212ac2ce8d267650467
确认迁移成功后,使用3X的用户名、密码登录4X环境,查看数据是否能正常显示。
4.2 恢复3X环境
执行环境: 3X环境
执行内容:
在每个节点,执行脚本命令sh ./ydmp3x_service_ctl.sh start_all启动所有服务,恢复3X环境(脚本见附录6.1 ydmp3x_service_ctl.sh)。
5. 迁移后置操作
5.1 4X服务配置
执行环境: 4X环境
执行内容:
导入4X许可证书,路径:YDMP系统端 > 系统设置 > 许可&订单。
修改邮箱密码,路径:YDMP系统端 > 运维管理 > 系统管理 > SMTP邮箱。
配置域名等网络相关配置,路径:YDMP系统端 > 系统设置 > 网络管理。
导入安全证书(受信任证书、HTTPS证书、服务器证书),路径:YDMP系统端 > 系统设置 > 安全证书管理。
其他配置(按需配置)。
5.2 设备上报到4X环境
5.2.1 硬件设备上报
执行环境: 3X环境
执行内容:
选择一个在线设备,向其推送4X服务器地址。
# M7语句参考
dm.server.address=test.ydmp4x.com
dm.server.port=9448
确认话机是否切换到4X环境。
5.2.2 YUC上报
执行环境: 4X环境 + 有安装YUC的电脑
执行内容:
在企业管理平台-设备管理-USB设备处,选择右上角的批量部署,生成一个YUC安装包。
将其推送到客户Windows上进行解压,并执行解压后文件中的yuc_deploy_install.cmd脚本。
确认4X环境上,对应的USB设备是否有上报。
5.2.3 YRC上报
执行环境: 安装YRC的电脑
执行内容:
进入%public%\Yealink_TeamsApps\APP_DATABASE目录。
修改UserData.ini配置文件中的环境配置为4X平台信息(完整示例见附录6.2 YRC配置完整示例)。
配置项名3X值示例4X值示例说明DisplayPort9090443端口号,3X默认9090端口,4X使用调度https端口(默认443)HostAddress10.122.130.4610.122.131.68平台服务器地址HostPort90908445DM长链接地址,3X默认9090,4X默认8445EnterpriseId-9db2afd6企业ID,3X置空,4X填写对应的企业ID4X企业ID获取:企业管理平台 > 系统管理 > 企业信息 > 企业IDRoomName3x4x会议室名称AutoConnect11是否自动连接平台服务器
重启YRC服务。
确认4X环境上,对应的YRC设备是否有上报。
6. 附录
6.1 ydmp3x_service_ctl.sh
脚本获取: 点击下载
支持命令:
命令
说明
sh ydmp3x_service_ctl.sh stop_biz
停止业务服务,一般用于迁移前停止服务
sh ydmp3x_service_ctl.sh start_biz
启动业务服务,一般用于迁移后恢复服务
sh ydmp3x_service_ctl.sh stop_all
停止所有服务
sh ydmp3x_service_ctl.sh start_all
启动所有服务
FAQ:
执行的时候出现Permission denied异常。
脚本没有可执行权限,需要先执行chmod +x ydmp3x_service_ctl.sh授予脚本可执行权限。
6.2 YRC配置完整示例
# 3X配置项
[ Language ]
strWebLanguage = Chinese_S
[ DmConfig ]
DisplayPort = 9090
IsYiotYdmp = 0
LoginType = 1
HostAddress = 10.122.130.46
HostPort = 9090
EnterpriseId =
RoomName = 3x
RoomType = 1
SourceType = 1
AutoConnect = 1
PredeploymentConnectEnable = 1
[ Update ]
CheckTime = 75
# 4X配置项
[ Language ]
strWebLanguage = Chinese_S
[ DmConfig ]
DisplayPort = 443
IsYiotYdmp = 0
LoginType = 1
HostAddress = 10.122.131.68
HostPort = 8445
EnterpriseId = 9db2afd6
RoomName = 4x
RoomType = 1
SourceType = 1
AutoConnect = 1
PredeploymentConnectEnable = 1
[ Update ]
CheckTime = 75