【4.9】备份服务器使用S3存储,手动执行dataserver进程报错提示Ret:-122

客户备份服务器使用的S3存储,正常的应用服务器会在当天将视频数据传输到备份服务器再落盘到S3存储,突然应用服务器磁盘监控告警:使用率超过90%

检查应用服务器,发现是没有将最近的视频数据迁移到备份服务器,都留存在本地,查看应用服务器的dataclient日志:err dataclient[14976]:  recv :sessionid respon failed      一直在发送同一个会话,并且一直失败

查看备份服务器日志: info data-server[102521]: recv client connect header :serverIP serverid :serverID  只有应用服务器的连接日志

将备份服务器的dataserver停掉:systemctl stop dataserver,手动执行:/usr/local/app/sbin/dataserver test查看备份服务器的接收服务运行情况(注意:这个时候需要有应用服务器往备份服务器接收数据),看到报错:

ERROR: ErrorUnknown

Extra Details:

Ret: -122

BacketName: 存储桶名

RequestID:  tx00000000000000014-xxxx-xx-xxx-master

HostID: S3服务器ID

尝试从S3拉取传输失败的sessionID文件到/tmp目录下:/usr/local/app/sbin/s3 -u -r 5 -t 180 get 存储桶名/sessionID filename=/tmp/mdata

通过md5sum检验从S3拉取下来的mdata文件的md5值和应用服务器上对应的mdata文件的md5值,是否一致

如果一致,在应用服务器上systemctl stop dataengien停止数据引擎服务,修改/home/auditsys/squepos/compressed文件的值,跳过改会话,systemctl restart dataengien重启数据引擎服务

检查应用服务器修改后的队列数据是否可以正常迁移到备份服务器

确认OK后,恢复备份服务器dataserver:systemctl restart dataserver

PS:

从S3拉取文件命令:/usr/local/app/sbin/s3 -u -r 5 -t 180 get 存储桶名/sessionID filename=/tmp/mdata

上传文件到S3命令:/usr/local/app/sbin/s3 -u -r 5 -t 180 put 存储桶名/sessionID filename=/tmp/mdata noStatus=1

noStatus=1是不打印上传进度