传统运维 - redis迁移
2021-08-26
配置文件如下:
source.type: 源redis的类型,支持以下4种类型:
standalone: 单db节点/主从版模式。如果源端是从多个db节点拉取就选择这个模式,即便是codis等开源的proxy-db架构。
sentinel: sentinel模式。
cluster: 集群模式。开源的cluster。对于阿里云来说,用户目前无法拉取db的地址,所以此处只能是proxy。
proxy: proxy模式。如果是阿里云redis的集群版,从proxy拉取/写入请选择proxy,从db拉取请选择cluster。正常cluster到cluster同步源端请选择cluster模式,proxy模式目前只用于rump。
source.password_raw:源redis的密码。
target.type: 目的redis的类型,与source.type一致。注意,目的端如果是阿里云的集群版,类型请填写proxy,填写cluster只会同步db0。
target.address:目的redis的地址。从1.6版本开始我们支持集群版,不同的类型对应不同的地址。 standalone模式,参见source.address。
sentinel模式,需要填写sentinel_master_name@sentinel_cluster_address。sentinel_master_name表示sentinel配置下master的名字,sentinel_cluster_address表示sentinel的单节点或者集群>地址,其中集群地址以分号(;)分割。例如:mymaster@127.0.0.1:26379;127.0.0.1:26380
cluster模式,参见source.address。
proxy模式下,填写proxy的地址,如果是多个proxy,则round-robin循环负载均衡连接,保证一个源端db连接只会对应一个proxy。如果是阿里云的集群版请选择这种模式。
target.password_raw:目的redis的密码。
类型可以是以下之一:
- decode:将转储的有效载荷解码为人类可读的格式(十六进制编码)。
- restore:将 RDB 文件恢复到目标 redis。
- dump : 从源 redis 转储 RDB 文件。
- sync:通过
sync
或psync
命令将数据从源redis 同步到目标redis 。包括全量同步和增量同步。 - rump : 通过
scan
命令将数据从源redis同步到目标redis 。只支持全同步。此外,当scan
源端不支持命令时,RedisShake 还支持从输入文件中的给定键中获取数据。这种模式通常在不支持sync
和psync
redis 命令时使用
启动命令
./redis-shake.linux -type=sync -conf=redis-shake.conf