1.
立即响应与确认范围
步骤1:第一时间联系机房NOC/厂商,获取故障单号与事件等级;步骤2:在内部启动应急链路(通知值班工程师、产品、客服);步骤3:在监控平台确认受影响服务(应用、数据库、网络、存储)。
2.
准备切换前的检查清单
步骤1:确认最新DNS TTL值及是否可临时下调(建议30秒至60秒);步骤2:检查BGP会话、ISP链路状态与跨连接;步骤3:确认远程控制台(iLO/iDRAC/IPMI)与远程操作权限是否可用。
3.
流量切换(DNS与BGP双路径)
步骤1(DNS):若使用DNS故障切换,先将TTL降至低值,更新A/CNAME指向备份站点或云负载均衡;步骤2(BGP):若有自有IP并支持BGP,协调旁路机房或云端宣布前缀并撤回受影响前缀;步骤3:逐步切换并观察健康检查(HTTP 200、TCP端口)。
4.
数据层面快速恢复
步骤1:确认主库是否可写入,若不可用则在副本上完成提主操作;MySQL示例:在从库执行STOP SLAVE; RESET SLAVE ALL; SET GLOBAL read_only=OFF;步骤2:PostgreSQL示例:在备库执行pg_ctl promote或SELECT pg_promote();步骤3:确认binlog/wal位置并在切换后同步增量数据。
5.
会话与缓存一致性处理
步骤1:若使用Redis/ElastiCache,触发哨兵故障转移或切换至只读副本;命令示例(Sentinel):SENTINEL FAILOVER mymaster;步骤2:若应用依赖本地会话,启用共享会话存储或短期容忍重登策略;步骤3:更新应用配置指向新的缓存与会话存储。
6.
应用与容器平台切换
步骤1:Kubernetes场景下,切换到备用集群或扩容健康节点,更新Ingress/Service指向;步骤2:若使用CDN或WAF,调整回源策略并确保证书有效;步骤3:执行烟雾测试(API调用、登录、核心业务流程)。
7.
安全与网络ACL同步
步骤1:将防火墙规则、白名单、VPN配置复制到备援环境;步骤2:如怀疑安全事件,立即更换关键密钥/证书并审计访问日志;步骤3:确保安全组、NAT、端口映射与原环境一致。
8.
客户沟通与内部协同
步骤1:按照预定义模板在状态页更新事件进展(影响范围、预计恢复时间、已采取措施);步骤2:明确RACI(谁负责切换、谁负责验证、谁对外沟通);步骤3:对外提供临时联系方式与受影响服务清单,避免重复工单。
9.
恢复后验证与回切计划
步骤1:在备援环境稳定运行并通过完整回归测试后,决定是否回切至原机房;步骤2:若回切,先将数据从备援双向同步至主站,确保无数据丢失;步骤3:逐步回切并在低流量时段执行,保留回滚计划。
10.
事后复盘与改进
步骤1:整理事件时间线、影响范围、根因(RCA);步骤2:更新演练手册、降低DNS TTL策略、增加异地备援容量或多可用区部署;步骤3:与机房/ISP谈判SLA赔偿并在合同中加入改进条款。
11.
问:如果DNS切换后仍有用户访问旧IP该怎么办?
答:先确认TTL是否已足够低并等待其过期,同时在旧IP上保留最小化的反向代理或返回302重定向到新地址;若无法保留旧服务,向主要客户推送强制刷新DNS的指导(清除本地DNS缓存或重启设备)。
12.
问:香港机房断电但机柜设备完好,是否一定回切?
答:不一定。评估点包括:恢复时间窗、数据一致性、客户影响与成本。若备援环境已稳定并且回切风险高,可先在备援长期运行并计划非高峰回切,同时与机房确认变更窗口与供电保障策略。
13.
问:如何长期降低香港机房单点故障风险?
答:采用多可用区/多机房部署、跨云容灾(混合云)、同步或异步复制、自动化故障转移(BGP+DNS)及定期演练;并在合同中明确SLA、远程代维和演练支持,定期验证备援可用性。
来源:企业在香港机房出问题后如何保障业务连续性