基于分布式存储的播出 双数据中心的实现

本文介绍了广东广播电视台新播控中心网络系统。作为全台14 个高清频道和1 个4K 超高清频道播出 的基础支撑,该系统基于分布式存储的双数据中心的实现,起到了保障安全播出的核心作用。在组网方 式上采用了万兆传输链路+UNC 协议方式,存储集群对外提供NAS 访问路径,内部文件系统实现分 布式元数据访问,后端网络实现分布式RAID 技术,并通过三级缓存来提升读写性能。对于分布在两个 大楼的主备集群采用远程复制技术实现热备容灾。

摘要

广东广播电视台新播控中心网络系统的核心设备主要部署在新楼,部分部署在旧楼,两处的存储资源分区使用,核心业务数据主要存储在新楼,通过数据同步方式,将重要数据备份到旧楼的存储,实现数据的异地备份保存。如图1 所示,播出网络系统在新楼6 层机房部署了一套分布式存储集群(下文简称“主集群”),在主楼3 层机房部署了一套分布式存储集群(下文简称“备集群”),两个集群提供播出成品中心的业务数据访问,组成播出双数据中心架构。新楼的业务数据根据重要程度,将非常重要的数据,如:重点频道、重要节目,以异步方式备份到旧楼存储,确保主集群存储出现问题时,重要业务可以快速切换到备集群。

图片.png

一 数据中心组网技术方案

分布式存储的组网分为前端网络和后端网络组网。前端网络主要是提供对外的业务数据读写,根据业务规模和读写效率、并发需求等综合考虑,传输协议匹配存储的文件系统选型。

本系统的存储前端组网采用万兆光纤方式,对外提供15 个频道,来自多个送播平台的业务数据访问,如高清送播平台、收录缩编平台、编播管理平台等,提供的读写业务包括网络交片、迁移送播、广告导入等。因此存储的前端网络分别接入这些送播平台的汇聚接入交换机,如图2 所示。

图片.png

分布式存储集群的后端网络主要实现集群各节点数据的分布式计算和传输,可以采用专用的Infiniband 组网,也可以采用通用的万兆光纤以太网的组网方式。Infiniband组网需要节点配置特殊的Infiniband接口卡,节点间通过专用的Infiniband 交换机进行数据交互。而万兆光纤以太网组网方式节点间只需要通用的光纤交换机即可。两者在传输效率上均可满足业务系统的需求,考虑到系统的规模、备件的可持续性维护需求,本系统在后端网络组网方式上选择了更为通用的万兆光纤以太网的组网方式。

因此,本系统在分布式存储的组网方式上采用了前2×10GE、后2×10GE 的网络架构, 如图3 所示。

图片.png

在今年6 月国家广播电视总局广播电视规划院广播电视计量检测中心出具的《广东广播电视台高清/ 超高清播控中心播出网络及系统集成项目检测报告》中,主存储集群读性能平均为 1634.6MB/s,写性能平均为 2227.2MB/s,混合读写性能平均为 2206.9MB/s。对50Mbps 的高清素材的单流读写可达到350 倍速,充分满足业务系统对存储性能的要求。

1. 前端网络与分布式文件系统关键技术解析

本系统选用了NAS 架构作为存储集群前端业务访问的基础架构。存储集群的NAS 存储服务如图4 所示,本系统主要使用负载均衡和远程复制技术。

图片.png

文件服务层结构如图5 所示,协议层对外提供基于NFS、CIFS和FTP 等协议的传输服务,采用内置的DNS 实现负载均衡。本系统配置了存储访问的域名,业务客户端通过域名访问存储,协议层解析域名,并根据负载均衡策略返回一个IP 地址(九节点×2共18 个IP 地址选一个),业务客户端再根据这个IP 地址进行数据的读写访问。

图片.png

文件服务层作为一个中间件,对上层协议层提供用户代理接口CA(Client Agent I/O),对下层文件系统提供元数据服务MDS(Metadata Service)。CA 是相互独立的,可以独立访问所有节点的元数据服务,看到文件系统指向的所有存储空间。而NAS 架构的文件系统本质上是基于目录结构的,如图6 所示,本系统配置的是单一的文件系统,目录结构是关键的元数据信息。所以元数据MDS 服务是基于动态子树技术的,单一的文件系统树分为多个子树,被分配给多个MDS 服务器,这样元数据访问的负载就可以被分配给所有节点。

图片.png

如此,业务客户端基于存储分布式文件系统的域名负载均衡策略,得到某个节点的一个IP 数据访问地址,然后通过该节点的用户接口代理CA,访问所有节点的MDS 服务,实现了分布式文件系统元数据访问的负载均衡。

2. 后端网络实现节点间分布式RAID 技术

本系统的后端网络采用Share-nothing 的分布式计算架构。每一个节点都是独立、自给的,而且整个系统中没有单点资源的竞争。在分布式RAID 技术上,采用基于纠删码的N+M:B 冗余策略,其中N 为节点个数,该策略下集群在M 块硬盘或B 个节点故障的情况下还能继续工作。本系统9 节点集群配置为最多能坏2 块硬盘或1 个节点,磁盘利用率约为76%

如图7 所示,文件首先被切分成4GB 大小的数据块,而每个数据块又被分为多个128KB 的条带数据,根据系统的冗余策略N+M:B,每N份条带数据为一组,运算生成M 份冗余校验数据,这N+M 份的数据就组成了一个分条,以并发的方式写入N+M 个硬盘当中。

图片.png

二 三级缓存提升读写性能

在读写性能的提升方面,存储集群使用了全局缓存的方式来实现。全局缓存的组成要素如图8 所示,分为一级缓存、二级缓存和保电缓存。

本系统的每个节点配置了两个600G 的SAS 盘作为节点的操作系统盘,文件系统的CA 服务架构在节点操作系统上。而每个分条由业务数据和冗余校验数据组成。故集群的一级缓存部署在节点层面,基于CA 客户代理服务,以文件数据为缓存对象,以文件分条作为缓存单位。主要是在文件的层面,针对热点文件进行预读和加速热点文件的分条缓存。

本系统的每个节点都配置了一个1T 的SSD 缓存加速盘,作为分布式存储集群的二级全局缓存的硬件。SSD 盘作为数据块元数据和数据块缓存,只用于本节点上所有硬盘上的热点数据。与操作系统的缓存策略类似,SSD 主要用于加速该节点的条带或分条访问速度,提高缓存命中率,起到保护底层硬件磁盘的作用。

本系统的数据写入模式采用Write-back 回写方式,写缓存是通过第三级全局缓存“保电缓存”来实现的。业务数据写操作刷新一级缓存以后,会对数据进行条带切分和计算校验数据,分条中的条带数据和校验数据一起写入每个节点的保电缓存中,然后马上就可以响应客户端写操作成功。由于保电缓存是基于DVDIMM 的,有断电保护的作用,既保证了数据的完整性,又提升了系统的响应效率。

图片.png

三 异步远程复制技术实现热备容灾

本系统的双数据中心热备容灾基于目录快照的异步远程复制技术,如图9 所示,启动数据同步前,先在主目录上创建基准快照,本系统的主目录为主集群的文件目录,选择重点频道的重要节目数据进行远程复制。首次同步全量数据,以后只同步增量数据(基准快照相比之前最后一次主端目录快照的数据变更),数据同步完成后,为从目录创建一致性快照,本系统的从目录为备集群的文件目录。

正常状态下,客户端仅从主目录读写数据,无法读取从目录。从目录的数据需要采用远程复制的方式从主目录读取。当主集群失效时,客户端无法从主目录正常读写数据,此时取消从目录的写保护机制,从目录快照回滚,数据还原至最近的一致性快照点状态,从目录变为可读写的状态。

此时,客户端需重新挂载从目录,读取重点频道的重要节目数据,保证核心业务不中断。此时主、从目录无数据同步。当主集群修复完成后,启动主从切换,并为新的从目录(原来的主目录)设置写保护,新从目录进行快照回滚,数据还原至最近一次一致性快照点,新从目录变为只读。恢复数据同步,备份方向与初始方向相反。当主集群完成最新的数据备份后,再次进行主备目录切换,系统恢复至最初始的主从状态,客户端重新挂载主目录,恢复所有的在线业务。

图片.png

四 结语

本系统的双数据中心架构基于分布式存储的高可用技术,结合广东台新播控中心网络系统的业务特点,实现了对外业务数据的统一访问与负载均衡,对内文件系统元数据和业务数据的分布式读写以及性能的优化,为安全播出提供了坚实的保障。

转载请注明来源:《现代电视技术》 作者:广东广播电视台 翟萌 周文泉 肖凤萍