1.
迁移前准备与评估
检查当前环境与目的地机房差异。
确认操作系统版本(如 Ubuntu 20.04/ CentOS7)。
记录源服务器配置:CPU/内存/磁盘/带宽与公网IP。
确认域名解析商与TTL设置可临时降低到60秒。
准备浮动IP或负载均衡器以实现快速切换。
评估数据库大小与增量写入速率用于制定同步窗口。
2.
网络与安全策略设置
在韩国机房开通防火墙与安全组规则(22/80/443等)。
启用DDoS防护或选择带清洗的网络套餐(例如 5Gbps 清洗)。
配置WAF或CDN(推荐同时使用 Cloudflare 或本地 CDN)。
准备 SSH 密钥与禁用密码登录,限制来源IP。
测试 VPS 到源站的链路延迟与丢包率,确保同步稳定。
3.
文件数据同步步骤(无损策略)
首次全量同步:rsync -avz --delete -e "ssh -p22" /var/www/ root@korea:/var/www/。
使用 --bwlimit=2000 限制带宽避免影响生产(单位 kb/s)。
设置定时增量同步:crontab 每5分钟运行 rsync 增量。
对于大文件采用 lsyncd 或 block-level 复制以降低 IO 压力。
最终切换窗口前,再运行一次 rsync --delete 保证文件一致。
4.
数据库无损切换方案
推荐使用 MySQL 主从复制或 GTID 方案实现零停机。
若无法实时复制,采用 mysqldump --single-transaction 导出:mysqldump -u root -p --single-transaction db > dump.sql。
导出后 scp dump.sql 到韩国服务器并执行 mysql db < dump.sql。
若有高并发,建议先建立复制,从库落后 < 1s 再提升为主库实现零切换。
使用 Percona XtraBackup 做热备份可避免锁表并支持增量恢复。
5.
切换DNS与最小化中断
迁移前48小时将域名 TTL 下调到60秒以便快速生效。
优先使用浮动IP或云厂商的弹性IP进行即时漂移。
切换顺序:先切负载均衡到新节点,再变更DNS权重到
韩国机房。
切换时监控 5xx 错误率与响应时间,准备回滚脚本。
切换完成后恢复TTL到标准值(如3600)以减少DNS查询量。
6.
CDN与DDoS防御配置建议
在切换期间启用 CDN 缓存静态资源减小源站负载。
配置 CDN 缓存规则:静态资源 Cache-Control 7 天,API 不缓存。
开启 CDN 的 Web 应用防火墙规则与速率限制。
使用云厂商提供的防护(如按带宽计费的清洗服务)。
在迁移验证期持续监控攻击流量并调整规则簇。
7.
真实案例与服务器配置示例
案例:电商网站从新加坡 VPS 迁至首尔云机房,实现 3 分钟内切换,零订单丢失。
源站写入峰值:峰值并发 1200 TPS,DB 写入量 10GB/小时,文件数据 350GB。
采用方案:建立 MySQL 主从复制 + rsync 增量同步 + 弹性IP 迁移。
切换窗口:最终同步耗时 2 分钟,DNS 切换 60 秒生效,总停机感知 ~3 分钟。
下面为迁移时使用的实例配置与耗时示例(单位:GB/分钟/秒):
| 节点 |
配置 |
数据量/备注 |
| 源 新加坡 VPS |
2 vCPU / 4GB / 80GB SSD / 1Gbps |
文件 350GB,DB 120GB |
| 目的 首尔云 |
4 vCPU / 8GB / 160GB NVMe / 1Gbps + DDoS 5Gbps |
rsync 平均 300MB/s 局域网,公网约 40MB/s |
| 切换耗时 |
最终增量 rsync |
约 120s 完成,DNS 60s 生效 |
来源:迁移指南 韩国机房云服务器怎么用 数据同步与切换无损步骤