为了提升磁盘的容错性与性能,计算机专家发明了Raid技术,即“廉价磁盘阵列”-Redundant Arrays of Inexpensive(or Independent) Disks.
Raid常见的类型及各类型的特点如下:
- Raid 0 — Stripping 数据条模式。数据分块(chunk)存储,分别放在不同的硬盘中。此模式至少需要2块硬盘。阵列总容量=n*(最小的那个硬盘容量),理论I/O性能提升2倍,但是没有容错能力,其中1块硬盘损坏,阵列存储的数据就会损坏。
- Raid 1 — Mirroring 镜像模式。数据分别镜像存储在多个硬盘(即每个硬盘都存储一套相同的数据)。此模式至少需要2块硬盘。阵列总容量=最小的那个硬盘的容量,I/O性能比单个硬盘有所下降,具有容错能力,其中1块硬盘损坏,其他硬盘还有相同的数据可用。
- Raid 4 — 数据分块存储。同时有1块硬盘不存储数据,专门用来做校验盘,存储其他硬盘存储的数据的校验码(对相应的2个数据块信息使用异或运算计算得出)。此模式至少需要3块硬盘。阵列总容量=(n-1)*(数据盘中最小的那个硬盘容量),理论I/O性能提升,但是由于校验盘存在访问压力大的问题所以性能会受到影响。具有容错能力,一个硬盘损坏,可以通过计算生成损坏的数据,不影响数据读写,但是此时阵列将处于降级模式(用计算生成数据造成性能损失)。
- Raid 5 — 分布式校验存储。与Raid 4的校验算法和存储基本原理相同,区别在于校验码的存储不在一块硬盘上了,而是按规律依次分别存储在所有磁盘。根据第一次挑选存储校验码的磁盘的不同,分别有校验码的“左对齐”和“右对齐”类型。此模式至少需要3块硬盘。阵列总容量=(n-1)*(数据盘中最小的那个硬盘容量),理论I/O性能比Raid 4提升较大。容错能力与Raid 4相同,也有降级模式。
- Raid 10 — 多硬盘先2个一对组Raid 1,再组Raid 0。此模式至少需要4块硬盘。此模式既有Raid 0的性能优势,同时也有Raid 1的容错能力(同时刚好损坏互为冗余的2个硬盘的概率较低)。
根据实现Raid的方式,又可以分为:
- 内部硬件实现
- 外接硬件实现
- 软件实现
Linux内核中有通过软件实现Raid的方式。通过mdadm命令进行操作实现。
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88963