磁盘阵列(Redundant Arrays of Independent Disks,RAID),通过软件或者硬件的手段将多个磁盘整合成一个磁盘来使用,以此来提高磁盘的性能,并提供数据冗余的功能。
目前常见的RAID等级:
raid0,被称为条带卷。
条带卷,我们可以通过名字来想象:RAID0通过把文件切割之后把数据像一条带子一样平铺在每个磁盘之上。
由于文件的数据分布在每个磁盘上,所以其中一个磁盘出现问题的时候,文件就会由于缺失了某部分而损坏。并且RAID0不提供冗余,所以不需要额外使用空间来储存校验码。所以磁盘空间都可以用作储存文件。
并且,磁盘的实际容量体现为木桶理论(最小的水平决定整体的水平)。假如有4个磁盘,分别320G,500G,1T,2T。则实际的容量为 最小容量的盘 乘以 硬盘数量 ,即320G乘以4。
读写性能由于磁头数的增加,所以读写的时候磁头之间可以可以实现分工合作。所以读写性能提升。
RAID1,称为镜像卷。
由名字可以理解,RAID1提供完全冗余。也就是说,假如有两个相同大小的磁盘,RAID1的实际容量只有一个磁盘的大小。而另外一个磁盘储存着相同的数据内容。需要注意的是,RAID1不提供数据校验的冗余,所以不需要提供额外的空间储存校验块。
由于写入的时候需要对文件进行切片(分割成chunk,raid的文件块),并且磁盘需要写入相同的内容。所以写性能不会提升,甚至有所下降。
而读取的时候,有与磁盘里面储存的内容相同,可以通过从不同磁盘里面读取数据,所以数据读取速度有所提升。
RAID4
提供数据冗余,实际容量同样遵循木桶理论。比较特别的是,RAID4将所有的数据校验码都储存在同一个磁盘上。所以当任何一个磁盘出现问题的时候,都要去校验盘那里读取数据以计算损坏了的文件。
因此校验盘的性能容易成为整个RAID设备性能的瓶颈。由于需要额外的空间来储存校验块以实现数据冗余,所以实际的可用空间为:最小的磁盘容量 乘以(磁盘数量-校验盘)
RAID5
目前流行的磁盘阵列类型。为了解决RAID4中检验盘性能的瓶颈。RAID5中把校验块分布到每个磁盘中,当数据损坏的时候,由于校验块不会集中在某个磁盘上,所以每个磁盘的IO压力都不会太大。
磁头整体数量增多,读写速度提升。
实际的磁盘空间为:最小的磁盘容量 乘以(磁盘数量-1)
其中1为检验块的总体比例,即储存两个文件数据时就要储存一个校验块。
而由于避免校验块都储存到同一个磁盘上,所以在设计上检验块会偏移。
所以根据第一个数据块储存在哪个盘上,也可分为左对称和右对称。
RAID6
在RAID的基础上进行改进,通过假如增加校验块,而有更好的容错能力。
由于整体的磁头数量增加,所以读取速率提升。
但是由于写入数据时不仅要写入文件数据,还要计算并写入两个校验块。所以写入速率性能下降
并且由于增加了一位校验块,RAID控制器要求更加复杂,所以在数据安全和磁盘性能中进行取舍,RAID5更受欢迎。
实际的磁盘空间为:最小的磁盘容量 乘以(磁盘数量-2)
原创文章,作者:菠菜,如若转载,请注明出处:http://www.178linux.com/10653