一、RAID磁盘阵列概述
1.RAID称为独立冗余磁盘阵列
2.把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
3.组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
4.常用的RAID级别
RAID 0 ,RAID 1 ,RAID 5 , RAID 6, RAID 1+0
5.RAID可以分为软RAID和硬RAID,软RAID是通过实现多块硬盘冗余的,而硬RAID一般是通过RAID来实现RAID
RAID的实现方式
硬raid
需要raid卡,磁盘接在raid卡上,有自己的cpu,处理速度快,从硬件的层面上处理
然后开机进行raid配置,然后装系统
但是不同厂商的raid卡配置会不一样
软raid
mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具
mdadm管理工具,最小化默认不安装,需要yum安装
mdadm是一个用于创建、管理、监控RAID设备的工具,它使用linux中的md驱动。
mdadm程序是一个独立的程序,能完成所有软件RAID的管理功能,主要有7中使用模式。、
/proc/mdstat : 当前md(软RAID)的状态信息
/etc/mdadm.conf : mdadm的配置文件
二、磁盘阵列分类介绍
1.RAID 0(条带卷)
① 位或字节为单位分割数据,并行读、写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余。(速度最快、RAID 0没有冗余功能、如果一个磁盘损毁,所有的数据都无法使用,)
② RAID 0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
2.RAID 1(镜像卷)
①通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
② 数据繁忙时,可直接从镜像拷贝中读取数据,RAID 1可以提高读取性能。
③ RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘读写,而不需要重组失效的数据。
3. RAID 5(带奇偶校验码)
①N(N=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,公N份数据在N盘上循环均衡存储。
②N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
③(N-1)/N磁盘利用率。
④ 可靠性高,允许坏1块盘,不影响所有数据
4.RAID 6
①N(N>=4)块盘组成阵列,(N-2)/N磁盘利用率
②与RAID 5 相比,RAID 6 增加了第二个独立奇偶校验信息系块
③两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
④相当于RAID 5有更大的“写损失”,因此写性能较差
5.RAID 1+0
① N(偶数,N>=4)块盘两两镜像后,在组合成一个RAID 0
②N/2磁盘利用率
③N/2块盘同时写入,N块盘同时读取
④性能高,可靠性高
三、阵列卡概述
3.1 概述
1.阵列卡是用来实现RAID功能的板卡
2.通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成。
3.不同的RAID卡支持的RAID功能不同。
4.RAID卡的接口类型
IDE接口、SCSI接口、SATA接口、SAS接口
3.2 阵列卡的缓存
1.缓存是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,在由缓存和外边数据总线交换数据
2.缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素
3.不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等
四、命令盘配置
查看是否安装mdadm
[root@localhost ~]# rpm -q mdadm
创建RAID 0
[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c]
查询详细信息
[root@localhost ~]# mdadm -D /dev/md0
查找配置文件
root@localhost ~]# /etc/mdadm.conf
将详细信息写入磁盘
[root@localhost ~]# mdadm -Ds /dev/md0
或
[root@localhost ~]# mdadm -Dsv /dev/md0 //更详细的显示信息
将查询结果写入/etc/mdadm.conf里面
[root@localhost ~]# mdadm -Dsv /dev/md0 > /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf
如果同时有多个RAID
[root@localhost ~]# mdadm -Dsv /dev/md0 >>^ Cetc/mdadm.conf
查看当前RAIDA的实时状态
[root@localhost ~]# cat /proc/mdstat
格式化md0
[root@localhost ~]# mkfs.xfs /dev/md0
挂载
① 先创建目录
[root@localhost ~]# mkdir /raid0
② 挂载
[root@localhost ~]# mount /dev/md0 /raid0/
③查看是否挂载成功
[root@localhost ~]# df -hT
将/etc下面的passwd拷贝RAID 0目录下
[root@localhost ~]# cp -p /etc/passwd /raid0/
模拟损坏一块硬盘(只有RAID 0做不成功)
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb
创建raid 1c
停止md0 ,更新配置文件
[root@localhost ~]# mdadm -S /dev/md0
清空配置文件
[root@localhost ~]# rm -rf /etc/mdadm.conf
设置RAID 1
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sdc /dev/sdd
//不带热备盘
查看
[root@localhost ~]# mdadm -D /dev/md1
格式化
[root@localhost md0]# mkfs.xfs /dev/md11
挂载
[root@localhost ~]# mkdir /raid1 //创建目录
[root@localhost ~]# mount /dev/md1 /raid1 //挂载
查看是否挂载成功
[root@localhost md0]# df -h
将/etc下面的passwd拷贝RAID 1目录下
[root@localhost ~]# cp -r /etc/passwd /raid1
模拟破坏一块硬盘
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdc
查看
[root@localhost ~]# mdadm -D /dev/md1
查看硬盘状态
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]# cat /raid1/passwd
移除硬盘
[root@localhost ~]# mdadm -r /dev/md1 /dev/sdc 将坏的硬盘从raid1中移除
添加硬盘
[root@localhost ~]# mdadm -a /dev/md1 /dev/sde //将raid1中加入一块新的硬盘sdi,现在又变成2块了
查看是否增加了硬盘
[root@localhost ~]# mdadm -D /dev/md1 //查看状态会发现需要一点时间同步
创建raid1(带热备盘)
[root@localhost ~]# mdadm -C -v /dev/md11 -l1 -n2 -x1 /dev/sd[f-h]
root@localhost md11]# mdadm -D /dev/md11
[root@localhost md11]# mdadm /dev/md11 -f /dev/sdg
mdadm: set /dev/sdg faulty in /dev/md11
创建raid10(用4块硬盘)
两种方法
1、可以先做raid1再做raid0
2、mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sd[k,l,m,n]
删除raid不用了,磁盘做其他用(也要先卸载)
[root@localhost ~]# umount /dev/md5
[root@localhost ~]# mdadm -S /dev/md5
删除配置文件
[root@localhost ~]# rm -rf /etc/mdadm.conf
清除磁盘中raid标识
[root@localhost ~]# mdadm --zero-superblock /dev/sdb
[root@localhost ~]# mdadm --zero-superblock /dev/sdc
[root@localhost ~]# mdadm --zero-superblock /dev/sdd
[root@localhost ~]# mdadm --zero-superblock /dev/sde
–zero-superblock 擦除设备中的MD超级块
注意:raid1可以添加也可以减少磁盘
raid5只可以添加不可以减少磁盘