磁盘阵列简称RAID,磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢磁盘,组合成一个大型的磁盘组,利用个别磁盘提供数据所产生的加成效果来提升整个磁盘系统的效能。根据不同的市场定位,不同型号的盘阵结构和各项技术指标会有或大或小的区别,如控制器数量、缓存容量、管理终端、接口类型等。作为监控存储应用技术,本文重点介绍其突出优势及关键部位。
磁盘阵列技术在视频监控应用
在传统的视频监控应用中,比如:小区、楼宇、园区监控等,对数据可靠性要求并不高,其监控数据的有效利用率一直保持在很低的比例上,一旦不幸运遇到硬盘故障,损失一块硬盘的数据对这些应用来讲都是可以承受的,大量的嵌入式录像设备厂商正是看重这一点,推出使用单盘模式的廉价NVR,免去支持硬盘数据冗余带来的成本提升;由于不做RAID,可以配置同样廉价的监控级硬盘,大大降低录像产品与方案的整体成本,低成本优势大大提升嵌入式NVR的出货量。
众所周知,RAID技术可以消除硬盘故障带来的数据丢失和业务中断,但是它也对硬盘本身提出要求,一般要求是企业级硬盘,这种硬盘的固件对处于RAID工作环境下的各种状态进行调优,例如:可以对RAID下多块硬盘一起工作时产生的共振进行很好的磁头偏移补偿、可以固化一个硬盘错误处理的响应时间,以免错误修复时间过长,被RAID误以为硬盘不响应而踢掉、支持较好的并发读写性能等;这些调优都极大的增强了企业级硬盘在RAID环境的可用性。
如果是低成本的监控级硬盘,由于硬盘固件本身的限制,不能很好的在RAID环境中工作;例如:没有针对共振的磁盘校正,RAID环境下数据读写出错机率大增,而监控级硬盘并没有固化错误处理的响应时间,硬盘忙时一个错误处理可长达2~5分钟,而一般RAID允许的硬盘响应时间为30秒左右,造成RAID掉盘现象增加,甚至连RAID初始化都完成不了;在RAID5工作和重构过程中,在写数据之前需要读出大量数据进行校验计算,但是监控级硬盘的读性能表现显然没有它的写性能表现好,大量的读IO队列经常堵塞,而造成多块硬盘的响应时间严重增加,可能导致批量掉盘。
对于视频监控应用来说,只有付得起企业级硬盘高成本的高端用户才可以享受得起传统RAID技术带来的数据可靠性好处,传统RAID技术与监控级硬盘的糟糕兼容表现已经成为向大量视频监控中低端用户普及的阻力。
磁碟阵列优势明显
可提高传输速率。RAID通过在多个磁碟上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁碟驱动器同时传输数据,而这些磁碟驱动器在逻辑上又是一个磁碟驱动器,所以使用RAID可以达到单个磁碟驱动器几倍、几十倍甚至上百倍的速率。这也是RAID初想要解决的问题。因为当时CPU的速度增长很快,而磁碟驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。因此就有了RAID。
通过数据校验提供容错功能。普通磁碟驱动器无法提供容错功能,如果不包括写在磁碟上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁碟驱动器的硬体容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢復的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。
磁碟阵列关键部位
◇阵列控制器(或者存储处理器)
阵列控制器采用专门处理数据存储和系统管理的单片机、工控机、服务器,前端提供对服务器的连接,后端连接磁盘及磁盘扩展柜,采用优化的通用或专用操作系统,以及独有的控制软件实现数据的存储转发和整个阵列的管理(有些磁盘阵列系统采用专门的管理终端)。控制器所带缓存可暂存外部服务器向盘阵读写的数据,或者暂存控制器向后端磁盘读写的数据,能大大提高访问的效率。盘阵根据控制器数量可分为无控制器、单控制器、双控制器和多控制器几种,它们各自有不同的市场定位。
◇磁盘及磁盘扩展柜
磁盘是盘阵存储数据的物理介质,它装在磁盘柜或磁盘扩展柜中,目前用于盘阵的主要硬盘类型如表1所示。作为盘阵中风扇之外的第二个持续运转的部件,硬盘是盘阵中的易损物,为了减少或防止磁盘故障导致的数据丢失,一般都会采用RAID技术来容错。磁盘扩展柜用于安装磁盘,扩展存储容量。磁盘扩展柜提高了系统扩容的灵活性和方便性,实现按需分步的扩展。
◇电源
电源为整个磁盘阵列系统供电,包括控制器、磁盘及扩展柜、管理终端。根据对可靠性要求的不同来选择单电源或者多电源。为防止冗余电源同时发生故障,中高端盘阵还需配备电池,能够确保外部电源出现故障后,系统能继续维持一段时间运转,让系统能将缓存中数据写入磁盘中。
软体硬体多方应用
磁碟阵列有两种应用方式可以实现,那就是“软体阵列”与“硬体阵列”。
软体阵列是指通过网路操作系统自身提供的磁碟管理功能将连接的普通SCSI卡上的多块硬碟配置成逻辑碟,组成阵列。软体阵列可以提供数据冗余功能,但是磁碟子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。
硬体阵列是使用专门的磁碟阵列卡来实现的。硬体阵列能够提供在线扩容、动态修改阵列级别、自动数据恢復、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作,它的性能要远远高于常规非阵列硬碟,并且更安全更稳定。
磁碟阵列其实也分为软阵列(SoftwareRaid)和硬阵列(HardwareRaid)两种。软阵列即通过软体程序并由电脑的CPU提供运行能力所成。由于软体程式不是一个完整系统故只能提供基本的RAID容错功能,其他如热备用硬盘的设置,远程管理等功能均一一欠奉。硬阵列是由独立操作的硬体提供整个磁碟阵列的控制和计算功能,不依靠系统CPU资源。由于硬阵列是一个完整的系统,所有需要的功能均可以做进去。所以硬阵列所提供的功能和性能都比软阵列好;而且,如果你想把系统也做到磁碟阵列中,硬阵列是的选择。故我们可以看市场上RAID5级的磁碟阵列均为硬阵列,软阵列只适用于Raid0和Raid1。对于我们做镜像用的镜像塔,肯定不会用Raid0或Raid1。作为高性能的存储系统,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出,已经发展了七个级别,其级别分别是RAID0、1、2、3、4、5、6等。但是常用的是RAID0、1、5、6四个级别。