一文详解RAID技术

描述

RAID 定义

RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,RAID技术将多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘,从而提高硬盘的读写性能和数据安全性。

根据不同的组合方式可以分为不同的RAID级别:

级别 说明
RAID 0 数据条带化,无校验
RAID 1 数据镜像,无校验
RAID 3 数据条带化读写,检验信息存放于专用硬盘
RAID 5 数据条带化,检验信息分布式存放
RAID 6 数据条带化,分布式校验并提供两级冗余

同时采用两种不同的RAID方式还能组合成新的RAID级别:

级别 说明
RAID 0+1 先做RAID 0,后做RAID 1,同时提供数据条带化和镜像
RAID 10 类似于RAID 0+1,区别在于先做RAID1,后做RAID 0
RAID 50 先做RAID 5,后座RAID 0,能有效提高RAID 5的性能

磁盘

RAID 0

定义:

RAID 0既没有容错设计的条带硬盘阵列((Striped Disk Array without Fault Tolerance),以条带形式将RAID组的数据均匀分布在各个硬盘中

优点:

极高的读写效率

速度快,由于不存在校验,所以不占用CPU资源

部署简单

缺点:

无冗余,通常和其他RAID级别混合使用

不适合用于关键数据

最小硬盘数:2

磁盘

RAID 1

定义:

RAID 1又称镜像(Mirror),数据同时一致写道主硬盘和镜像硬盘

优点:

提供过了很高的数据安全性和可用性

100%的数据冗余

设计、使用简单

不做校验计算,CPU占用资源少

缺点:

空间利用率只有1/2

相对于单个硬盘,无法提高写能力

磁盘

RAID 5

定义:

RAID 5与RAID 3机制类似,但校验数据均匀分布在各数据硬盘上,RAID成员硬盘上同时保存数据和校验信息,数据块和对应的校验信息不存在不同硬盘上。RAID 5是最长用的RAID方式之一。

优点:

高读取速率,中等写速率

提供一定程度的数据安全

缺点:

RAID组里单块硬盘的故障,会导致其他硬盘读写性能大幅下降

最小硬盘数:3

磁盘

常用RAID比较

RAID级别 RAID 0 RAID 1 RAID 3 RAID 5 RAID 10 RAID 0+1
别名 条带 镜像 专用奇偶位条带 分布奇偶位条带 镜像阵列条带 条带阵列镜像
容错性
冗余类型 复制 奇偶校验 奇偶校验 复制 复制
热备盘选项
读性能 一般
随机写能力 最低 一般 一般
连续写能力 一般 一般
最小硬盘数 2块 2块 3块 3块 4块 4块
可用容量 N* 单块硬盘容量,N为RAID组成员,一般不大于16 (N/2)* 单块硬盘容量,N为RAID组成员,一般不大于16 (N-1)* 单块硬盘容量,N为RAID组成员,一般不大于16 (N-1)* 单块硬盘容量,N为RAID组成员,一般不大于16 (N/2)* 单块硬盘容量,N为RAID组成员,一般不大于16 (N/2)* 单块硬盘容量,N为RAID组成员,一般不大于16
典型应用环境 迅速读写,安全性要求不高,如图形工作站等 随机数据写入,安全性能要求高,如服务器、数据库存储领域 连续数据传输,安全性要求高,如视频编辑、大型数据库等 随即数据传输,安全性要求高,如金融、数据库、存储等 数据量大,安全性要求高,如银行、金融领域 高性能和高安全性,如视频服务器

常用RAID选择

RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比RAID1低而磁盘空间利用率要比RAID1高。

RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
磁盘

热备盘

1. 热备:Hot Spare

定义:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性。

全局式:备用硬盘为系统中所有的冗余RAID组共享

专用式:备用硬盘为系统中某一组冗余RAID组专用

可用容量由(N -1) * 单块硬盘容量降为(N -2) * 单块硬盘容量(以Raid5为例)

2. 热插拔:Hot Swap

定义:在不影响系统正常运转的情况下,用正常的硬盘物理替换RAID系统中失效硬盘

关键在于热插拔时电子器件的保护机制

磁盘

实验目标

在服务器上添加4块硬盘,实现使用RAID 5级别将4块盘组成磁盘阵列

实验命令

 


lsblk
mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdc /dev/sdd /dev/sde /dev/sdf  
# 设置RAID实例
mdadm -Q /dev/md0 
# 查看它是否是一个md设备;它是否是一个md阵列的组件。显示有关所发现内容的信息。
mdadm -D /dev/md0
mkfs.ext4 /dev/md0 
# 分配文件系统
mkdir /Raid
mount /dev/md0 /Raid/ 
# 挂载
df -h

 

使用/dev/sd{b,c,d,e}创建RAID5磁盘阵列

 


mdadm -Cv /dev/md0 -n 3 -l 5 -a yes -x 1 /dev/sd{b,c,d,e}
# -C:创建 /dev/md0 的磁盘阵列
# -v:显示过程
# -n:使用的磁盘数量(小于等于实际的磁盘数量)
# -l:--level;使用的RAID级别
# -a:自动为其创建设备文件
# -x:指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替
# 注意 n+x 等于实际使用的物理磁盘数量
mdadm -D /dev/md0 
# -D:查看创建RAID的信息

 

模拟RAID中磁盘损坏

 


mdadm /dev/md0 -f /dev/sdb
# 模拟 /dev/md0 中的 /dev/sdb 磁盘损坏
# 观察RAID阵列的情况

 

格式化+挂载

 


mkfs.[想要的系统格式] /dev/md0
# 可以直接通过mkfs对RAID阵列进行格式化
mount /dev/md0 /mnt/md0
# 将其挂载到 /mnt/md0 上
df -Th
# 查看挂载情况
# 可以写入 /etc/fstab 中,开机自动挂载;注意使用 mount -a 检查

 

删除磁盘阵列

注意数据的备份

 


umount /mnt/md0 /dev/md0
# 首先对其进行卸载操作
mdadm -s /dev/md0
mdadm -r /dev/md0
# -s:停止指定RAID运行
# -r:删除指定RAID阵列
# 此时数据依旧保存在磁盘中。

 

以下是一些常用的 Linux 磁盘相关命令:

df:显示磁盘使用情况。可以使用 "df -h" 命令以人类可读的格式查看。

du:显示文件或目录的磁盘使用情况。可以使用 "du -h" 命令以人类可读的格式查看。

fdisk:磁盘分区工具,用于创建、删除和修改磁盘分区表。

mkfs:用于创建文件系统。mkfs 后需要加上文件系统类型(如 ext4、ntfs 等)和设备名称(如 /dev/sda1)。

mount:将一个文件系统挂载到指定的挂载点上。

umount:卸载已经挂载的文件系统。

lsblk:以树形结构查看块设备的信息,包括磁盘、分区和挂载点等。

blkid:显示块设备的 UUID 和文件系统类型。

badblocks:检查并标记坏块。

smartctl:用于读取磁盘的 SMART 信息,从而判断磁盘的健康状态。

链接:https://www.cnblogs.com/Anzi-0524/p/17402693.html

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分