
# 使用Redis-Shake工具将RDB文件/AOF文件 导入到GeminiDB Redis
 #### RDB导入GeminiDB Redis
1. 部署迁移工具。 
   1. 获取工具[Redis-Shake](https://github.com/alibaba/RedisShake/releases/download/release-v2.1.0-20210819/release-v2.1.0-20210819.tar.gz)。
      ![](https://support.huaweicloud.com/redisug-nosql/public_sys-resources/note_3.0-zh-cn.png)
      Redis-Shake工具可下载release版本，解压缩后即可使用。
      
   
   2. 修改配置文件"Redis-Shake.conf"，修改时需要注意以下配置项。 **log.level = info** # 默认日志级别，info级别可以打印出相应的迁移进度，可以用来判断迁移是否结束。
      **source.rdb.input = /xx/xx.rdb** # 数据源RDB文件绝对路径。
      **target.address = \<host\>:6379** # 目标端地址。
      **target.password_raw = \*\*\*\*\***# 目标端口令。
      **target.version = 5.0**# 目标端redis版本。
      **target.type = standalone** # 目标端类型。
      **target.db = -1** # 将所有数据迁移到目标端GeminiDB Redis的指定数据库上，若设置为-1，则迁移后的数据库和源实例的DB保持相同的映射关系。
      **target.dbmap =** # 配置db迁移映射关系，使用时target.db要为-1，例如 0-5;1-3 表示源端 db0 的数据会被写入目的端 db5, 源端 db1 的数据会被写入目的端 db3
      **big_key_threshold =**52428800 # 设置大key阈值，若key对应的value字节超过给定的阈值，会分批依次写入。
      **resume_from_break_point = false** # 关闭断点续传，该功能无法使用
      
   
   3. 按需选配是否覆盖目标端数据。 **key_exists = none**
      ![](https://support.huaweicloud.com/redisug-nosql/public_sys-resources/note_3.0-zh-cn.png)
      当源端和目的端有重复key时需要选配是否覆盖目标端数据，可配置的值为：
      - rewrite：源端覆盖目的端。
      
      - none：一旦发生进程直接退出。
      
      - ignore：保留目的端key，忽略源端的同步key。该值在rump模式下不会生效。
      
      
      由于本次迁移源端是RDB文件，因此预期无重复数据，建议选择none。如迁移过程异常退出，您可以在管理控制台右上角，选择"[工单 \> 新建工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)"，请联系客服处理。
      
   
   
   
   
2. 进行数据迁移。 
   启动迁移命令：
   **./redis-shake.linux -conf=redis-shake.conf -type=restore**
   ![](https://support.huaweicloud.com/redisug-nosql/public_sys-resources/note_3.0-zh-cn.png)
   由于数据源为RDB文件，因此使用restore模式。
   迁移结束后停止进程。
   
   
3. 数据校验。 
   由于数据源为RDB文件，因此需要用户从业务角度对目标端GeminiDB Redis数据进行检查。
   
   
 
#### AOF导入GeminiDB Redis
1. 用户上传数据源AOF文件到ECS上。
2. 在ECS上启动开源Redis对应版本的单机进程，加载AOF并等待启动完成。开源Redis的启动目录需为AOF文件所在的目录。
3. 通过SAVE命令生成数据快照，等待RDB文件生成完毕。RDB文件在Redis的启动目录下。
4. 停止开源Redis对应版本的单机进程。
5. 按照[RDB导入GeminiDB Redis]进行迁移。
注：使用redis-shake v2迁移过程中，常见问题及解决方法请参考[redis‐shake 2.x 常见问题](https://github.com/tair-opensource/RedisShake/wiki/redis‐shake-2.x-常见问题)。
