RAID 磁盘阵列介绍
又称独立冗余磁盘阵列
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的储存下性能和提供数据备份技术
组成磁盘阵列的不同方式称为RAID级别
常用的RAID级别: RAID0 RAID1 RAID5 RAID6 RAID 1+0等
1)RAID 0 (条带化存储)
RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据一次写入到各个物理硬盘中。这样硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。
优点:使用 n 颗硬盘,即可拥有将近 n 倍的读写效能,读写性能是所有RAID级别中最高的。
缺点:不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复,RAID0运行时只要其中任一块硬盘出现问题就会导致整个数据的故障。
硬盘数量:最少 2 个。
2)RAID 1 (镜像存储)
RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”
优点:可靠性比RAID0 更好。
缺点:由于它的磁盘使用率只有50%,两块磁盘当做一块用,所以不是很常用。
3)RAID 5 (性能与数据备份的均衡考虑)
RAID 5技术把多块硬盘设备(至少三块)的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷;
RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
优点:兼顾到存储性能、数据安全和存储成本
缺点:需要额外的运算资源,仅能忍受 1 个硬盘损毁
硬盘数量:至少 3 个
4)RAID6
RAID 6是RAID 5的加强版,最低由四块硬盘构成,有两个校验位有两种校验的方式,用两种算法来校验数据,进一步的提高了数据的可靠安全,相对应的,写入的速度比RAID 5更慢一些。RAID 6同时坏两个硬盘也能正常运转。
硬盘数量:至少4个
优点:RAID6 复杂度高,数据冗余性好,读取的效率也比较高。
缺点:但是写数据的性能相比较RAID5差一些
5)RAID10
RAID10兼备了RAID1和RAID0的优点。首先基于RAID1模式将磁盘分为2份,写数据时,同时写入到2 份磁盘上,相当于写双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0 技术讲数据分为N份并发的读写,这样也保障了数据的效率
各级别对比
RAID级别 |
硬盘数量要求 |
磁盘利用率 |
是否有冗余能力 |
读写性能 |
RAID0 |
N |
N |
无 |
单个硬盘的N倍 |
RAID1 |
N(偶数) |
N/2 |
有,允许一个设备故障 |
读性能提升,写没有提升 |
RAID5 |
N>=3 |
(N-1)/N |
有,允许一个设备故障 |
需要多写一份纠删码,所以写性能相对RAID0低一些 |
RAID6 |
N>=4 |
(N-2)/N |
有,允许两个设备故障 |
需要多写两份纠删码,所以写性能相对RAID5更低一些 |
RAID10 |
N>=4(偶数) |
N/2 |
有,允许不同组中各坏一个 |
读性能可提升N倍,写性能提升N/2倍 |
构建硬RAID磁盘阵列
1)利用RAID模拟器进行模拟
2)创建RAID设备
构建软RAID磁盘阵列
1.安装mdadm
请安装最新的mdadm,利用在线yum源更新成最新的版本,可以方便后续操作
2.准备用于RAID阵列的分区
1)为Linux服务器添加4块SCSI硬盘,并使用fdisk工具各划分出一块2GB的分区,依次为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1
2)将其类型ID更改为“fd”,对应为“Linux raid autodetect”,表示支持用于RAID磁盘阵列
3.创建RAID设备并建立文件系统
mdadm -Cv /dev/md5 [-a yes] -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
cat /proc/mdstat ###还能查看创建RAID的进度
mdadm -D /dev/md0 ###还能查看创建RAID的进度
watch -n 2 'cat /proc/mdstat' ###用watch命令来每隔一段时间刷新 /proc/mdstat 的输出
mdadm -E /dev/sd[b-e]1 ###检查磁盘是否已做RAID
mkfs.xfs /dev/md5
4.挂载并使用文件系统
mkdir /data
mount /dev/md5 /data
df -Th
若要永久挂载vim /etc/fstab
5.模拟故障并实现恢复(热拔插)
mdadm /dev/md5 -f /dev/sdb1###模拟/dev/sdb1 故障
mdadm -D /dev/md5 ###查看发现sde1已顶替sdb1
mdadm /dev/md5 -r /dev/sdb1###删除故障的/dev/sdb1
mdadm /dev/md5 -a /dev/sdb1###添加会修复好的/dev/sdb1
冷拔插
echo 'DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf