1.
目标:保证日本云服务器在常见故障(主机宕机、网络中断、磁盘损坏、应用异常)下能在规定RTO/RPO内恢复。
适用范围:适用于云主机(含浮动IP/弹性IP)、云块存储与数据库实例,适合朔州运维团队与第三方运维服务协作演练。
2.
清单:确认主机清单、浮动IP、控制台访问、快照权限、备份位置、监控报警触达人员;列出恢复联系人与时间窗口。
权限:确保演练人员拥有SSH root/sudo、云控制台API/CLI权限(创建快照、挂载卷、修改浮动IP)、DNS管理权限(TTL可临时降低)。
3.
工具:准备ssh、rsync、scp、mysqldump或pg_dump、systemctl、ip route、iptables、nc、curl等工具;准备日志采集与告警回放工具。
脚本:编写并测试恢复脚本,包括:1) 快照创建/挂载脚本;2) 数据库导入脚本(示例:mysqldump -u root -pPWD db > /tmp/db.sql);3) 浮动IP切换脚本(调用云CLI或修改路由);4) 服务启动脚本(systemctl start myapp)。
4.
步骤一(网络):在非生产时间对目标主机防火墙临时drop外网流量,示例:iptables -I OUTPUT -p tcp --dport 80 -j DROP,记录影响范围并立即可回滚。
步骤二(主机宕机):先在备机上完成切换准备,再执行systemctl stop 服务或利用云控制台先暂停实例,确保能通过快照/恢复到备机。
5.
步骤一(确认故障):通过监控与ssh尝试登录,判断是网络、主机OS无响应或磁盘故障,记录时间点与日志(/var/log/messages, journalctl)。
步骤二(数据恢复):如果本地磁盘损坏,使用最近快照挂载到恢复主机:云CLI示例(AWS)aws ec2 create-snapshot/attach-volume,或rsync恢复:rsync -avz /backup/www/ /var/www/。
步骤三(应用切换):在备机上恢复配置、修改DNS/浮动IP。浮动IP切换示例(假设云CLI):cloud-cli floating-ip assign --ip X.X.X.X --instance-id i-xxxx。
步骤四(数据库恢复):执行mysql导入示例:mysql -u root -pPWD db < /tmp/db.sql,检查表一致性与binlog位置,若需要做增量恢复按binlog顺序apply。
6.
验证项:1)页面与API连通性curl -I http://app.example.com;2)业务关键路径(登录、下单等)自动化脚本跑通;3)日志无异常。
回滚策略:若恢复后发现数据不一致或性能问题,使用备份快照还原至故障前实例或将流量回切至原主机(在能恢复时),并记录回滚理由与时间。
7.
频率:建议季度进行一次全面演练(包含数据恢复与浮动IP切换),月度进行一次局部(配置/服务重启)演练,关键更新或迁移前必须进行专项演练。
分级:按影响范围分为内部演练(不影响外部流量)、控制台演练(通过云控制台动作)和全链路演练(真实切换DNS/浮动IP并通知客户)。每次演练后必须产出演练报告与改进项。
8.
答:立刻停止影响范围扩展,启用回滚计划:1) 使用最近快照恢复到备机;2) 将流量回切到既有备份实例;3) 根据业务优先级决定是否接受部分数据损失(RPO)并通知相关方;4) 演练结束后进行根因分析并更新备份频率与检查点。
9.
答:注意网络延时与跨境带宽限制,提前验证跨区域快照与镜像的可用性;检查时区与法务合规(数据驻留要求);浮动IP或弹性IP在不同机房的行为差异需事先测试。
10.
答:建议每次演练至少包含:演练指挥1人、主机工程师2人、数据库工程师1人、网络/安全1人、业务方代表1人;准备好应急联系方式、演练脚本、回滚脚本与集中日志以便事后复盘。
