一、什么是RAID
RAID中文名叫容错廉价磁盘阵列。RAID技术将多个较小的磁盘整合成一个大的磁盘设备;而这个大的磁盘,不仅仅是存储而已,还具有数据保护的功能;整个RAID由于选择的等级不同,而使得整合后的磁盘具有不同的功能。
二、RAID的优势
易于灵活的进行容量扩展,其”虚拟化“使得其在管理性得到了极大的增强;
”磁盘分块“技术带来了性上的提升;
通过冗余和热备、热换提升了可靠性
三、常见类型的RAID
RAID0是以条带的形式将数据均匀分布在整列的各个磁盘上,这种模式下使用相同型号和容量的磁盘来组成效果最好。其至少需要两个或更多地磁盘;因为存储时,将一个整体的数据分散至多个磁盘,故其大大提高了读写速度,但是,其无法实现冗余,只要有任何一块磁盘损坏,在RAID上面的所有数据都会丢失而无法正常读取。故其不能用在对数据安全性要求高的环境,常用于视频生成和剪辑,图像编辑等一些不需要大的宽带速度的场景。
2.RAID1(镜像模式):完整备份
RAID1以镜像的为冗余的方式,对虚拟磁盘上的数据作多分拷贝,放在成员盘上。这种模式下使用相同型号的磁盘性能最好;其将一份数据完整的保存在了两块磁盘上,因此至少需要两个磁盘;其具有100%的冗余,提供较高的数据安全保障,理论上可以实现2倍的读取效率,但是其开销大,空间利用率为50%,在写性能上速度降低,常用于财务,金融等高可用、高安全性的数据存储环境;
3.RAID2:校验冗余
RAID2采用校验冗余将数据分散为位或块,加入汉明码,间隔写入带磁盘阵列的每个磁盘中,在成员盘中其地址都一样,采用了并行存取的方式,花费大,成本高昂,不适用;
4.RAID3:校验存储
RAID3中,数据块被分割成更小的块,并行传输到各个成员盘上,同时计算异或(xor)校验数据放到专用的校验盘上;故其最撒后需要三块磁盘,在读写性能上都比较好,当有磁盘损坏时,对整体吞吐量影响较小,减少了开销,适用于高吞吐量的应用环境;
5.RAID5:性能和冗余双考虑
RAID5采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上,其至少需要三个成员盘,RAID5的总容量会是整体磁盘数量减一,读性能较高,写性能一般,校验inxi1的分布式存储,避免了出现些操作额瓶颈,但是其需要一个复杂的控制逻辑,磁盘重建过程过于复杂;故常用用的场景有文件服务器,Email服务器、web服务器、数据库等应用环境。
6.RAID10
RAID10结合RAID1和RAID0,先镜像,在条带化,读写性能均有提升,有容错能力,但是其内部的每组镜像最多只能坏一块盘,至少需要4块盘;多用于高可用和高安全性的数据库应用huanjing‘
7.RAID50
RAID50结合RAID5和RAID0,先实现r=RAID5,再条带化;
raid5特性:
常见raid级别比较
三、RAID内核实现观测相关命令
CentOS 6上的软件RAID的实现
1.md(multi devices)工具,mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR线性方式, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;
模式:创建:-C;装配: -A;监控: -F;管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意块设备
(1)-C: 创建模式
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小; 默认512k
-x #: 指明空闲盘的个数;
(2) 管理模式:
-f: 标记指定磁盘为损坏;
-a: 添加磁盘
-r: 移除磁盘
(3)-D:显示raid的详细信息; mdadm -D /dev/md#
(4)观察md的状态: cat /proc/mdstat
(5)停止md设备:mdadm -S /dev/md#
2.watch:动态观测命令运行过程
格式:watch -n# 'COMMAND'
-n #: 刷新间隔,单位是秒;