1.RAID技术简介
RAID(Redundant Array of Independent Disks)独立磁盘冗余阵列。通俗来说就是将多个硬盘通过软件或硬件结合成虚拟单台大容量的硬盘使用。
RAID技术的特点:
可以自动检测故障硬盘;
可以重建硬盘坏道的资料;
支持在不停机的情况下对硬盘进行备份;
支持不停机的情况下更换硬盘;
支持动态扩展硬盘容量;
RAID技术分为不同的级别,不同级别表示有着不同的工作模式,整个RAID技术通过对磁盘进行组合,达到提高效率,减少错误的目的。RAID技术规范主要包含RAID0~RAID6等规范。
2.RAID 0规范介绍
定义:RAID 0是所有RAID中读写性能最高的。要实现RAID 0必须要有两个以上硬盘驱动器,RAID 0 并不是真正的RAID结构,RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。
特点:RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。
示意图:
3.RAID 1规范介绍
定义:与RAID 0相比,有很好的数据保护性能,但是数据的读取速度会受到影响,因为数据要一边写一边备份,如果要求数据的可靠性,可以考虑RAID 1,即使一个硬盘出现问题也不会对整个数据造成损害。
示意图:
4.RAID 2和RAID 3规范介绍
定义:RAID 2与RAID 3类似,两者都是将数据条块化地分布于不同的硬盘上,然而RAID 2使用称为“加重平均纠错码”的编码技术来提供错误检查及恢复服务。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术的实施更复杂,因此在商业环境中很少使用。RAID 3使用单块磁盘存放奇偶校验信息,奇偶盘失效并不影响数据使用,RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
示意图:
5.RAID 4规范介绍
定义:RAID 4同RAID 2、RAID 3一样,也同样将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,成为写操作的瓶颈,其在商业应用中很少使用。
示意图:
6.RAID 5规范介绍
定义:RAID 5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。在RAID 5上读/写指针,可同时对阵列设备进行操作, 提供了更高的数据流量,RAID 5更适合于小数据块随机读写的数据。RAID 3与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及所有的阵列盘,而对于RAID 5来说,大部分数据传输只对一块磁盘操作, 可进行并行操作。在RAID 5中有“写的损失”,即每一次写操作将产生4个实际的读/写操作, 其中两次读旧的数据及奇偶信息, 两次写新的数据及奇偶信息。
示意图:
7.RAID 6规范介绍
定义:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效,也不会影响数据的使用,但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写的损失”。RAID 6的写性能非常差, 较差的性能和复杂的实施使得RAID 6很少使用。
示意图:
8.RAID 10规范介绍
定义: 把RAID 0和RAID 1技术结合起来,即RAID 0+1。数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障而不影响数据可用性,并具有快速读/写能力,要求至少4个硬盘才能做成RAID 0+1。
示意图:
9、RAID 10规范在linux中实现流程
(1)添加四块硬盘(大小自定义)
(2)使用parted命令对添加的四块硬盘进行分区
(3)展示分区完成后的结果
(4)使用添加的四块硬盘,创建两个raid 1,用于后面创建raid 1+0使用。
(mdadm -Cv /dev/md2 -l1 -n2 -c128 /dev/sde1 /dev/sdf1
解析:这条命令的作用是创建一个名为md2
的raid1设备,使用/dev/sde1
和/dev/sdf1
两个分区作为成员,并且设置条带大小为128个扇区。
参数解释:C——表示创建设备,v——表示显示创建进度,-l1——表示raid 1,-n2表示2块硬盘进行raid阵列,-c128表示块大小)
(5)使用创建的两个raid1,创建一个raid 10并查看创建结果(注意事项:不要将创建的两个raid1挂载)
(6)格式化raid 10,并进行永久挂载
(7)fstab文件中的内容(使用vim /etc/fstab命令后):
对创建完成的raid10进行检验:
(dd if=/dev/zero of=/mnt/raid1/3gfile bs=1M count=3072——这条命令的作用是在/mnt/raid1
目录下生成一个名为3gfile
、大小为3GB的文件,并且文件内容全为0,按照自己需求修改count参数即可得到想要大小的文件)
结果分析:说明创建完成的raid 10实际存储空间小于2G.