使用RedisShake工具迁移自建Redis Cluster集群 set to false if you don't want to sync aof [scanreader] cluster false set to true if source is a redis cluster address "ip:port" when cluster is true, set address to one of the cluster node username "" keep empty if not using ACL password "" keep empty if no authentication is required ksn false set to true to enabled Redis keyspace notifications (KSN) subscription tls false dbs [] set you want to scan dbs such as [1,5,7], if you don't want to scan all [rediswriter] cluster false set to true if target is a redis cluster address "ip:port" when cluster is true, set address to one of the cluster node username "" keep empty if not using ACL password "" keep empty if no authentication is required tls false 5、在线迁移,同步数据。 使用如下命令同步源Redis集群和目标Redis集群数据: ./redisshake shake.toml 执行日志中出现如下信息,代表全量数据同步完成,进入增量同步阶段: syncing aof 执行日志出现如下信息时,代表增量同步无新增内容,可手动停止同步: readcount[0], readops[0.00], writecount[0], writeops[0.00], srcx, syncing aof, diff[0] 6、迁移后验证。 数据同步结束后,可使用Rediscli工具连接DCS 实例,通过dbsize查看key数量,确认数据是否完整导入。 如果数据不完整,可使用flushall或者flushdb命令清理实例中的缓存数据后重新同步。 7、清理RedisShake配置文件。 离线迁移(备份文件导入) 与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景。 1、在DCS控制台创建缓存实例。 注意新创建的Redis实例容量不能小于源端Redis实例的实际使用容量。 2、准备一台云服务器,并安装RedisShake。 RedisShake既能访问源端缓存实例,也能访问目标端DCS 缓存,需要绑定弹性公网IP 3、导出RDB文件。 使用如下命令导出RDB文件: ./rediscli h {redisaddress} p {redisport} a {password} rdb {output.rdb} 执行命令后回显"Transfer finished with success.",表示文件导出成功。 4、将导出的RDB文件(含多个)上传到云服务器上。 5、编辑RedisShake配置文件。 编辑redisshake工具配置文件shake.toml,补充迁移双方信息,及迁移模式。 [rdbreader] filepath "/tmp/dump.rdb" [rediswriter] cluster false