1. 概述:为什么服务器类型影响备份与容灾
选择
香港站群的服务器类型(裸金属、VPS、云主机、专有宿主机)直接影响备份频率、快照策略、跨区复制和RTO/RPO目标。运维首先要根据业务优先级划分服务(前端、应用、DB、存储)并映射到合适的实例类型与备份计划。
2. 服务器类型与推荐场景
- 裸金属:高IO、高吞吐数据库与搜索引擎,建议做快照+异地全量备份。
- 云主机(HK区域):快速扩容、快照频繁,配合云厂商快照复制到另一区域(如新加坡)。
- VPS/共享:中小站点,采用文件级rsync或对象存储异地备份。
- 专有宿主机(托管):可做硬件级备份(LVM快照/存储复制)。
3. 设计目标:定义RPO/RTO与恢复路径
实际操作前明确每个服务的RPO(数据丢失窗口)和RTO(恢复时长)。例如:核心DB RPO=5min(需主从实时复制+binlog),RTO<=30min(自动故障转移);静态站点RPO=24h,RTO<=2h(对象存储+CDN回源)。
4. 备份架构:遵循3-2-1原则并考虑香港特点
3-2-1:至少3份拷贝,2种介质(磁盘/对象),1份异地(推荐香港主站+新加坡/台北异地备份)。对数据库采用主从复制+定期逻辑备份(mysqldump/pg_dump)并保存binlog/WAL以实现点恢复。
5. 文件级备份实操(示例:rsync + restic)
- 初始化远端:在备份服务器上创建目录并开放SSH密钥。
- rsync命令(定期增量):rsync -azP --delete /var/www/ backup@backup.hk:/data/www/
- restic(加密、去重、保留策略):restic init --repo sftp:backup@backup.hk:/repo && restic backup /var/www && 在cron中添加每日备份与prune策略:0 2 * * * restic backup /var/www && restic forget --keep-daily 7 --keep-weekly 4 --prune
6. 数据库备份实操(MySQL/MariaDB示例)
- 在线逻辑备份(small DB):mysqldump --single-transaction --routines --triggers --events --master-data=2 -u root -p database > /backup/db-$(date +%F).sql
- 二进制日志/WAL保留:确保binlog_log_space和expire_logs_days配置,开启远程复制或定期同步binlog到异地:rsync /var/lib/mysql/mysql-bin.* backup@backup.hk:/dbbin/
- 恢复步骤:先恢复最近的mysqldump,然后用mysqlbinlog应用binlog到指定时间点:mysqlbinlog --start-position=... mysql-bin.00000X | mysql -u root -p
7. 快照与块级复制(裸金属/云盘场景)
- 使用LVM快照:lvcreate --size 1G --snapshot --name snap_www /dev/vg/www;然后rsync或dd快照数据到备份节点。
- 云快照:在云控制台设置自动快照并开启跨区域复制(HK->SG)。快照不能替代逻辑备份,需配合DB dump处理一致性。
8. 异地复制与故障切换实操步骤
- 主从复制:设置MySQL主从,开启GTID或binlog复制,监控延迟(SHOW SLAVE STATUS)。
- DNS与流量切换:设定低TTL(60s),使用带健康检查的DNS提供商(如Cloudflare、DNSPod)做IP切换脚本;或使用Anycast+BGP/云LB做自动流量引导。
- 自动化故障转移:编写检测脚本(curl/healthcheck),在主节点故障时触发Promote脚本将从库提升为主并动态更新DNS/负载均衡后端。
9. 测试、监控与演练
- 定期演练:每季度做一次完整恢复演练,记录实际RTO并优化步骤。
- 监控备份成功:Prometheus抓取backup exporter或检查cron日志,告警通过邮件/钉钉/Slack通知。
- 验证一致性:备份后做md5或文件列表比对,并在演练中验证数据库完整性。
10. 安全、合规与运维自动化
- 传输加密:SSH/SFTP、TLS或RESTic自带加密。
- 权限最小化:备份账户只读/受限权限。
- 自动化工具:使用Ansible playbook部署备份任务、Terraform管理基础设施、CI流水线触发演练。
11. 常见问题问答(1/3)
问题:香港站群是否必须在香港本地做主备?
12. 常见问题问答(1/3)
回答:不一定。主站在香港可保证低延迟用户体验,但备份/灾备建议至少跨境到新加坡或台湾以应对本地网络/机房故障。关键是权衡RTO/RPO与法规要求(数据驻留)。
13. 常见问题问答(2/3)
问题:如何在切换时保证数据不丢失且最小化服务中断?
14. 常见问题问答(2/3)
回答:采用主从实时复制+binlog/WAL保存,故障切换先提升从库并应用未同步的binlog,之后更新DNS/负载均衡。低TTL和自动化脚本可将RTO降至数分钟。
15. 常见问题问答(3/3)
问题:对中小站群有什么低成本备灾建议?
16. 常见问题问答(3/3)
回答:使用云对象存储(如OSS/S3兼容)做静态文件异地备份,数据库每天逻辑备份并保留7-14天,结合定期恢复演练。可用开放源码工具(restic/rclone)降低成本同时保证可靠性。
来源:运维建议香港站群服务器类型与备份容灾策略的关系