1.
迁移前的准备与清单梳理
- 制定维护窗口与回滚计划,建议将DNS TTL提前降至300秒以上以便切换验证。
- 列出当前服务清单:Web(nginx)、DB(MySQL/MariaDB)、缓存(redis)、邮件等并确定数据路径。
- 记录当前VPS配置:CPU/内存/磁盘/带宽/IP与操作系统版本,便于目标机型对比。
- 备份账户与证书信息(Let's Encrypt/SSL私钥),并锁定control panel或root密码变更窗口。
- 检查防火墙规则、安全组与DDoS策略,确保在迁移后能快速恢复相同规则。
2.
数据备份策略与工具选择
- 全量+增量:对文件使用rsync + hardlink策略(或restic、borg)实现增量备份与空间节省。
- 数据库备份:对MySQL建议组合使用mysqldump(逻辑备份)和Percona XtraBackup(热物理备份)。
- 远程异地备份:将备份推送到对象存储(s3, Wasabi)或本地异机,降低单点风险。
- 加密与保留策略:备份使用AES加密,保留周期按30/90/365天分层策略执行。
- 验证与演练:每周恢复演练一次,验证备份完整性并记录恢复所需时间。
3.
迁移步骤与实操命令示例
- 预同步文件:在目标VPS上用rsync增量同步,示例命令:rsync -azP --delete --exclude='/proc' /var/www/ root@目标:/var/www/。
- 数据库迁移:先做一次mysqldump并导入目标:mysqldump -u root -p --single-transaction --databases dbname > dump.sql,然后在目标上mysql < dump.sql。
- 最小化停机:在DNS切换前短暂停止写入服务(如设置维护模式),再做最后一次增量同步并切换IP。
- 配置与安全:迁移后应用相同iptables/nftables规则,恢复防火墙策略并检查SSH、fail2ban。
- 验证服务:访问应用首页、执行健康检查脚本,并通过curl -I与数据库连接测试确认服务可用。
4.
DNS、CDN与DDoS防护的迁移考量
- DNS切换:提前将TTL降到300秒,切换后监控解析生效,并在切换完成后再将TTL恢复。
- CDN集成:在切换IP后在CDN控制面板更新回源地址并执行缓存清理(purge)。
- DDoS防护:确认目标VPS提供商的流量清洗能力或启用Cloudflare/Incapsula等外部防护。
- 访问控制:使用GeoIP与WAF规则限制异常流量,避免迁移初期被探测引发攻击。
- 监控告警:迁移同时开启监控(如Prometheus/Grafana或第三方SaaS),观察流量/错误率/延迟。
5.
真实案例:日本电商站点从旧VPS迁移到raksmart日本VPS
- 概况:某日本电商,峰值并发5000,数据量约120GB,数据库约30GB,媒体文件约80GB。
- 迁移结果:使用rsync预同步7小时,最后停机窗口仅4分钟完成最终同步、DNS切换与服务启动。
- 配置对比(示例表格见下):源VPS为2vCPU/4GB/100GB/1Gbps,目标raksmart为4vCPU/8GB/200GB/2Gbps。
- 恢复测试:迁移后30分钟内完成业务流量回归,未出现数据库主从延迟问题。
- 教训:提前降低TTL与充分预同步是成功关键,未预估的外部依赖(第三方支付IP白名单)需提前沟通。
| 项目信息 | 源VPS | 目标(raksmart 日本) |
| CPU | 2 vCPU | 4 vCPU |
| 内存 | 4 GB | 8 GB |
| 磁盘 | 100 GB SSD | 200 GB NVMe |
| 带宽 | 1 Gbps | 2 Gbps |
| 数据量 | 120 GB | 120 GB |
| 停机时间 | - | 4 分钟 |
6.
备份恢复最佳实践与建议
- 自动化:使用脚本或备份工具实现每日全量/每小时增量,并记录日志与告警。
- 多地点:将备份保存在不同地域的对象存储,防止单区域故障导致数据丢失。
- 恢复演练:至少每季度做一次完整从零恢复演练,确认恢复文档与时间目标(RTO/RPO)。
- 安全性:备份数据加密、密钥管理并限制访问权限,避免泄露带来合规风险。
- 文档化:记录迁移步骤、切换命令与回滚方法,确保团队成员在紧急情况下可快速执行。
来源:raksmart日本VPS迁移指南与数据备份恢复最佳实践