Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | Github | OSChina 博客 | 云社区 | 云栖社区 | Facebook | Linkedin | 视频教程 | 打赏(Donations) | About
知乎专栏多维度架构 微信号 netkiller-ebook | QQ群:128659835 请注明“读者”

14.7. 灾备培训和演练

演练的主要目的是,验证两个交易系统能够互备,相互做对方的备份,我们将当前登录的系统称为主系统,另一次叫做灾备系统(仅仅是观看的角度)。

另一个目的是,双活系统能够自动规避很多小灾难,灾难没有扩大前系统已经自动修复了,长此以往系统管理员就会麻木,懒惰,侥幸。当更大的故障发生或双活不能正常工作时,由于管理员长期不再状态,就会产生难以预期的后果。

14.7.1. 培训内容

  1. 灾备原理

  2. 灾备中心系统结构(系统部署图、网络结构图)

  3. 灾备系统运营维护

  4. 公司操作流程

  5. 切换操作流程

  6. 数据检查与验证

14.7.1.1. 培训对象

公司灾备应急小组所有成员

其他感兴趣员工

14.7.1.2. 操作流程

公司操作流程

  1. 报告灾难发生并申请灾备切换
  2. 确认灾难发生并同意灾备切换(主交易中心无法进行正常交易)
  3. 获取授权
  4. 做切换前准备
  5. 切换到灾备系统
  6. 切换后检查
  7. 切换后报告
  8. 发布消息(通知营业部、客户)
  9. 进行正常交易

14.7.2. 演练环境设置

业务准备

  1. 确定演练时间

  2. 通知参与演练的客户

  3. 通知参与演练的业务部门

技术准备

  1. 做好演练前的数据备份

  2. 检查灾备各应用服务状态

参与部门

  1. 开发部门

  2. 测试部门

  3. 业务部门

模拟灾难: 在演练开始时间,关闭主交易中心的所有的应用,模拟灾难发生。此时,公司应完全按照“公司操作流程”和“灾备系统切换流程”来切换灾备系统。

演练过程: 见“切换操作”和“公司操作流程”

14.7.3. 演练级别与方式

演练级别定义

  1. 接入线路故障
  2. 网络设备故障
  3. 服务器故障
  4. 数据库故障

演练的方式有两种

演练方式

  1. 有计划的演练,通知各部门,灾备应急小组人员各就位,然后开始演练
  2. 突击演练,在没有通知其他部门的情况下,临时启动演练,抢修主交易系统。

第一种方式适合灾备演练初期,因为各部门都有准备,是在良好的环境下进行,大家都坐在电脑前,看着严控数据,有条不紊按部就班。

但故障是随时都能出现的,是无法预知的。所以我们还需要实行“突击演练”。“突击演练”最近接真是故障发生的场景,可能大家会手忙脚乱,打破之前的各种流程。你会接到各部门领导的电话,可能你当时还在睡觉或外出路上,你没有地方上网,你的脑子一片空白,这才是真实场景。

14.7.4. 开始演练

14.7.4.1. 切换前操作

切换前操作

  1. 确认数据库已经备份无误
  2. 检查监控系统是否正工作,短信网关是否正常工作

主要的工作室数据备份,其他工作可能作为演练的一部们,工作流程等各种问题在演练中暴漏出来,才能对后面的工作改进有所帮助。

14.7.4.2. 切换操作

双活互备切换操作,要进行两次,第一次将A机房视为主机房,从A向灾备机房B切换。完成后检查无误,再反向操作一次。

切换要模拟各种故障,通常采用的手段就是拔网线,关闭服务器,关闭应用,使其每条灾备链路都能跑通。

数据中心故障

  1. 模拟机房停电,将另一侧灾备机房关机

  2. 接入链路故障

  3. 防火墙设备故障

  4. 交换机故障设备故障

服务器故障

  1. 网站故障
  2. 数据源故障
  3. 交易服务器故障
  4. 数据库故障

切换过程中,每一次动作,都应该收到来自监控系统的报警并精确描述的故障。这也是完善监控系统绝佳机会。

14.7.4.3. 切换后检查

由于数据实时采集同步存在延时以及线路中断可能,导致同步时存在数据丢失,故灾备系统中的数据与主交易系统的数据可能存在不一致,故客户端连上灾备系统后,需要重新登录,获取灾备系统中的数据进行确认,在确认正确后,即可重新进行交易。

检查项目

  1. 网站访问压力是否正常
  2. 交易系统的压力是否正常
  3. 数据同步是否正常
  4. 数据源是否正常

测试部门介入项目

  1. 开户,入金,出金
  2. 行情数据
  3. 各种交易情况验证
  4. 交易记录
  5. 各种报表
  6. 多方面的数据核对

14.7.5. 演练结果检查

应用系统服务状态检查

  1. 主库备库数据是否一致

  2. 接口能否正常工作

  3. 网上交易能否正常进行

  4. 交易压力是否正常

公司需要进行多方面的数据核对,包括

  1. 委托单是否一致, 委托回报是否完整

  2. 成交回报是否完整, 交易记录是否完整

  3. 行情数据是否正确

  4. 客户资金是否正常

14.7.6. 可能存在的风险

当主交易系统切换到灾备系统后,必然会有一些影响业务的情况会发生,公司需要事先有所准备,并制定相关应急预案。

14.7.6.1. 主交易系统短期无法恢复

由于发生重大事件,可能造成灾害发生时切换到灾备中心的交易系统无法切换回主交易系统。导致交易需要长时间在灾备中心运行,对灾备中心形成压力。对于此情况,公司应该制定详细的预案,保证灾备中心能承担起正常交易压力,使用户交易正常进行。 当确认灾备中心无法在短时间切换回主交易中心时,公司应立即启动预案,并和服务部门联系,请求技术支持。通过增加服务器、增加访问带宽、交易数据备份等方式,使灾备中心转换为主交易系统,长期承担主交易系统交易工作。

14.7.6.2. 切换灾备系统后业务的影响

当主交易系统需要切换到灾备系统时,为避免一部分人仍然连接到主交易系统,一部分人连接到灾备系统,切换前必须关闭主交易系统的应用服务器或者段外网络。

在切换以后,有部分业务将受影响,以下为部分情况:

  1. 各类终端需要重新登录,如果有业务流水没有同步到灾备系统,则会丢失部分业务数据。
  2. 客户的尚未触发的条件单不再有效也不会再触发,这个必须和客户声明,避免引起纠纷;
  3. 第三方交易系统在灾备切换后,也需要进行切换,否则会无法使用。

14.7.6.3. 数据不同步产生的影响

由于数据同步时,存在延时,故有可能灾备系统和主系统之间线路中断后,有部分已经发生的业务没有同步到灾备系统中,部分业务也会受些影响, 故客户端切换到灾备系统中时需要重新登录系统,以便重新查询数据库中的数据进行核对。

相关影响如下:

  1. 双活互备相互切换,导致两套数据中的数据不一致,系统管理员可以重新同步数据库;
  2. 主交易系统中已经生成但没有发往交易所的委托单没有同步,此时灾备系统中将没有这笔记录,且资金是不冻结的;
  3. 主交易系统中已经发往交易所的委托单没有同步,此时灾备系统中将没有这笔记录,且资金是不冻结的,需要补发此笔委托的委托回报;

14.7.7. 灾备系统备份

当灾备中心承担交易时,灾备系统中的所有交易数据将进行备份,供事后的查询和备案。公司可以采用热备系统,备份灾备中心的交易数据。并做好灾备中心数据及时转移到安全位置。确保灾备中心数据不会丢失。

14.7.8. 系统运营维护

应用系统服务状态检查

  1. 每日实时监控
  2. 每日无人值守备份文件传输到备机上
  3. 保证交易系统升级版本相同
  4. 每月做一次灾备切换预演,确保备份系统能正常工作
  5. 严重灾难记录