Raid,在过往叫做Redundant Arrays of Inexpensive Disks,中文名叫廉价磁盘冗余矩阵,但是随着技术的发展,磁盘价格也越来越物廉价美,慢慢Raid的定义也随之跟着改变。现今,Raid往往被称为独立磁盘冗余矩阵(Redundant Arrays of Inexpensive Disks),其主要作用为将数量众多的存储硬盘整合为一个硬盘矩阵,这个矩阵不仅提供存储的功能,还能提供数据冗余保护等功能。Raid分为软Raid和硬Raid,其实现方式包括:外接式磁盘阵列、内接受RAID和Software Raid。Raid拥有不同的级别,不同的级别之间功能也大相同,Raid常用的几个级别有:
Raid0
Raid0又称为等量模式,stripe,其组成方式为将硬盘一个一个的堆叠组成一个容量更大的磁盘矩阵,提供了更快的读写性能,但是没不具有数据冗余能连,最少需要两个硬盘组成,Raid最好是使用大小相同的硬盘作来搭建,容量为硬盘大小的N倍。
上述图片为使用两个硬盘组成的概念图,当把文件存储在使用Raid0组成的硬盘矩阵的时候,矩阵会把文件按照预设的块(chunk)大小对文件进行切割,然后按顺序将文件的块存储在两个磁盘的对应的位置,如图A1,A2,如此类推。由于每个磁盘需要交错存放数据,因此当数据保存在矩阵的时候,会被等量平分到每个磁盘当中,如:使用两个硬盘组成的矩阵,存储1G的数据,每个硬盘会存储500M的数据,如此类推。因此这种情况下,Raid0的硬盘数量越多,其性能就越强,但是由于Raid0并没有冗余能力,因此若其中有一个硬盘出错,存储在矩阵里面的数据就损坏了,这也是Raid0的一大弊端。
另外如果在矩阵当中存在着大小不一样的硬盘,如使一个100G和200G的硬盘创建的Raid0,最初的200G数据可以平分到两个硬盘当中(每个硬盘各存储100G数据)。当容量为100G的磁盘被存满了之后,剩下的数据就只能往200G的硬盘上面存储,此时就相当于单硬盘的模式,性能也降低了。因此使用Raid0的时候,建议是使用容量大小一致的硬盘创建。
下面表格总结出了Raid0的特性
冗余能力 | 所需硬盘 | 容量大小 | 读能力 | 写能力 | 应用 |
---|---|---|---|---|---|
没有 | 至少2个 | N*硬盘空间(取硬盘空间的最小值) | 提升 | 提升 | 对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等 |
Raid1
Raid1,又称为磁盘镜像mirror,其作用为将一个磁盘的数据镜像到另一个磁盘中,提供数据冗余能力。但是Raid1的磁盘利用率只有50%,成本较高,多数用于保存重要数据的场景。
如上图所示,当把数据存储在Raid1的时候,数据会被同时存储在磁盘1和2中,磁盘1、2互为镜像。由于同一份数据会被写入到不同的磁盘,因此当需要存储100M的数据时,实际上占用的磁盘空间为100M*磁盘数量,如上图的Raid1矩阵,实际上需要占用200M的磁盘空间。
Raid1中的每一个磁盘都有一个对应的镜像盘,任何数据都会同步到镜像盘,因此当一个硬盘损坏了之后,数据还可以保留完整,这也是Raid1的最大优点。
下面表格总结了Raid1的特性:
冗余能力 | 所需硬盘 | 容量大小 | 读能力 | 写能力 | 应用 |
---|---|---|---|---|---|
有 | 至少2个 | 0.5*N*硬盘空间(取硬盘空间的最小值) | 提升 | 略下降 | 数据要求安全性高,如金融、数据库、存储等。 |
Raid5
Raid5可以理解为Raid0和Raid1的一个折中方案,它比Raid0好的地方在于它提供了数据冗余的能力,而对比Raid5它的磁盘空间利用率又更高点,相对成本较低。
Raid5至少需要三个硬盘组成,Raid5不是使用数据备份的方式来保护数据的安全,而是采取奇偶校验码的方式来作为数据恢复的手段。如上图所示为由4个硬盘组成的Raid5,每一次数据的存入,都会产生一个奇偶校验码存储在硬盘中,并且每次存储的硬盘都不一样。那么当其中一个硬盘损坏后,新加入的硬盘能够根据其他盘的数据及相应的校验码计算出被损坏的数据。其实Raid5的读写速度与Raid0相近,只是比Raid0多出了利用奇偶校验码实现的数据安全保护。
Raid5特性:
冗余能力 | 所需硬盘 | 容量大小 | 读能力 | 写能力 | 应用 |
---|---|---|---|---|---|
有 | 至少3个 | (N-1)*硬盘空间(取硬盘空间的最小值) | 提升 | 提升 | 兼具存储性能、数据安全和存储成本兼顾的存储解决方案。 |
Raid10
Raid10的组成方式为:硬盘首先两两组成Raid1矩阵,然后再将Raid1组成Raid0矩阵。Raid10然后继承了Raid0的快速读写与Raid1的冗余能力,至少需要四块硬盘,兼具速度与安全性,但是硬盘空间利用率只有50%,成本较高。
如上图,数据在存储仅Raid10矩阵的时候,首先被分割为若干大小的chunk,然后分别存入其下Raid1矩阵,而Raid1矩阵又将Raid0传输过来的chunk镜像备份到镜像盘。这样只要不是出现Raid1出现两个损坏的磁盘,Raid都能正常运行。
Raid10的特性总结:
冗余能力 | 所需硬盘 | 容量大小 | 读能力 | 写能力 | 应用 |
---|---|---|---|---|---|
有 | 至少4个 | 0.5N硬盘空间(取硬盘空间的最小值) | 提升 | 提升 | 多用于对读写性能及数据安全有一定要求的场景,如数据库应用等 |