RAID独立磁盘冗余技术是一种把2个或者多个HDD或SSD合并为一个协调的存储单元或列阵,从而预防数据丢失的技术,其最早由加州大学伯克利分校的计算机科学家David Patterson、Garth Gibson和Randy Katz在1987年提出。他们的研究论文“关于RAID的论证”提出了将多个磁盘驱动器组合起来,以提高性能和可靠性的想法。
RAID0
将磁盘全部串联,实现空间最大化利用,但是没有冗余空间
将数据分成连续的块,然后将每个块按顺序依次写入到不同的磁盘上,这样可以实现并行读写,从而提高了数据的访问速度
也就是说假如我有两个盘A和B,我可以一个文件拆成两部分,一部分放A,另一部分放B,要读取时两边同时读写然后拼凑
RAID1
将内容镜像,多个个盘存一样的数据,实现数据冗余
也就是说,当我存储数据时,数据会写入所有盘,当有一台宕机时,有镜像的设备提供备份和恢复,有点像双机热备
RAID2
比较特殊的RAID布局,采用汉明码校验,不过已被淘汰,其数据会被划分成位级别,也就是说我存储数据是每个盘都存一部分,且有检验盘来检测数据完整性,通过文献我感觉其安全性挺高,但由于汉明码的校验方式,其多个错误有时候检验不出来,以及成本过高的问题,逐渐被RAID5等替换
汉明码校验
校验位数
采用奇数偶检验码进行检验和纠错,需要插入码的长度与数据位的数量之间的关系为 2^P>=P+D+1(D为数据长度,P为汉明码个数)
eg:数据大小为4,即有2^p>=p+4+1,可以得出p至少为3
编码过程
明确校验位数后,接着就是怎么编码的问题,不同于校验和