1.
总体规划与准备
目标与要求:明确RPO/RTO、可用性目标(如99.95%)、单点故障定义。
资产盘点:列出机柜、电源输入、网络承载、关键服务(Web、DB、缓存、存储)。
权限与SLA:与数据中心、运营商签署双路电力、至少两家网络提供商的SLA与维护流程。
2.
站点与机房选址、双电路策略
选址原则:优先同城不同电源接入点(A/B母线不同)、至少两个电源进线柜。
电力接入:要求市电双路(来自不同变电所)并落地至不同总开关,标注接线图。
合同要求:向IDC明确需提供ATS(自动切换开关)接口与发电机并联方案。
3.
UPS与发电机配置与测试
容量计算:统计单机最大功耗×并留余量(建议1.3倍),确定UPS与发电机容量。
拓扑搭建:采用两套UPS并行/N+1设计,UPS输出连接到不同PDU,实现上游冗余。
测试步骤:切换市电到发电机:1) 在低峰演练;2) 监控UPS电压与转接时间;3) 记录停电恢复时间并调整ATS延迟。
4.
机柜、PDU与配线标准化
机柜布局:关键设备跨机柜分布、关键链路跨不同PDU。
PDU配置:每台关键服务器至少两个PDUs供电,标注A、B路。
物理标识:所有电缆、PDU端口、开关都有明确标签与电路图纸,便于紧急切换。
5.
网络多线与骨干冗余部署
承载方案:至少两家不同运营商的光纤入站,接入不同的汇聚交换机或路由器。
拓扑建议:Leaf-Spine或双核心交换,全链路冗余;核心设备采用双机热备(VRRP或HSRP)。
链路冗余:对外使用多家ISP并做BGP多宿多出口策略,申请/使用任意播(Anycast)或弹性公网IP。
6.
BGP与路由切换实操步骤
BGP准备:与各ISP确认ASN、neighbor IP、密码、prefix过滤规则。
配置要点:在两台边缘路由器配置eBGP邻居、设置local-preference、AS-path prepend作为流量控制。
故障演练:模拟单链路断开,观察BGP会话重建并确认业务不丢包;记录收敛时间并优化MED/社区。
7.
存储与数据库容灾策略与操作
选择复制方式:同城可选同步复制(RPO≈0),异地选异步复制降低延迟。
MySQL实操:启用GTID/二进制日志,配置主从或组复制,示例:CHANGE MASTER TO MASTER_HOST='主IP', MASTER_USER='rep', MASTER_PASSWORD='pwd', MASTER_AUTO_POSITION=1; START SLAVE;。
Postgres实操:使用pg_basebackup并设置流复制,示例:pg_basebackup -h 主机 -D /var/lib/postgresql/data -U repl -Fp -Xs -P。
8.
应用层高可用与负载均衡
负载均衡器:部署双机HAProxy或商业LB(F5),配置healthcheck与会话保持策略。
状态同步:对有状态应用使用会话复制或将会话放入共享缓存(Redis Cluster)。
发布策略:蓝绿/灰度发布结合LB权重调整,减少部署对可用性的影响。
9.
监控、告警与演练流程
监控体系:覆盖电源(UPS状态、发电机燃油)、网络(链路丢包、BGP状态)、主机与应用指标。
告警规则:分级告警并落地到值班工程师,制定SOP(谁、何时、如何处理)。
演练计划:每季度演练一次单点故障切换,每半年做一次全量灾备演练并记录RTO达成情况。
10.
灾备切换与恢复操作步骤清单
故障判断:确认影响范围(电力、光纤、设备),根据SLA决定是否触发DR。
切换步骤(示例):1) 切换DNS/GSLB到备用站点(TTL提前降到60s);2) 在LB上调整权重到DR节点;3) 做数据库恢复或提升只读为主写,确认数据一致性。
回切步骤:评估主站稳定后,先做流量小范围回切,观察24小时无异常再完全回切。
11.
问:如何评估日本不同机房之间是否适合做同步复制?
答:评估指标以网络延迟和稳定性为主,同城或低于5ms RTT且丢包极低可考虑同步复制;否则选异步并设定可接受RPO,实测并记录延迟峰值用于决策。
12.
问:在BGP多线下如何做到快速流量切换而不影响会话?
答:结合Anycast/GSLB做全局流量引导,本地使用双活LB(HAProxy/F5)做会话保持并在切换前降低主站权重、迁移会话或使用会话复制/共享缓存,避免中断。
13.
问:如何验证UPS与发电机在真实断电场景下的可用性?
答:制定断电演练步骤:通知业务窗口→将市电切断(或通过IDC控制市电模拟)→记录ATS切换时间、UPS放电时长与发电机启动并接入时间→在切换期间检查关键服务是否可用,演练后修订配置并归档结果。
来源:电力与网络双重保障 日本站群机房灾备与高可用部署解析