迁移后验证与回滚
切换完成不等于迁移成功。系统化的验证和预先准备好的回滚方案,是迁移能安全落地的关键。
迁移后验证清单
DNS 层验证
# 1. 验证 A 记录已指向新 IP
dig @8.8.8.8 example.com A
dig @1.1.1.1 example.com A
# 2. 验证 www 子域
dig @8.8.8.8 www.example.com A
# 3. 验证 MX 记录没有被改动
dig example.com MX
# 4. 验证 SSL 证书已在新服务器上生效
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -dates
应用层验证
# 检查 HTTP 状态码
curl -s -o /dev/null -w "%{http_code}" https://example.com
# 期望:200
# 检查 HTTPS 跳转
curl -s -o /dev/null -w "%{http_code}" http://example.com
# 期望:301 或 302(跳转到 HTTPS)
# 检查响应头(确认是新服务器)
curl -I https://example.com
# 检查关键页面
curl -s -o /dev/null -w "%{http_code}" https://example.com/shop
curl -s -o /dev/null -w "%{http_code}" https://example.com/checkout
功能验证(手动)
| 验证项 | 检查内容 |
|---|---|
| 首页加载 | 内容正确,样式正常 |
| 用户登录 | 能正常登录,会话保持 |
| 购物流程 | 加购物车 → 结账(不要真正付款,用测试模式) |
| 表单提交 | 联系表单能正常提交 |
| 图片和媒体 | 所有图片正常显示 |
| 邮件通知 | 触发操作后邮件正常发出 |
| 第三方集成 | Analytics、支付、CRM 等连接正常 |
性能验证
# 测试响应时间
curl -s -o /dev/null -w "DNS: %{time_namelookup}s | Connect: %{time_connect}s | Total: %{time_total}s\n" https://example.com
# 目标:Total < 1.5s(首字节时间 < 0.8s)
监控指标(迁移后 24 小时重点关注)
| 指标 | 正常范围 | 告警阈值 |
|---|---|---|
| 5xx 错误率 | < 0.1% | > 1% |
| 平均响应时间 | < 500ms | > 2000ms |
| 每分钟请求数 | 与迁移前持平 | 骤降 50%+ 可能 DNS 未传播 |
| 数据库连接数 | 正常范围内 | 接近上限 |
回滚方案
什么情况下应该回滚
| 情况 | 回滚建议 |
|---|---|
| 核心功能无法使用(登录、购买) | 立刻回滚 |
| 错误率持续 > 5% 超过 5 分钟 | 立刻回滚 |
| 数据丢失或数据库异常 | 立刻回滚 |
| 响应时间 > 5s | 评估后决定 |
| 单一非核心功能异常 | 可以先修复再决定 |
回滚步骤
graph TD
A[发现严重问题] --> B{旧服务器还在运行?}
B -->|是| C[把 DNS A 记录改回旧 IP]
B -->|否| D[启动旧服务器快照/备份]
C --> E[等待 5 分钟 TTL 生效]
D --> E
E --> F[验证旧服务器恢复访问]
F --> G[排查问题根因]
G --> H[修复后重新迁移]
回滚操作(DNS):
# 把 A 记录改回旧 IP
# 旧: 203.0.113.5
# 在 DNS 后台修改,TTL=300(已在迁移前设好)
# 等 5 分钟验证
dig @8.8.8.8 example.com A
# → 203.0.113.5(旧服务器)✅
回滚耗时:如果 TTL 已降到 300,理论上 5 分钟内全球大多数用户会切回旧服务器。
迁移完成后的收尾
确认迁移成功后:
- [ ] 把 TTL 从 300 恢复到 3600
- [ ] 删除本地 hosts 文件中的临时条目
- [ ] 更新所有文档中的服务器 IP(运维手册、监控配置)
- [ ] 更新监控告警中的 IP 白名单
- [ ] 旧服务器保留 7 天后正式销毁(并删除数据)
- [ ] 记录本次迁移的经验教训(时间、遇到的问题、解决方式)
下一章:故障排查与诊断——站点出问题时,系统化定位原因的工具和流程。