云服务器内容迁移 总结

本文讲述了作者在腾讯云服务器续费后,遇到的SSH免密登录问题,涉及公钥配置、宝塔面板迁移及docker部署的挑战,最终总结了使用docker进行应用部署的重要性。

腾讯云服务器三年之期到期了,只能另外换账号重新买一个云服务器,这就导致这次的服务器迁移总结。

免密码登录

在给 github 设置了ssh后,以及在本地服务器成功的设置免密码登录后,在新服务器上也设置免密码登录也是正常的事情了。

直接将公钥放在腾讯云的管理界面后,在重置板块后,就可以将公钥绑定到服务器上,但是。登录的时候,碰上了这个错误:

Permission denied (publickey).

在网上找了很多文章,都是没啥用的,最后,大概是使用下面的文件

vim /etc/ssh/sshd_config

放开腾讯云服务器因为安全相关,默认情况下会禁止某些选项

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

但是,还是不行,最后,不小心用

ssh ubuntu@ip 

的方式可以登录后,才意识到,.ssh 目录好像是在 /home/ubuntu 目录下的。。。

迁移宝塔(bt.cn)面板

话说,如果不是因为宝塔面板,最新的版本,需要注册后才能使用,我TMD的鄙视它,强烈鄙视它。

当然,目前因为很多设置都是通过宝塔做设置的,又不能不用,只能另外想办法了。
一开始找了一下docker版本,但是,目前网上看到的版本是5.x版本,软件安装无法使用。所以,很无奈,然后网上找了一些破解方法,感觉也没啥用。

最后,则用自己的旧版本(不用注册也能使用的版本)。

替换的方法:

1. 先正常安装宝塔
2. 用旧版本的 /www/server 和 /www/wwwroot 的文件进行替换
3. 进入宝塔,发现首页还是有注册,在浏览器栏,用 /site or /soft 进入对应的子页面后,注册窗口就没了
4. 进入应用面板,重新安装 nginx php 等基础应用就基本 ok 了。

最后总结,未来部署在服务器上的应用还是要尽量要转移成为docker的方式进行部署

<think> 我们正在讨论Redis迁移,根据引用内容,用户希望了解服务器上Redis迁移的方法和注意事项。结合引用内容,我们可以总结出几种迁移方案,并详细说明步骤和注意事项。 引用[1]提到迁移方案对比:RDB/AOF文件迁移、主从复制、在线迁移工具、服务商工具。 引用[2]详细介绍了RedisShake工具,支持Sync模式和Scan模式。 引用[3]强调数据迁移中的安全性。 引用[4]补充了RedisShake工具的一些配置细节(如ksn配置)和注意事项。 因此,回答将围绕以下核心展开: 1. 迁移方案选择(根据场景) 2. 详细步骤(以RedisShake为重点,同时覆盖其他方法) 3. 注意事项(版本兼容、数据一致性、性能影响等) 4. 验证方法 另外,用户上一次的问题是关于MySQL迁移,所以我们可以适当对比MySQL迁移与Redis迁移的异同,但重点在Redis。 结构安排: - 迁移方案比较表(清晰展示各方法优缺点) - 分步骤详细说明(重点演示RedisShake) - 注意事项(突出常见坑) - 迁移后验证 - 生成相关问题(延续之前的风格) </think> ### 🚀 Redis 服务器迁移完整指南 根据引用内容,Redis 迁移需根据**数据量、停机窗口和网络环境**选择方案。以下是核心方法与注意事项: --- ### 📊 一、迁移方案对比 | **方法** | **适用场景** | **优点** | **缺点** | |--------------------|-----------------------------|----------------------------|----------------------------| | **RDB/AOF文件迁移** | 允许停机、数据量大 | 简单直接,兼容性强[^1] | 需要停机(数据量越大停机越长) | | **主从复制** | 最小停机时间、实时迁移 | 近乎零停机,实时同步[^1] | 需版本兼容,配置复杂 | | **RedisShake工具** | 跨版本/跨网络、增量迁移 | 支持增量同步,灵活高效[^2][^4] | 占用源端CPU资源 | | **服务商工具** | 迁移Redis(如AWS/Aliyun) | 自动化处理,兼容性优化 | 依赖平台功能 | --- ### 🔧 二、详细迁移步骤 #### **1. RDB/AOF文件迁移**(适合停机维护) ```bash # 源服务器操作 redis-cli SAVE # 生成RDB快照(阻塞入) scp /var/lib/redis/dump.rdb user@new_server:/data/redis/ # 目标服务器操作 systemctl stop redis-server cp dump.rdb /var/lib/redis/ # 覆盖数据文件 systemctl start redis-server ``` > **注意**: > - 使用`BGSAVE`替代`SAVE`可避免阻塞(但需确保RDB生成完毕) > - AOF文件需关闭`appendonly yes`后重启生效[^1] #### **2. RedisShake工具迁移**(推荐增量迁移) ```bash # 下载工具(以Linux为例) wget https://github.com/alibaba/RedisShake/releases/download/v3.0.0/redis-shake-linux-amd64.tar.gz # 配置迁移参数(sync模式增量迁移)[^2][^4] cat > redis-shake.conf << EOF source: address: "源服务器IP:6379" password: "源密码" target: address: "目标服务器IP:6379" password: "目标密码" advanced: ksn: true # 开启Keyspace通知捕获增量数据[^4] EOF # 执行迁移 ./redis-shake -conf=redis-shake.conf -type=sync ``` > **模式说明**: > - `sync`:全量+增量迁移(模拟从节点同步) > - `scan`:遍历键迁移(适合小数据量) #### **3. 主从复制迁移**(近乎零停机) ```sql -- 目标服务器执行(成为源服务器的从节点) redis-cli -h 目标服务器IP REPLICAOF 源服务器IP 6379 -- 数据同步完成后,解除主从关系 redis-cli -h 目标服务器IP REPLICAOF NO ONE ``` --- ### ️ 三、关键注意事项 1. **版本兼容性** - 确保源和目标Redis版本一致(尤其跨大版本时)[^2] - 服务Redis可能使用定制版,需提前验证兼容性[^1] 2. **数据一致性保障** - 使用`redis-check-rdb`验证RDB文件完整性 - 迁移后执行`KEYS *`抽样比对或`INFO keyspace`统计键数量 3. **性能与安全** - **网络带宽**:千兆网络迁移1GB数据约需10秒,提前测算时间 - **增量迁移**:RedisShake的`ksn=true`可减少增量遗漏[^4] - **敏感数据**:传输过程启用SSL(RedisShake支持`tls=true`) 4. **特殊数据结构处理** - 列表/哈希等批量数据迁移时,优先用`SCAN`替代`KEYS`避免阻塞[^3] - 事务相关键需整体迁移,防止部分操作丢失 --- ### ✅ 四、迁移后验证清单 1. **基础验证** ```bash redis-cli -h 新服务器IP DBSIZE # 比对键总数 redis-cli -h 新服务器IP GET "关键业务键" # 抽样检查值 ``` 2. **服务切换测试** ```bash # 模拟客户端连接 redis-benchmark -h 新服务器IP -p 6379 -t set,get -n 10000 ``` 3. **日志检查** ```bash tail -f /var/log/redis/redis-server.log | grep -i "error|fail" ``` --- ### 五、常见问题解决 | **故障现象** | **解决方案** | |--------------------------|-----------------------------------------| | `MOVED`错误 | 检查集群配置,确保所有节点迁移完成 | | `ERR DUMP payload version` | 版本不兼容,升级目标Redis或降级源版本[^2] | | 增量数据丢失 | 启用`ksn=true`并减少迁移延迟[^4] | | 迁移超时 | 调大`timeout`参数,优化网络带宽 | --- ### 📚 相关问题延伸 1. Redis集群模式(Cluster)迁移与单实例有何不同? 2. 如何验证Redis迁移后的数据一致性? 3. RedisShake工具在迁移大Key(如10MB以上)时如何优化性能? 4. 服务商(如AWS ElastiCache)的迁移工具与自建方案对比? 5. Redis迁移过程中如何监控资源占用(CPU/内存/网络)? > **案例参考**:某游戏平台迁移500GB Redis集群,采用 **RedisShake增量同步+主从切换** 方案,业务中断仅3秒。核心操作: > ```bash > # 全量同步(低峰期启动) > ./redis-shake -conf=shake.conf -type=sync > > # 业务切换前追加增量 > ./redis-shake -conf=shake.conf -type=scan \ > -source.client.dbs=[0-15] -target.client.dbs=[0-15] > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值