[编者按]老方是一个系统集成项目经理,在系统集成公司工作多年,积累了多年的系统集成经验。不过最近,老方这个老干部却遇到了新问题,原来,老方所在的公司接到了大量的视频监控集成项目。也难怪,现在社会对治安的要求越来越高,而且随着安防行业的发展,很多原来靠人力监控的项目,如今已经全部换成了先进的自动化视频监控系统。这些视频监控项目也给老方带来了一个不大不小的麻烦,该如何为视频监控方案选择合适的存储系统呢?
其实,由于视频监控系统往往不要求快速的响应时间,后台对存储系统的要求其实幷不十分高端。但是,视频监控产生的视频文件往往比较大,再加上很多系统都要求保存1-3个月、甚至更长时间内的监控资料,对后台存储系统的容量压力自然是不小。此外,视频监控对存储的可靠性及稳定性要求也极为苛刻,还要求系统文件能够灵活方便的进行管理,再考虑到成本的因素,选择存储系统也需要十分慎重。不过老方总结了自己的项目集成经验,为大家讲述了自己在不同规模的视频监控项目中的选型故事,也希望给网友在今后的视频监控项目中的存储选型带来一些参考和建议……
【IT168 专稿】这是老方较早接到的一个视频监控采集与存储的项目。该客户是一个小型的物业管理公司,管理的小区较小,监控点也并不多,由于管理并不算十分规范,加上客户本身预算也十分有限,监控资料保存周期也并不长。客户自己测算过,后台存储空间大约有4TB就足以满足该项目的需求。
客户打算采购一台惠普HP xw8600工作站,配置高端的Xeon X5472(3.0GHz、1600MHz FSB)CPU、16GB内存以及NVIDIA Quadro FX 5600 1.5GB专业显卡,进行三维(3ds Max、Maya等)和视频方面的应用。后端存储容量需求为4TB,但在存储方案方面,客户却较为犹豫,原来客户觉得主机内部SAS硬盘做RAID没有外接磁盘阵列柜的性能好。于是老方帮客户安排了一次测试,以对性能要求苛刻的高清视频采集为标准,目的是实际考察一下哪些存储方案能够满足此类应用,并对它们的性价比进行分析。
测试环境与平台
老方给客户共推荐了3种平台方案,平台一使用HP xw8600工作站主板集成的RAID功能对5块SATA硬盘组建RAID 0(Windows带区卷的情况与之类似),平台二使用HP xw8600工作站主板集成的RAID功能对5块SATA硬盘组RAID 5。平台三采用5块目前容量最大的15000转450GB SAS硬盘和LSI独立硬件RAID卡做RAID 5(实际使用容量1.8TB)。后文中还对SATA硬盘搭配LSI 8888ELP SAS RAID或者第三方SATA RAID卡的情况进行了评估和分析,供大家参考。
HP xw8600工作站硬件配置
主机 惠普HP xw8600工作站
芯片组 Intel 5400
CPU Intel Xeon X5450 3.0GHz 12MB/1333MHz FSB
内存 8GB (4x2GB) DDR2-667 ECC FBD 四通道
显卡 NVIDIA Quadro FX 3700
系统硬盘 160GB SATA 7200rpm
素材硬盘 5×160GB SATA 7200rpm 5×450GB SAS 15000rpm
RAID控制器/级别 板载 / RAID 0 板载 / RAID 5 LSI 8888ELP SAS RAID / RAID 5
软件配置
操作系统 Windows XP Professional x64 SP2
测试软件 Iometer 2006.07.27
说明:老方给客户推荐了1TB SATA硬盘,但测试过程中老方手头却没有足够数量的1TB SATA硬盘,因此采用相同性能级别但容量较小的160GB进行测试。
磁盘子系统测试--平台1
平台一使用主板集成RAID对5块SATA硬盘组建RAID 0,在测试之前,老方先大概了解一下单块160GB SATA硬盘的性能水平。
HD Tach测试单块160GB SATA硬盘
上图显示单盘的最大持续传输率为80MB/s左右(目前的1TB SATA硬盘能达到100MB/s以上),内外圈的平均值为65.6MB/s。通过下文中160GB硬盘的测试结果,可以大致估计出1TB硬盘的性能水平。
Iometer测试软件
由于要测试RAID磁盘阵列的性能,用于PC的HD Tach等测试软件就不再合适了。接下来老方使用业界公认的Iometer。
这里可以看到,RAID 0的读写性能最为平均。根据平台一的测试情况,老方估计5块1TB SATA硬盘组成RAID 0(带区卷)的最大顺序读写速度在400~600MB/s之间,这样的水平足以满足任何苛刻的高/标清视频存储应用,只是其中若有一块硬盘损坏数据就将丢失,不适合对数据安全性要求较高的场合。
磁盘子系统测试:平台二与平台三
平台三采用5块目前容量最大的15000转450GB SAS硬盘和LSI独立硬件RAID卡做RAID 5(实际使用容量1.8TB),由于使用了当前速度最快的15000转SAS硬盘,顺序读取的速度达到了638MB/s;然而由于RAID 5的算法复杂,在写入时只有179MB/s。该配置也能满足大多数的应用,只要同一时间损坏的硬盘数量不超过1块,数据就不会受到影响,因此可靠性比较高。
平台二是使用主板集成RAID对5块SATA硬盘组建RAID 5,SATA RAID 5的顺序读取速度比RAID 0要低一些,但仍在可接受的范围内;而板载RAID 5的写入性能比较差,由于没有专门用于硬件异或运算的芯片,在单线程操作的情况下只有不到50MB/s,甚至不如单块硬盘,这就是有的用户采用该配置进行视频采集时丢帧的原因。
为此,老方又加测了将“队列深度设为32(相当于32个线程并发访问)”时的顺序写入速度,虽然提高幅度很大(此时CPU占用率也达到了7.7%),但是这种情况对于单机的意义不大,只能说明它还可以适用于一些流媒体服务器之类的应用。
使用板载的RAID功能做RAID 5时,为了保守起见磁盘卷的写缓存无法打开(见上图红色方框内的信息),导致在单线程写入时性能低下。
那么,有没有什么解决方案既能够使用大容量且廉价的SATA硬盘,又能够实现比较理想的性能呢?当然有,第一种是外置磁盘阵列柜,这种方案在性能上往往不成问题,只是成本较高,除了硬盘之外(其中包括RAID控制器、机箱、电源等)的价格就要2~4万元。优点是支持硬盘热插拔和可扩展性好(通常拥有8~16个盘位)。
第二种就是在HP xw8600工作站主机内使用LSI 8888ELP SAS RAID卡连接5块1TB SATA硬盘做RAID 5,此时顺序读取的性能应该会明显优于上文中板载RAID 5的293MB/s(1TB硬盘的持续传输率超过160GB不少),而写入速度也能够稳定在SAS RAID 5的179MB/s左右(此时的性能瓶颈不在单个硬盘上,而是在于RAID卡I/O处理器的计算速度)。如果用户对这样的磁盘写入性能还不满意,老方还有使用第三方SATA RAID卡的解决方案,能够获得更好的性能,缺点就是第三方的硬件得不到HP的原厂保修,不过老方所在的系统集成公司同样会为用户提供保修服务。
高清视频采集对磁盘速度的要求
为了更加直观的了解不同精度的高/标清视频采集对磁盘速度的要求,老方用以前给用户配置的HP xw9400双路AMD工作站为例进行分析。这台机器添加了高性价比的Decklink HD Extreme高清视频采集卡,并采用4块15000转SAS硬盘组成的带区卷(相当于RAID 0)作为素材盘。
上图为Decklink采集卡自带的磁盘速度测试程序,看到“AV”盘(即4块SAS硬盘的带区卷)的数据读取和写入速度都有330MB/s左右(注:为了保证整个磁盘分区都能达到该水平,这里测试的是带区卷/RAID尾部的速度,即硬盘内圈最慢的区域,而上文中的测试数据大多是磁盘外圈速度),这样的水平在进行质量最好的12bit RGB 4:4:4 1080p高清无压缩视频采集时还能达到36帧/秒的速度。
通过推算,列出了视频采集格式(高清)与磁盘速度之间的对应关系。如下表:
视频采集格式(PAL制式) 需要的磁盘速度(大致值)
8bit YUV 4:2:2 1080p 25fps 100 MB/s
10bit YUV 4:2:2 1080p 25fps 134 MB/s
10bit RGB 4:4:4 1080p 25fps 202 MB/s
12bit RGB 4:4:4 1080p 25fps 230 MB/s
几种视频存储方案的对比分析
最后,看看上面的几种解决方案分别能够满足何种级别视频应用的水平。由于目前业内很少有人会用到12bit颜色精度,因此主要以“10bit RGB 4:4:4 1080p 25fps”要求的202 MB/s磁盘读写速度作为衡量标准。
首先是5块SATA硬盘的RAID 0(带区卷),以硬盘内外圈速度相差1倍的最保守情况来估算,使用目前的1TB硬盘组建完全能够达到全高清的水平;而板载的SATA RAID 5就差得远了,甚至连满足标清视频采集都有困难;至于惠普工作站选配的LSI 8888ELP SAS RAID卡,无论搭配SAS还是SATA硬盘做RAID 5,都达不到10bit 4:4:4高清采集的要求,只有退而求其次使用10bit 4:2:2的高清视频格式。
其实效果更好的方法是使用第三方SATA RAID卡,这也是老方主要推荐的方案。根据以往的经验,4块硬盘的RAID 5做高清还是有些勉强,不过HP xw8600工作站机箱在不要软驱的情况下最多能够安装6块3.5”素材硬盘(不包括系统盘,如果去掉光驱能上7块),再加上最新的1TB硬盘传输率进一步提高,就应该能够满足高清视频采集的应用。
如果用户还需要更大的存储容量和更高的速度,可以考虑添加一个8盘位的外置硬盘箱(JBOD,不包含RAID控制器),与工作站主机之间通过RAID卡的外部接口来连接,其实这早已经是成熟的方案了。
注:通常情况下,RAID 5的性能随着硬盘数量的增加而提高。