1.
迁移前的总体规划与评估
- 确认业务窗口:选择业务低峰期并准备回滚窗口。
- 资产清单:列出域名、ECS实例、应用版本、数据库、证书、SLB、OSS、对象存储和依赖外部服务。
- 法规与备案:国内需要ICP备案,确认是否已备案或准备备案材料,评估跨境数据合规性。
2.
准备国内目标环境
- 购买ECS/数据库/SLB:在阿里云中国(如广州、深圳、华东)创建相同规格或更高的资源。
- 网络与安全组:配置VPC、子网、安全组、端口开放(如80/443/3306),设置对等或专线如必要。
- SSL证书与密钥:提前在国内申请或导入现有证书。
3.
备份并验证源端数据
- 文件备份:使用tar或rsync本地快照:tar -czf /backup/site_$(date +%F).tar.gz /var/www/html。
- 数据库冷备份:mysqldump -A --single-transaction --master-data=2 > alldb.sql。校验大小和校验和sha256sum。
- 快照:对ECS/云盘做快照,便于回滚。
4.
选择数据同步方案(文件层)
- rsync增量:rsync -azP --delete --exclude='cache/' root@hk-ip:/var/www/html/ /var/www/html/。首次全量,之后做增量。
- OSS作为中转:将文件同步到阿里云OSS(ossutil cp),国内再从OSS拉取,适合大文件或跨区域加速。
5.
选择数据同步方案(数据库)
- 推荐DTS(Data Transmission Service):阿里云DTS做同城/跨地域连续增量同步,支持MySQL、Redis等,无需手动binlog解析。
- 手动方案:初始mysqldump全量导出并导入,开启binlog并用mysqlbinlog或设置主从复制捕获增量。
6.
实际操作步骤:数据库DTS同步
- 在阿里云控制台创建DTS任务:选择源为香港RDS或自建MySQL(填写公网或内网连接信息),目标为国内RDS或本地实例。
- 选择“全量+增量”同步,测试连接并启动,观察同步状态直到增量延迟稳定在秒级以内。
7.
实际操作步骤:文件增量同步与一致性验证
- 第一次同步(全量):在低峰执行rsync或oss上传,确认文件权限与owner一致。
- 持续增量:设置crontab每5分钟执行rsync增量,或使用inotify结合rsync实时触发。
- 一致性校验:对比文件数量和校验和find /var/www/html | xargs sha256sum > hk.sum 与国内相同输出比较。
8.
DNS切换前准备(降低TTL与预热)
- 降低TTL:提前48小时把域名TTL改为60-120秒,等待TTL生效(通常TTL周期时间)。
- 预热服务:在国内环境启用健康检查,使用hosts文件或局域流量验证新机能否承载。
- 会话与缓存:考虑会话共享(Redis/Memcached跨地域或使用数据库会话),避免切换丢失登录态。
9.
最终切换步骤(零停机或最小停机)
- 步骤1(暂停写):在源站短暂停写或把应用切换到只读模式(数分钟窗口)。
- 步骤2(最后增量同步):执行最后一次rsync并确保DTS的binlog已全部同步并应用到目标。
- 步骤3(切换DNS):在国内DNS服务(阿里云DNS或第三方)将A记录指向国内IP,或更新SLB后端;因为TTL低,通常60-120秒后生效。
- 步骤4(验证):访问网站、API检查完整性、数据库写入、缓存、第三方回调是否正常。
10.
回滚策略与注意点
- 快速回滚:保留源站未删除的A记录与快照;若新站异常,把DNS指向回源IP并恢复写入。
- 日志与监控:开启CloudMonitor报警,记录切换前后流量与错误率;保留应用与DB日志用于排查。
11.
特殊问题与优化建议
- 跨境性能差:CDN+WAF前置国内节点,减少直接跨海请求。
- 证书与第三方回调:确保回调域名、白名单IP被更新到国内IP或使用统一域名。
- 法律合规:敏感数据落地国内需符合国内隐私与存储要求。
12.
切换后清理与长期维护
- 数据同步停用:确认稳定后关闭DTS或rsync定时任务,保留快照至少7天。
- 备案与DNS长期设置:完成ICP备案后把TTL恢复为合理值(如600秒或更高)。
- 文档化:记录迁移步骤、遇到的问题和联系方式,便于下一次迁移或审计。
13.
问:将阿里云香港服务器迁到国内,如何保证DNS切换不丢失数据?
答:在切换前把数据库用DTS或binlog做到增量同步并持续运行,切换时先把应用设为只读,执行最后一次文件增量同步并确认binlog已应用,随后更新DNS;若TTL已降到60秒,几分钟内完成切换并在确认写入正常后解除只读。
14.
问:使用rsync和DTS哪个更合适?
答:文件同步推荐rsync或OSS方案,简单可靠;数据库推荐DTS(阿里云托管服务)做全量+增量,省去手工处理binlog和主从配置,适合线上业务零停机迁移。
15.
问:DNS切换后常见的故障与排查要点有哪些?
答:常见问题包括:DNS未及时生效(检查TTL与解析记录)、新站防火墙/安全组未放行、证书域名不匹配、第三方回调IP未更新或回调白名单未修改。排查顺序:1) 本地解析(nslookup/ dig)确认A记录;2) 访问日志与错误日志;3) 数据库写入是否正常;4) 云监控报警与后端健康检查结果。
来源:阿里云香港服务器转国内时数据同步与DNS切换最佳实践