2024年6月8日发(作者:)

RAID

RAID:独立磁盘冗余阵列(Redundant Array of Independent Disks)

基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚

至超过一个价格昂贵、 容量巨大的硬盘。RAID通常被用在服务器电脑上,使用完全相同

的硬盘组成一个逻辑扇区,因此操作系统只会把它当做一个硬盘。 RAID分为不同的等级,

各个不同的等级均在数据可靠性及读写性能上做了不同的权衡。 在实际应用中,可以依据

自己的实际需求选择不同的RAID方案。

标准RAID

RAID 0

RAID0称为条带化(Striping)存储,将数据分段存储于 各个磁盘中,读写均可以并行

处理。因此其读写速率为单个磁盘的N倍(N为组成RAID0的磁盘个数),但是却没有数据

冗余,单个磁盘的损坏会导致数据的不可修复。

大多数striping的实现允许管理者通过调节两个关键的参数来定义数据分段及写入磁

盘的 方式,这两个参数对RAID0的性能有很重要的影响。

STRIPE WIDTH

stripe width是指可被并行写入的 stripe 的个数,即等于磁盘阵列中磁盘的个数。

STRIPE SIZE

也可称为block size(chunk size,stripe length,granularity),指写入每个磁盘的

数据块大小。以块分段的RAID通常可允许选择的块大小从 2KB 到 512KB不等,也有更

高的,但一定要是2的指数倍。以字节分段的(比如RAID3)一般的stripe size为1字节或

者512字节,并且用户不能调整。stripe size对性能的影响是很难简单估量的,最好在实

际应用中依自己需求多多调整并观察其影响。通常来说,减少stripe size,文件会被分成

更小的块,传输数据会更快,但是却需要更多的磁盘来保存,增加positioning

performance,反之则相反。

应该说,没有一个理论上的最优的值。很多时候,也要考虑磁盘控制器的策略,比如

有的磁盘控制器会等 等到一定数据量才开始往磁盘写入。

RAID 1

镜像存储(mirroring),没有数据校验。

数据被同等地写入两个或多个磁盘中,可想而知,写入速度会比较慢,但读取速度会

比较快。读取速度可以接近所有磁盘吞吐量的总和,写入速度受限于最慢的磁盘。