存储 频道

讨论RAID cache经验总结

  【IT168 技术】RAID还是比较常用的,于是我研究了一下RAID cache,在这里拿出来和大家分享一下,希望对大家有用。存储是目前IT产业发展的一大热点,而RAID技术是构造高性能、海量存储的基础技术,也是构建网络存储的基础技术。专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全性。

  20年来,RAID 推出了一系列级别,包括RAID 0、RAID 1、RAID 2、RAID 3、RAID4、RAID 5,以及各种组合如 RAID 0+1 等。其中最广泛的包括RAID5与RAID10.但是一直以来,关于RAID5与RAID10的性能优劣的争端还是非常多的,甚至很多人包括很多公司都那拿出了测试数据。而这些测试数据复杂难懂相互矛盾,更加让用户感到迷惑,不知道如何选择。

  在这里,我将就这两种RAID的内部运行原理来分析一下,看看我们在什么情况下应当适合选哪一种RAID方式。根据我的经验与分析:象小io的数据库类型操作,如ERP等等应用,建议采用RAID10,而大型文件存储,数据仓库,如医疗PACS系统、视频编辑系统则从空间利用的角度,建议采用RAID5. 下面请看详细的性能对比:

  为了方便对比,我这里拿同样多驱动器的磁盘来做对比,RAID5选择3D+1P的RAID方案,RAID10选择2D+2D的Raid方案。那么,我们分析如下三个过程:读,连续写,随机写,但是,在介绍这三个过程之前,我需要介绍另外一个磁盘阵列中的重要概念:RAID cache。

  磁盘读写速度的关键之一:RAID cache

  RAID cache技术最近几年,在磁盘存储技术上,发展的非常迅速,作为高端存储,cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的RAID卡,一般都包含有几十,甚至几百兆的RAID cache。

  cache的主要作用是什么呢?作为缓存,cache的作用具体体现在读与写两个不同的方面:作为写,一般存储阵列只要求数据写到cache就算完成了写操作,当写cache的数据积累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入。所以,阵列的写是非常快速的。至于cache数据的保护,一般都依赖于镜相与电池(或者是UPS)。

  cache在读数据方面的作用一样不可忽视,因为如果所需要读取的数据能在cache中命中的话,将大大减少磁盘寻道所需要的时间。因为磁盘从开始寻道到找到数据,一般都在6ms以上,而这个时间,对于那些密集型I/O的应用可能不是太理想。但是,如果能在cache保存的数据中命中,一般响应时间则可以缩短在1ms以内。

  不要迷信存储厂商的IOPS(每秒的io数)数据,他们可能全部在cache命中的基础上做到的,但是实际上,你的cache命中率可能只有10%。介绍完cache,我们就可以解释RAID5与RAID10在不同的模式下,工作效率问题了,那么我们来分别分析读操作、连续写和离散写三方面的问题。

4
相关文章