RAID:Redundant Arrays of Inexpensive Disks,有“廉价磁盘构成的具有冗余能力的阵列”之意。简称磁盘阵列。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
这个概念最初由加利福尼亚大学伯克利分校提出,便宜(Inexpensive)的磁盘是当时主要研究的的重点,但后来发现,大量便宜磁盘组合并不能适用于现实的生产环境,后来Inexpensive被改为independent。
独立磁盘冗余阵列是把相同的数据存储在多个硬盘的不同的地方的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
RAID的级别分类:
RAID 0:以条带的形式将数据均匀分布在阵列的各个磁盘上,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能,
硬件需求:最少2个磁盘
性能优势:极高的磁盘读写效率,不存在校验,不会占用太多CPU资源设计、使用和配置比较简单。
缺点:无冗余,不能用于对数据安全性要求高的环境。
RAID 1:把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
硬件需求:2N个,N最少为1。
性能优势:具有100%数据冗余,提供最高的数据安全保障,理论上可以实现2倍的读取效率,设计和使用比较简单。
缺点:成本高,空间利用率只有50%,在写性能方面提升不大
RAID 5:不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5可以理解为是RAID 0和RAID 1的折衷方案,RAID 5可以为系统提供数据安全保障,但保障程度要比RAID 1低而磁盘空间利用率要比RAID 1高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
硬件需求:最少3个磁盘。
性能优势:读性能比较高,中等的写性能,校验信息的分布式存取,避免出现写操作的瓶颈。
缺点:控制器设计复杂,磁盘重建的过程比较复杂。
RAID0+1:正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10,先镜像,再条带化。RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
硬件需求:2N个磁盘,N最少为2
性能优势:读性能很高,写性能比较好,数据安全性好。
缺点:空间利用率只有50%,成本高
磁盘阵列其样式有三种:
一,外接式磁盘阵列柜。
二,内接式磁盘阵列卡。
三,利用软件来仿真。
通过第三种软RAID的方式,用磁盘分区模拟一个构建RAID的过程
1.使用fdisk命令查看一下磁盘分区状况
2.在/dev/sdb这块磁盘上创建三个分区用来搭建RAID,再创建一个分区作为RAID中的备用磁盘。创建完分区之后需要将它们的型号都指定为linux RAID。
。。。。。。
3.使用mdadm命令来搭建RAID
RAID管理命令 mdadm
使用格式:mdadm [mode] <raiddevice> [options] <component-devices>
模式 raid设备名 选项 用来搭建raid的设备
模式:
创建 -C
装配 -A
监控 -F
查看 -D
停用 -S
选项:-n # 使用#个设备来创建此raid
-l # 指定要创建raid的级别
-a (yse|no)自动创建目标raid的设备文件
-c # 指定raid设备读写文件的块大小
-x # 指定空闲盘的个数
-f device 标记raid中的此设备已经损坏
-r device 从raid中移除此设备
-a device 将此设备加到raid中
4.格式化raid的文件系统并查看一下其属性
5.使用mount命令将它挂载上去当前系统上
可以正常使用了