1.
迁站前的准备与评估
- 评估站点流量:统计日均PV、带宽峰值(示例:日均PV 50k,峰值带宽 120 Mbps)。
- 确定业务依赖:列出数据库、存储、第三方API与计划停机窗口。
- 检查法律/备案需求:香港服务器通常无大陆ICP备案,但需遵守当地法律与ISP策略。
- 日志与监控准备:开启详尽访问日志、错误日志与指标采集(Prometheus/Grafana)。
- 制定回滚计划:准备老机保留7天、DNS回退TTL设置、数据快照与快照编号。
2.
香港服务器配置示例与选型建议
- 推荐配置(中小型电商):4 vCPU / 8 GB RAM / 100 GB NVMe / 1 Gbps 带宽(带宽计费示例:95元/月不限流量或按流量计费)。
- 大流量站点建议:8 vCPU / 16 GB RAM / 500 GB NVMe / 2 Gbps 专用带宽(可选单机 10 Gbps)。
- 带宽与延迟考量:海外用户延迟高时配合CDN,香港到大陆平均 RTT ≈ 30-80 ms(视ISP不同)。
- 存储与备份策略:使用本地快照 + 对象存储(例如 S3 兼容)做异地备份,备份保留 7-30 天。
- 示例IP/配置:新机 IP=203.145.10.23,系统 Ubuntu 22.04,Nginx 1.22,MySQL 8.0,PHP-FPM 8.1。
3.
数据备份与传输的具体命令
- 文件同步(示例命令):rsync -avz --delete /var/www/ root@203.145.10.23:/var/www/(建议先测试加上 --dry-run)。
- 数据库导出(示例):mysqldump -u root -p --single-transaction --quick --lock-tables=false exampledb > exampledb.sql
- 数据传输(示例):scp -P 22 exampledb.sql root@203.145.10.23:/root/ 或 rsync -avz exampledb.sql root@203.145.10.23:/root/。
- 大文件/大库建议:使用压缩与分卷:pv exampledb.sql | gzip -1 > exampledb.sql.gz,再传输。
- 完成后校验:在目标机执行 md5sum 对比,或用 rsync --checksum 验证一致性。
4.
数据库迁移与切换验证步骤
- 迁移方式选择:全量导出导入(停服窗口)或主从复制(零停机)。
- 主从示例配置:在老库创建用户并设置 binlog,执行 CHANGE MASTER TO MASTER_HOST='203.145.10.23', MASTER_USER='repl', MASTER_PASSWORD='pwd', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=12345;然后 START SLAVE。
- 同步校验:show slave status\G 检查 Seconds_Behind_Master 为 0。
- 切换写入:把应用写入切到新库,短时间内监测写入错误并回滚策略。
- 验证数据完整性:随机抽样比对表记录量(SELECT COUNT(*)),以及业务关键数据一致性检查。
5.
DNS切换的详细步骤与TTL策略
- 减小TTL准备:提前 48 小时将原记录 TTL 改为 300 秒(5 分钟)。
- 切换时机:在低峰时段执行 DNS A 记录从老 IP(示例:118.25.34.56)改到新 IP(203.145.10.23)。
- CNAME 与子域:保持 www 使用 CNAME 指向主域,确保主域 A 记录变更生效。
- 验证生效:使用 dig +short @8.8.8.8 example.com 与本地 dig 检查,注意不同 DNS 解析节点延迟。
- 回滚策略:若遇故障,立即将 A 记录改回老 IP,并观察 1-2 TTL 周期内流量恢复。
6.
CDN 与 DDoS 防御实操配置
- CDN 使用建议:在香港部署源站并启用全球 CDN(缓存静态资源,减轻源站负载)。
- 缓存规则示例:对 /static/* 设置较长缓存(max-age 86400),对 HTML 设置短缓存或无缓存。
- DDoS 基本防护:在边界启用防护服务(Cloudflare/阿里云/腾讯云 + 专线清洗)并打开速率限制。
- 主机级防护示例:开启 SYN Cookies(sysctl -w net.ipv4.tcp_syncookies=1),安装 fail2ban,配置 nginx 限流 limit_conn、limit_req。
- 日志与告警:在防护设备或CDN开启阈值告警(如 95% 带宽/分钟、异常请求率),并保留攻击包供分析。
7.
真实案例:电商站从国内迁至香港的流程与结果
- 背景:某电商日均 PV 50k,促销期间瞬时峰值 300k,原机房在国内,受流量限制与备案影响决定迁至香港。
- 方案与配置:采购香港托管 8 vCPU/ 16 GB / 500 GB NVMe / 2 Gbps,启用 CDN 与云端DDoS清洗。
- 迁移过程:先用主从复制同步数据库 24 小时,文件用 rsync --bwlimit=50000 分批同步;促销前 2 小时做最终切换,TTL=300。
- 结果与数据:切换后平均页面响应时间从 420 ms 降至 280 ms,峰值期间成功抗住一次 800 Mbps 的流量攻击,未影响订单流程。
- 经验教训:提前把第三方 API 白名单更新为新 IP,促销前至少做一次完整演练。
8.
切换后监控、回滚与验收清单
- 监控项:流量、RTT、错误率(5xx/4xx)、数据库慢查询和磁盘 I/O。
- 验收清单:静态文件完整性、支付与下单流程、第三方回调测试、访问日志无异常。
- 回滚步骤:把 DNS 改回老 IP,切换应用写回老库(若使用主从需切换主从关系),并通知用户停机窗口内可能影响。
- 保留与清理:迁站后保留老机 7 天快照,确认无误后再回收资源。
- 文档与总结:记录迁移日志、命令与时间点,形成 SOP 供下次迁站参考。
9.
配置对比(旧机 vs 新香港机)
| 项目 |
旧服务器(内地) |
新服务器(香港) |
| CPU |
2 vCPU |
8 vCPU |
| 内存 |
4 GB |
16 GB |
| 磁盘 |
100 GB SATA |
500 GB NVMe |
| 带宽 |
200 Mbps |
2 Gbps 专线 |
| IP |
118.25.34.56 |
203.145.10.23 |
来源:迁站实操香港服务器托管网站 数据迁移与DNS切换的详细步骤