一、RAID磁盘阵列介绍
1.1RAID磁盘阵列介绍
RAID是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术
RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
常用的RAID级别:RAID 0,RAID 1,RAID 5,RAID 6,RAID 1+0 等
1.2常见的几种RAID
1.2.1 RAID 0(条带化存储)
RAID 0连续以位或字节为单位进行分割数据,将数据分段存储在各个硬盘中,n块硬盘并行读/写数据,因此具有很高的数据传输率,可以达到单个硬盘的N倍,但它没有数据冗余;
RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据,因此并不能算真正的RAID结构;
RAID 0不能应用于数据安全性要求高的场合。
特点:
(1)最少需要两块磁盘
(2)数据条带分布式
(3)没有冗余,性能最佳(不存储镜像、校验信息)
(4)不能应用于对数据安全性要求高的场合
1.2.2 RAID 1(镜像存储)
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1可以提高读取性能
RAID
1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
N(偶数)块硬盘组成镜像,容量为N/2
特点:
(1)最少需要两块磁盘
(2)提供数据冗余(提供备份)
(3)性能好
(4)N(偶数)块硬盘组成镜像,容量为N/2
1.2.3 RAID 5
N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
(N-1) /N磁盘利用率(有一块是用来校验的);
可靠性高,允许坏1块盘,不影响所有数据
特点:
(1)最少3块磁盘
(2)数据条带形式分布
(3)以奇偶校验作冗余
(4)适合多读少写的情景,是性能与数据冗余最佳的折中方案
1.2.4 RAID 6
N(N≥4)块盘组成阵列,(N-2) /N磁盘利用率
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
相对于RAID 5有更大的"写损失" ,因此写性能较差
1.2.5 RAID 1+0
RAID 1+0(先做镜象,再做条带)
N (偶数,N>=4)。块盘两两镜像后,再组合成一个RAID 0
N/2磁盘利用率
N/2块盘同时写入,N块盘同时读取
性能高,可靠性高
特点:
(1)最少4块磁盘
(2)先按RAID 0 分成两组,再分别对两组按RAID 1 方式镜像
(3)兼顾冗余(提供镜像存储)和性能(数据条带形式分布)
(4)在实际应用中较为常用
1.2.6 RAID 0+1
RAID 0+1先做条带,再做镜像
读写性能与RAID 1+0相同;
安全性低于RAID 1+0;
使用较少。
1.3各级别RAID对比|
二、磁盘阵列
2.1阵列卡介绍阵列卡是用来实现RAID功能的板卡
阵列卡是用来实现RAID功能的板卡
通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
不同的RAID卡支持的RAID功能不同
例如支持RAID0、 RAID1、 RAID5、 RAID10等
RAID卡的接口类型 IDE接口、SCSI接口、SATA接口和SAS接口
IDE接口(并行接口,价格低廉,兼容性强)
SCSI接口(串行接口,是小型计算机系统接口,广泛应用于小型机上的高速数据传输技术,支持热拔插,CPU占用率低,但是价格高)
SATA接口(串行接口)
SAS接口(新一代scsi接口,向下兼容SATA)
2.2阵列卡的缓存
缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存可以提高命中率
不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等。
三、创建软RAID磁盘阵列步骤
需求:
1.为Linux服务器添加4块SCSI硬盘
2.使用mdadm软件包,构建RAID5磁盘阵列,提磁盘存储的性能和可靠性
步骤说明:
检查是否安装mdadm,准备用于RAID阵列的分区
为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为:/dev/sdb1、/dev/sdc1./dev/sdd1、/devsde1
将其类型ID更改为“fd",对应为“Linux raidautodetect”,表示支持用于RAID磁盘阵列创建RAID设备
示例:
3.1检查是否已安装mdadm软件包
[root@localhost ~]# rpm -q mdadm ###检查是否安装了mdadm命令
这里显示已安装有,如未安装可使用进行安装
3.2往虚拟机里添加四块硬盘
重启系统(init 6),系统就可以识别到硬盘了
3.3使用fdisk工具将新磁盘设备/dev/sdd、/dev/sde、/dev/sdf、/dev/sdg、划分出主分区sdd1、sde1、sdf1、sdg1,并且把分区类型的ID标记号改为“fd”
3.4创建RAID设备
3.6查看RAID
mdadm -E /dev/sd[d-g]1
ls -l /dev/md0
cat /proc/mdstat
mdadm -D /dev/md0
3.7创建并挂载文件系统
3.8故障测试
扫描或查看磁盘阵列信息
启动/停止RAID阵列
设备恢复操作 模拟阵列设备故障 更换故障设备,并恢复数据
mdadm命令其他常用选项:
-r:移除设备
-a:添加设备
-S:停止RAID
-A:启动RAID
-f :模拟故障
命令: