首先确认目标主机的网络环境与带宽,测试到主要访问地区的延迟与丢包。准备好系统镜像、应用配置与SSL证书、数据库备份。建议在迁移前在源端与目标端都安装常用工具(如rsync、ssh、MySQL客户端),并把CN2线路的带宽峰值和费用纳入评估。
列出需要迁移的目录、数据库和域名解析记录。关闭不必要服务,配置防火墙与白名单,确保迁移期间SSH密钥可用。对重要数据做至少两份备份并验证备份完整性。
推荐采用“备份→传输→同步→切换DNS”的流程。第一步生成全量备份(文件与数据库),第二步通过加密通道将备份传到台湾VPS,第三步使用增量同步工具保持两端一致,最后在低峰期切换DNS并缩短TTL。
具体步骤:1) 导出数据库快照;2) 打包并压缩应用代码与静态资源;3) 首次通过rsync或SCP传输;4) 启用增量同步(如lsyncd或实时MySQL复制);5) 切换应用并观察。
文件层面可用rsync配合SSH进行增量同步,或用lsyncd做近实时同步。数据库可用主从复制(MySQL/MariaDB)或使用逻辑备份与binlog增量恢复。对象存储则建议使用rclone或官方同步工具。
对大文件或大量小文件,调整rsync参数(--compress --partial --bwlimit)和并发连接;对于事务性数据库,优先使用内建复制机制以保证一致性,迁移前锁表或设置短时间只读以避免数据漂移。
采用双写或先读后写策略:在迁移窗口内对写入操作先写入源端并异步复制到目标端,或者在应用层实现短暂双写。使用短TTL的DNS并在切换前完成最后一次增量同步,切换时只需更新DNS和负载均衡即可把停机时间控制在几秒到几分钟。
线上验证包括:完整性校验(文件哈希)、数据库行数与关键业务查询比对、应用功能测试与日志监控。保留源端一段时间的回滚计划,包括保留快照与回滚脚本,DNS回退策略和回滚演练脚本,以便发现问题能迅速恢复到源环境。