1.
需求评估与目标设定
- 明确RTO(恢复时间目标)与RPO(恢复点目标)。
- 列出关键服务(Web、数据库、文件存储、API)。
- 评估预算、合规要求(如数据驻留在香港)与带宽需求。
2.
选择香港托管与异地节点
- 在香港选择两个不同机房或不同提供商做主/备:A机房为生产,B机房为灾备或跨区(可选新加坡)。
- 要求提供BGP、带宽峰值、机柜冗余与电力保障证明,并获取公网IP段与带宽SLA。
3.
网络架构与DNS容错
- 使用Anycast或多家DNS(Cloudflare/NS1)实现DNS故障转移。
- 配置DNS TTL较低(60-300秒)以便切换流量。
- 在HK部署负载均衡器+Keepalived实现虚拟IP浮动(VRRP)。
4.
负载均衡与高可用组件
- 在每个机房部署两台HAProxy或Nginx实例;用Keepalived管理VIP。
- 配置健康检查,示例:haproxy.cfg中的rise/fall和timeout。
- 后端服务器用Session Sticky或共享Session(Redis/Memcached)实现无缝切换。
5.
文件存储与同步策略
- 小文件:使用rsync或lsyncd做近实时同步,示例rsync命令:rsync -az --delete /var/www/ backup@B:/data/www/。
- 大对象:用对象存储(S3兼容)+rclone定期同步并保留版本。
- 本地快照:LVM/ZFS定期快照,便于回滚。
6.
数据库备份与异地复制
- MySQL:推荐使用主从/主主复制 + 定期物理备份(mariabackup/xtrabackup)和逻辑备份:mysqldump --single-transaction -u root -p db > /backup/db-$(date +%F).sql。
- PostgreSQL:设置streaming replication并开启WAL归档,示例:pg_basebackup -D /backup/pg -Ft -z -P -U repl -h primary。
- 定期测试恢复并记录恢复步骤。
7.
增量备份与加密存储
- 使用Restic或Borg做加密增量备份,示例:restic -r s3:s3.amazonaws.com/bucket backup /var/www。
- 设置备份加密密码并安全保存(不在脚本中明文)。
- 在香港机房保留近7天本地备份,在异地保留30天以上冷备。
8.
自动化脚本与调度
- 编写backup.sh包含数据库导出、文件同步、快照、上传到S3并清理旧备份。
- 用cron调度:0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1。
- 备份脚本返回非0则触发报警(邮件/Slack/钉钉)。
9.
监控、报警与自动化故障切换
- 部署Prometheus+Alertmanager监控服务健康、磁盘、延迟与复制延迟。
- 设置自动化Playbook(Ansible)在主故障时把流量切到备机房并通知值班。
- 对VIP使用Keepalived优先级调整实现快速切换。
10.
演练与恢复验证
- 制定SOP与演练计划:每季度做一次冷备恢复演练,验证RTO/RPO是否满足。
- 演练步骤示例:1) 将主节点隔离;2) 在备机房提升备库为主;3) 验证应用可用性并回档日志。
- 记录所有问题并更新Runbook。
11.
安全与合规注意事项
- 传输中与静态备份均必须加密(TLS、restic/Borg加密或GPG)。
- 控制访问权限,使用密钥登录并开启MFA。
- 备份数据遵循数据保留策略与合规(例如个人数据脱敏)。
12.
问:如何快速切换到香港备机房以降低停机时间?
问:当主机房不可用时,如何实现快速切换?
答:先保障DNS TTL低并准备好异地VIP(Keepalived)与负载均衡配置;执行Runbook:1) 提升备库为主(数据库promote);2) 更新Keepalived优先级让备机房接管VIP;3) 验证健康检查通过后切换DNS或依赖Anycast。提前脚本化步骤可将RTO缩短到数分钟-几十分钟。
13.
问:备份频率和保留策略如何制定?
问:应如何设定备份频率与保留参数?
答:按业务重要性分级:关键数据(数据库)建议每15分钟或实时复制并每日快照;次级文件每日全量+每小时增量;保留策略常见:7天小时点、30天日点、12个月月点。配合异地冷备与法规要求调整。
14.
问:如何验证备份可用性与恢复成功率?
问:怎么确认备份真正能恢复?
答:定期做恢复演练:1) 从最近备份在隔离环境恢复数据库与应用;2) 验证数据完整性与业务流程;3) 记录恢复时间与遇到的问题并改进脚本。建议每月至少一次完整恢复演练。
来源:如何构建高可用的服务器香港托管灾备与备份方案