简介
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。1
关键技术元数据管理在大数据环境下,元数据的体量也非常大,元数据的存取性能是整个分布式文件系统性能的关键。常见的元数据管理可以分为集中式和分布式元数据管理架构。集中式元数据管理架构采用单一的元数据服务器,实现简单.但是存在单点故障等问题。分布式元数据管理架构则将元数据分散在多个结点上.进而解决了元数据服务器的性能瓶颈等问题.并提高了元数据管理架构的可扩展性,但实现较为复杂,并引入了元数据一致性的问题。另外,还有一种无元数据服务器的分布式架构,通过在线算法组织数据,不需要专用的元数据服务器。但是该架构对数据一致性的保障很困难.实现较为复杂。文件目录遍历操作效率低下,并且缺乏文件系统全局监控管理功能。
系统弹性扩展技术在大数据环境下,数据规模和复杂度的增加往往非常迅速,对系统的扩展性能要求较高。实现存储系统的高可扩展性首先要解决两个方面的重要问题,包含元数据的分配和数据的透明迁移。元数据的分配主要通过静态子树划分技术实现,后者则侧重数据迁移算法的优化。此外,大数据存储体系规模庞大.结点失效率高,因此还需要完成一定的自适应管理功能。系统必须能够根据数据量和计算的工作量估算所需要的结点个数,并动态地将数据在结点间迁移。以实现负载均衡;同时.结点失效时,数据必须可以通过副本等机制进行恢复,不能对上层应用产生影响。
存储层级内的优化技术构建存储系统时.需要基于成本和性能来考虑,因此存储系统通常采用多层不同性价比的存储器件组成存储层次结构。大数据的规模大,因此构建高效合理的存储层次结构,可以在保证系统性能的前提下,降低系统能耗和构建成本,利用数据访问局部性原理.可以从两个方面对存储层次结构进行优化。从提高性能的角度,可以通过分析应用特征,识别热点数据并对其进行缓存或预取,通过高效的缓存预取算法和合理的缓存容量配比,以提高访问性能。从降低成本的角度,采用信息生命周期管理方法,将访问频率低的冷数据迁移到低速廉价存储设备上,可以在小幅牺牲系统整体性能的基础上,大幅降低系统的构建成本和能耗。
针对应用和负载的存储优化技术传统数据存储模型需要支持尽可能多的应用,因此需要具备较好的通用性。大数据具有大规模、高动态及快速处理等特性,通用的数据存储模型通常并不是最能提高应用性能的模型.而大数据存储系统对上层应用性能的关注远远超过对通用性的追求。针对应用和负载来优化存储,就是将数据存储与应用耦合。简化或扩展分布式文件系统的功能,根据特定应用、特定负载、特定的计算模型对文件系统进行定制和深度优化,使应用达到最佳性能。这类优化技术在谷歌、Facebook等互联网公司的内部存储系统上,管理超过千万亿字节级别的大数据,能够达到非常高的性能。2
应用方案在一个视频监控系统中,选择什么样的存储解决方案直接决定了整个系统的系统架构以及系统的性能和稳定程度。
一种是在摄像监控前端采用有一定存储容量(如1.2T)的DVR设备,所有需要的数据均保存在前端DVR的存储设备中,比较好的方案中,后台软件可以管理和维护多台的DVR设备,包括这些DVR设备的存储数据,如录像的转存、删除和回放等功能。这种方案中所有数据主要保存在DVR中,后台主要负责维护和必要的存储。
另一种是在摄像监控前端采用DVR或者网络视频服务器,而存储主要在远端通过后台的PC或者服务器软件来将数据保存在后台的存储设备上。
上述两种存储方案均有很多弊端,尤其当监控点很多,需要的存储量又很大的情况下,这些可能的弊端包括:由于存储分散导致难以维护;由于存储的专业程度不高导致存储的可靠性不高,进而导致整个系统的可靠性不高;存储的利用率不高;存储的扩展性不好。
为了克服这些弊端,并推荐使用基于分布式存储、集中管理思路的、以及基于iSCSI技术的IPSAN来作为视频监控的存储解决方案,这个方案的主要特点包括:
1、分布式存储,集中管理;
2、基于iSCSI技术的IPSAN(STorageAreaNetwork);
3、流媒体网关可以作为存储解决方案的核心设备。
集中管理在这个方案中,共有三级:
1、上级监控中心:上级监控中心通常只有一个,主要由数字矩阵、认证服务器和VSTARClerk软件等。
2、本地监控中心:本地监控中心可以有多个,可依据地理位置设置,或者依据行政隶属关系设立,主要由数字矩阵、流媒体网关、iSCSI存储设备、VSTARRecorder软件等组成;音视频的数据均主要保存在本地监控中心,这就是分布式存储的概念。
3、监控前端:主要由摄像头、网络视频服务器组成,其中VE4000系列的网络视频服务器可以带硬盘,该硬盘主要是用于网络不畅时,暂时对音视频数据进行保存,或者需要在前端保存一些重要数据的情况。
本地监控中心的存储设备也可以用一台服务器,带SCSI磁盘阵列的形式,但由于服务器的网络收发性能有限,从而影响整个存储系统的性能,因此有建议选用专业的iSCSI存储设备。
IP SAN1) iSCSI原理简介
iSCSI 是由IETF 开发的一种基于存储网络的新的Internet 协议,iSCSI 的原理是将SCSI 命令通过IP 网络传输,这样就可以使在网络上传送数据更加便利,而且可以实现远程存储管理。
iSCSI 使标准的SCSI 命令能够在TCP/IP 网络上的主机系统(启动器,Initiator)和存储设备(目标器,target)之间传送。而且iSCSI 协议支持在系统之间传送标准的SCSI 命令。在系统之间的连接是通过标准的IP 网络基础设施实现的,iSCSI 的协议模型如图1 所示。
图2 iSCSI 的协议模型
iSCSI 的工作原理是:当终端用户或应用程序(启动器)发送一个请求后,操作系统将生成一个适当的SCSI 命令和数据请求,SCSI 命令通过封装,在需要加密的时候要执行加密处理。这些命令加上TCP/IP 协议的包头,就可以在以太网上传输。接收端(目标器)在收到这个数据包后按照相反的方向进行解包,解析出SCSI 命令和数据请求,SCSI命令再发送给SCSI 存储设备驱动程序,因为iSCSI 是双向的协议,所以它可以将数据返回给原来的请求。
2) 基于IP SAN的网络存储方案
图3 基于IP SAN 的网络存储方案
在这个解决方案中,网络视频服务器需要支持iSCSI 协议,是启动器,而位于监控中心的iSCSI 存储设备则是目标器。本地监控中心的iSCSI 存储设备可以充当多个网络视频服务器的存储设备,而且iSCSI 存储设备还可以再外挂磁带设备,进一步扩大存储容量。
网络存储方案在网络存储方案中,每台网络视频服务器均占有一个IP,如果希望通过Internet 来进行远程监控,则网络视频服务器的IP 地址必须是公网IP,在通常情况,公网IP 地址都是稀有资源;另外远程监控受到网络容量的限制以及网络拥塞的影响,带宽通常不能保证,给远程监控带来了不便,而卓扬科技的流媒体网关可以解决这两个问题。
卓扬科技的流媒体网关是一个嵌入式的硬件设备,所有的报文转发均是基于硬件转发(如果是软件转发,性能达不到要求),报文的转发能力可以达到1Gbps 以上,卓扬科技的流媒体网关的主要功能包括:
支持NAT 转换功能
支持视频分发功能,当多个远程监控的用户访问同一台网络视频服务器的时候,均需要向流媒体网关发请求,然后流媒体网关再向网络视频服务器发出请求,当流媒体网关收到网络视频服务器的数据后(注意视频服务器与流媒体网关之间的数据流只有一份)再负责分发给远端的多个监控用户支持视频点播服务,远端用户可以通过流媒体网关完成视频点播的功能支持iSCSI 的Initiator
卓扬科技的流媒体网关可以对上述的功能进行分别进行配置。
下图是一个流媒体网关与IP SAN 结合的网络视频监控的解决方案,在方案中,流媒体网关没有使能iSCSI 的Initiator,iSCSI 的Initiator 是由网络视频服务器完成,其中iSCSI 的存储流是把监控流封装了iSCSI 而成的。
图4 与流媒体网关相配合的网络存储方案1
下图的网络存储方案中,流媒体网关使能了iSCSI Initiator 功能,而网络视频服务器与流媒体网关传送的均是原始的视频数据流(与iSCSI 存储流相比)。
图5 中,需要对数据进行存储的时候,流媒体网关首先从网络视频服务器活动数据(①),然后再通过iSCSI 存储流将视频数据保存到iSCSI 的存储设备上(②)。当A 用户需要进行远程监控的时候,首先A 用户向流媒体网关发出请求(③),流媒体网关再向视频服务器获取数据(①),然后流媒体网关把监控视频数据发送给用户A(③)。当B 用户需要进行视频点播的时候,B 用户首先向流媒体网关发出请求(④),流媒体网关再向iSCSI 存储设备获取数据(②),然后然后流媒体网关把监控视频数据发送给用户B(④)。
图5 与流媒体网关相配合的网络存储方案2
另外,在图4 和图5 中,是否进行NAT 转换视组网需求而定,可以灵活配置。
五、 后记
基于iSCSI 的IP SAN 存储方案无疑是解决存储问题的一个良方,尤其当iSCSI 的存储设备的性能不断提高、价格不断降低的时候,采用这种方式就更是必然的选择,我们深信,基于iSCSI 技术的存储解决方案会逐渐成为大型网络视频监控中存储技术的主流。3
考虑因素一致性分布式存储系统需要使用多台服务器共同存储数据,而随着服务器数量的增加,服务器出现故障的概率也在不断增加。为了保证在有服务器出现故障的情况下系统仍然可用。一般做法是把一个数据分成多份存储在不同的服务器中。但是由于故障和并行存储等情况的存在,同一个数据的多个副本之间可能存在不一致的情况。这里称保证多个副本的数据完全一致的性质为一致性。
可用性分布式存储系统需要多台服务器同时工作。当服务器数量增多时,其中的一些服务器出现故障是在所难免的。我们希望这样的情况不会对整个系统造成太大的影响。在系统中的一部分节点出现故障之后,系统的整体不影响客服端的读/写请求称为可用性。
分区容错性分布式存储系统中的多台服务器通过网络进行连接。但是我们无法保证网络是一直通畅的,分布式系统需要具有一定的容错性来处理网络故障带来的问题。一个令人满意的情况是,当一个网络因为故障而分解为多个部分的时候,分布式存储系统仍然能够工作。4