视频监控系统中的平台服务器VM 处于核心地位,一旦平台服务器不可访问,用户就无法通过集中方式使用所有的前端监控设备。我们可以对平台服务器采用双机技术,保障其可靠性,但是,一旦平台服务器所属的中心机房出现灾难性事件,所用用户将无法正常使用视频监控系统。
通常建立容灾备份系统时会涉及到主要技术包括:
■远程镜像技术
远程镜像技术是在主数据中心和备援中心之间的数据备份时用到,是容灾备份的核心技术,同时也是保持远程数据同步和实现灾难恢复的基础。
■快照技术
远程镜像技术往往同快照技术结合起来实现远程备份,即通过镜像把数据备份到远程存储系统中,再用快照技术把远程存储系统中的信息备份到远程的磁带库、光盘库中。
■互连技术
当灾难发生时,由备援数据中心替代主数据中心保证系统工作的连续性。
■虚拟存储
在有些容灾方案产品中,还采取了虚拟存储技术,它将几个IDE 或SCSI 驱动器等不同的存储设备串联为一个存储池。存储集群的整个存储容量可以分为多个逻辑卷,并作为虚拟分区进行管理。存储由此成为一种功能而非物理属性,而这正是基于服务器的存储结构存在的主要限制。
而具体到对视频监控系统而言,我们需要做到对VM核心的数据库进行实时远程备份,同时远端的备份节点能替代故障站点提供相同的服务,而用户不需要做任何改变。也即上面的远程镜像技术和互联技术。
由于不需要对服务器进行全盘数据备份,只需要对数据库进行远程备份,宇视科技可以做到对N 个站点共享一台远端备份服务器,替用户节省成本。同时,宇视科技使用浮动IP 对用户提供VM 服务,当提供服务的节点出现故障后,相同的浮动IP 能漂移到备份节点上提供服务,用户仍然通过原有的IP 地址访问视频监控系统。由于备份浮动IP 与主节点同网段,可以漂移到跨三层的备节点上提供服务。
宇视科技通过在VM 上集成开源组件PACEMAKER、COROSYNC、DRBD,同时结合网络设备的特定功能,实现上述远程镜像和互联功能。DRBD 是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制 。简单来说就是两台机器分别拿出一部分空间给DRBD 管理,两台机器会被区分为主机和备机,主机上的修改会被DRBD自动同步到备机上的相同位置,这样一来,我们在业务中做的修改会被自动备份到备机上,主机故障时,备机上的数据也是实时正确的,能提供正常的服务。DRBD 可以理解为一个跨网络设备的RAID1。备机上提供N 个DRBD 分区与N 个主节点的对应分区进行数据库的实时镜像备份。
Corosync:可以实现心跳信息传输的功能,在传递信息的时候可以通过一个简单的配置文件来定义信息传递的成员,整个N+1 服务器的集群通过Corosync 来检测服务节点是否在线。
Pacemaker:Pacemaker 是一个集群资源管理者。它用资源级别的监测和恢复来保证集群服务的最大可用性。在Pacemaker“眼中”,DRBD 也是它的一种资源,而且是一种特殊的,有主从之分的资源。VM 服务如何启动、如何停止、检测状态都是pacemaker 配置的。目前主要用到的资源包括:浮动IP、数据库、第三方IP、文件系统、DRBD。Pacemaker 通过一系列规则控制这些资源在对应的服务器上启动并提供服务。
网络上主要用到与备机相连设备的利用网络设备的相关特性,网络设备实时检测浮动IP 的连通性,当发现主节点故障,浮动IP 资源漂移到备机时,网络设备将浮动IP 的主机路由引入动态路由并发布全网。
具体方案如下,用户对任意站点的配置信息和数据库修改通过DRBD 技术实时同步到远端备份站点,当备份软件系统检测到某个服务器节点异常断网或者进程异常后,将对应故障主节点的浮动IP 漂移到备用节点,由跨三层的备用服务器接管故障服务器的VM 功能,网络设备实时探测到浮动IP 漂移后,在路由协议中引入浮动IP 的主机路由,并发布全网,使全网的用户能正常的访问到备用服务器提供的服务。当主机排除故障,正常启动后,备份软件能将浮动IP 和业务功能切换回主节点,并通过与备机相连的网络设备撤销此前发布的主机路由,使全网的用户能正常的访问到主节点提供的服务。
主备机进行切换的条件如下:
■当网络正常,但主机检测到关键进程出现Stop的时候,主机会先停止运行的服务,随后在当前节点尝试重启,重启成功继续在当前运行,如果重启失败,会通知备机,备机上浮动IP 生效,进程服务开启,此时主从机完成了变换。
■主备机心跳保活失败(如断电、宕机),备机会使得浮动IP生效,开启进程服务,接替主机,心跳保活由Corosync负责。
由于此方案需要我司平台服务器与网络设备的利用网络设备的相关特性功能配合使用,所以对网络设备的型号有一定的要求。目前N+1异地容灾方案支持的软件组合包括(各个服务器必须一致):
■VM(含数据库)+DM(含BM)
■VM(含数据库)