迁移后Redis数据一致性校验
迁移完成后,您可以对Redis数据做一致性校验。
使用须知
- Redis迁移已完成或者已经进入增量状态。
- 需要ECS实例部署Redis-Full-Check开源工具,并确保与源端、目标端网络互通。
- 如果迁移任务处于增量状态,由于迁移源端和目标端间存在网络时延,无法确保校验时数据一致,如有条件,建议停止对源端的写入后再做校验。
- 业务使用Redis时往往存在给key设置过期时间,迁移时key过期行为会影响数据一致性,如果检验结果不一致,可能是由于key过期时间不一致导致。
- 云厂商DTS在迁移过程中会往目标端Redis写入临时探活key,校验时可能发现非业务数据,属于正常现象。
操作步骤
- 登录ECS实例,确保能连上源端和目标端Redis。
- 部署redis-full-check工具。
- 执行以下命令进行数据校验。
/redis-full-check -s {源端IP}:{源端端口} -p {源端密码} -t {目标端IP}:{目标端端口} -a {目标端密码} -m 1
表1 参数说明 参数
参数
参数示例
-s
源端Redis连接地址和端口。
-s 10.0.0.1:6379
-p
源端Redis密码。
-
-t
目标端Redis连接地址和端口。
-t 10.0.0.2:6379
-a
目标端Redis密码。
-
-m
校验模式:
- 全量校验所有键值对。
- 仅校验值的长度。
- 仅校验key完整性。
- 全量校验所有键值,但只校验大key的长度。
默认为模式2。
-m 1
-q
最大qps限制,默认15000。
-q 5000
-d
校验结果保存的文件名称,默认result.db。
-d result.db
- 查看校验结果文件。
校验默认执行三轮,输出三个校验结果文件,一般只需要看最后一个校验结果文件。