存储极客
在发布了《存储极客:这些硬盘参数你都懂吗?(上)-从案例引发的讨论》和《存储极客:这些硬盘参数你都懂吗?(下)-监控选型与系统设计》两篇之后,我们收到了来自一些视频专业厂商朋友的反馈,其中有很多值得与大家分享的信息。
监控硬盘的前生今世
关于桌面硬盘、企业级近线硬盘(NL-SAS/SATA)和监控硬盘的差别,我们在前文中已经讲得很详细,这里再换一个角度来看看。
“监控硬盘是希捷和西数为视频监控定制的,典型的写多读少,一般读写比例为10:1。假设将读写比例变成1:1,则坏盘速度非常快。(企业级近线硬盘和监控盘的抗振能力)是不一样的,用的RV Sensor和算法都不一样。”
——浙江宇视科技有限公司 数据中心产品部总工 许钟声
这个与监控硬盘的设计思想和定位有关,按照我的理解,是在桌面硬盘的基础上尽量少增加硬件成本的情况下,对固件进行优化,使之在视频监控应用中能够有更好的表现,包括平均无故障时间和抗振能力等。
多年前,希捷只有一款专门定位于视频应用的SV35,就是今天监控硬盘的前身。当时我还曾与硬盘厂商的朋友开玩笑说:“它与桌面硬盘的区别就是写缓存算法吧?”
实际上可能不止于此,我们先来看看官方是怎么说的?
监控优化固件以提升耐用性:
● ATA串流指令支持流畅的视频录制和回放,支持从多视频流录制更高分辨率的视频并可以尽可能减少掉帧
● 指令完成时间更短,可以提升硬盘吞吐量,支持更多的摄像头、更高的分辨率
● 节能模式可以全面减少功耗和发热
● 可以在更高的温度下运行,独特的监控搜索配置文件可将发热降至***
● 噪声更低,运行更加安静
● 为快速写入而优化的数据高速缓存,支持更多的摄像头且不影响吞吐量和性能
大存储容量:
● 存储容量足以应对全天候运行和多摄像头应用
● 支持高分辨率视频和存档的监控录像
物理设计改进:
● 平衡马达可以将硬盘造成的振动降至***并且可以降低噪音
● 耐用的硬盘元件可以保证写入优化和全天候运行模式下的可靠性
监控存储应用的特点就是流式写入,I/O数据块较大,但不代表就是完全的顺序写入,因为还要考虑多路监控并发写入带来的影响。监控硬盘的***特点应该是缓存针对写入做***优化,一旦出现异常断电,丢失个几MB或者几十MB数据对视频监控系统来说没有多大影响。
也就是说,这种硬盘不需要为传统服务器工作负载而考虑;而企业级近线硬盘,需要能适应多种应用场景,会尽可能地保证数据一致性。以前在RAID环境中有专门的缓存保护技术,像数据库等关键应用通常建议关闭硬盘上的写缓存。
在上一篇中,我们提到了“希捷在***一代Enterprise Capacity 8TB型号上内置了2MB NOR闪存,用于掉电时备份写缓存数据,因此可以打开WCE(Write Cache Enable)提升随机写性能。”这是企业级硬盘为兼顾性能和掉电保护做出的一种改良。
HGST***的大容量企业级近线充氦硬盘,支持2种写缓存保护机制。除了在SAS接口版本上提供非易失性的NVC Quick Cache之外,还有另一种技术Media Cache——“开辟一小部分磁道作为将随机写I/O变成顺序写入的缓冲区”。
此外还有一个“Rebuild助手”模式。举例来说,在多块硬盘配置RAID+热备盘的情况下,如果故障盘只是某个磁头失效,那么在重建的过程中,其它碟面上的数据就可以从故障盘直接拷贝到热备盘,以减少对整个RAID组中其它硬盘增加的I/O开销,加快Rebuild过程同时减少二次故障风险。据了解,希捷现在也具备类似的技术,该功能需要配合RAID卡/控制器来实现。
监控硬盘显然不愿这样提高成本,加大DRAM写缓存的使用可以减少磁头写操作的次数,在同等硬件条件达到了一定的延长寿命的效果。但事物总是一分为二的,这种优化相应地就会削弱硬盘原本的读缓存,所以如果超出传统监控使用范围,读操作比例增大就会导致坏盘率提高。
所以,监控硬盘的应用场景是限定的,而企业级近线硬盘可胜任更广泛的用途。像噪音更低,实现方式就是降低转速和寻道速度,而性能则是“够用就好”的原则。至于物理设计改进,监控盘使用的组件比企业级近线硬盘还是要降低一个等级的。
传统RAID限制及应变之道
这里再引用一段许先生给我们的反馈:
“不是监控盘的RAID硬盘个数小于等于16个,即使用企业盘一般单阵列内推荐的硬盘数量也不超过16个(实际不超过15个左右),除了你说的共振之外,最主要的是性能,单RAID阵列从3-15块硬盘递增,性能也是递增的,但是超过十五块盘,性能会开始下降。一般的做法是24盘位阵列:11+12+1,性能***。”
许先生是监控存储方面的专家,考虑问题以及推荐的一般做法,都是以监控用途为出发点。除了性能之外,传统RAID组中磁盘数量越多,Rebuild时要读取的数据量也是成正比的(前面介绍的硬盘快速Rebuild技术目前应用还不普及),出现第2、3坏盘的概率也会增大。
我的另一位朋友杨小雷也曾在微博里面提到,在RAID卡固定条带大小的情况下,参与硬盘数量越多Rebuild速度也会越慢。
因此在RAID卡和一些设计比较传统的磁盘阵列上,硬盘数多了之后一般需要人为分成多个RAID组,在操作系统的卷管理器层面,再根据需要“拼”或者条带化成逻辑卷。在今天看来这样不是太方便,并且对规划人员也会有要求。那么如果我们在底层不愿意分成多个RAID组,解决之道就是宽条带化。
如上图,左边的“传统存储系统”基于磁盘做RAID,当RAID上的LUN映射给某个前端主机时,它的性能会受限于该RAID组的磁盘数量。而像以戴尔SC(Compellent)等为代表的存储系统,先将磁盘切割为数据块(粒度细化的可达到512KB-4MB),然后在这些数据块/页面之间做RAID。也有人后来给宽条带化RAID起了RAID 1.5、RAID2.0… 的叫法。
由于底层虚拟化打散的原因,宽条带化RAID可以在更大的存储池上,保持理想的数据/冗余校验位比例,比如RAID 5 4+1和RAID 6 8+2等。这样单个LUN就能享受到整个磁盘池的性能,同时还不用面对传统RAID组磁盘数量过多所带来的问题。
宽条带化比传统RAID更加智能,而这只是先进的企业级存储系统相对于使用RAID卡或者软RAID搭建廉价存储服务器的优势之一。尽管许多监控存储在成本控制上要求较高,但是“高投入、高回报”的道理仍然适用。除了存储操作系统、硬盘选择之外,一款设计优秀的双控制器阵列还在更多方面保障设备的可靠性和可用性,包括我们前文谈过的共振考虑,以及冗余模块化组件无单点故障等。
相关内容导读
↓↓↓
《高密度盘柜难点:评戴尔SCv2080结构设计》
《戴尔SCv2000:入门级阵列硬件设计功力》
存储极客 | 这些硬盘参数你都懂得吗?
存储极客 | 这些硬盘参数你都懂得吗?(下篇)