Linux修仙之路——RAID技术

RAID概述

RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。 RAID 技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。 RAID主要利用数据条 带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种 技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。

常用RAID技术

JBOD

  • 不是标准的 RAID 等级
  • 一个没有控制软件提供协调控制的磁盘集合
  • 简单提供一种扩展存储空间的机制
  • JBOD 可用存储容量等于所有成员磁盘的存储空间之和
    在这里插入图片描述

RAID0

  • 无冗错的数据条带
  • 一种简单的、无数据校验的数据条带化技术
  • 低成本、高读写性能、100% 的高存储空间利用率
  • 不提供数据冗余保护(一旦数据损坏,将无法恢复)
  • 连续以位或字节为单位分割数据,并行读/写于多个磁盘上(提高性能)
  • 适用于对性能要求严格但对数据安全性和可靠性不高的应用
  • 至少需要2个驱动器组建
    在这里插入图片描述

RAID1

  • 镜像
  • 拥有完全容错的能力
  • 成本高(磁盘阵列中单位成本最高的)
  • 通过磁盘数据镜像实现数据冗余(成对独立磁盘上产生互为备份的数据)
  • 可以在原始数据繁忙时直接从镜像拷贝中读取数据
  • 磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
  • 适用于对顺序读写性能要求高以及对数据保护极为重视的应用
  • 至少需要2个驱动器组建
    在这里插入图片描述

RAID5

  • 分布奇偶位条带(最常见)
  • 兼顾存储性能、数据安全和存储成本(综合 RAID0 和 RAID1)
  • 数据中心大多采用它作为应用数据的保护方案
  • 不单独指定的奇偶盘,在所有磁盘上交叉地存取数据及奇偶校验信息
  • 读/写指针可同时对阵列设备进行操作(数据流量高)
  • 有“写损失”(一次写操作有四个实际的读/写操作,两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。)
  • 适合于小数据块和随机读写的数据
  • 至少需要3个驱动器组建
    在这里插入图片描述

RAID6

  • 双分布奇偶位条带(RAID5基础上增强数据保护)
  • 具有快速的读取性能、更高的容错能力
  • 成本高
  • 写性能较差
  • 两个独立的奇偶系统使用不同的算法
  • 数据的可靠性非常高(两块磁盘同时失效,也不会影响数据的使用)
  • 占用更大的磁盘空间,“写损失”增加
  • 适用于对对数据保护极为重视的应用
  • 至少需要4个驱动器组建
    在这里插入图片描述

RAID10

  • 两个或多个镜像集协同工作
  • 多个RAID 1集可组合形成单个阵列
  • 数据跨所有镜像的驱动器进行分拆
  • 每个驱动器在RAID 10中创建镜像,避免因未完成奇偶校验计算而导致的延迟。
    在这里插入图片描述

选用RAID技术

RAID 等级的选择主要有三个因素,即数据可用性、 I/O 性能和成本。

RAID 等级RAID0RAID1RAID3RAID5RAID6RAID10
别名条带镜像专用奇偶校验条带分布奇偶校验条带双重奇偶校验条带镜像加条带
容错性
冗余类型
热备份选择
读性能
随机写性能一般一般
连续写性能一般
需要磁盘数n≥12n (n≥1)n≥3n≥3n≥42n(n≥2)≥4
可用容量 ​全部50%(n-1)/n(n-1)/n(n-2)/n50%

mdadm命令

常用命令
create创建阵列

选项解释作用
-C–create指定阵列中成员盘个数。
-x指定阵列中热备盘个数。
-z–size创建阵列时,指定每个成员盘使用多大的空间。单位KB。
-c–chunk (-c)指定条带大小。单位KB,默认值64KB。
-l–level设置raid级别。
-p–parity配置raid5和raid10阵列的数据布局,控制faulty失败模式。(la, ra, ls, rs)
-b–bitmap使用bitmap模式记录RAID阵列有多少个块已经同步(resync),正常停止RAID后,再将RAID组装起来时,磁盘上已同步块不用再次同步。
-w–write-mostly阵列的成员盘指定该参数后,在应用中该成员盘只进行数据写,而不从它上面读取数据。该参数只针对RAID1有效。
-N–name阵列名称。
-R–run当阵列的活跃盘上面存在其他阵列的superblock信息时,强制启动阵列。
-f–froce强制mdadm接受geometry和layout说明。
-a–auto通知mdadm是否创建设备文件,并分配一个未使用的次设备号。

Build阵列

选项解释作用
-u–uuid通过匹配uuid来重构raid。
-m–super-minor通过匹配设备次设备号来重构raid。
-N–name通过name组装阵列。
-f–force当superblock过期时,可以通过该参数强制组装。
-R–run当重组阵列active盘数少于创建时指定个数时,尝试启动阵列。
-U–update组装阵列,更新每个设备的superblock信息。

grow扩容阵列

选项解释作用
-n–raid-disks改变成员盘数量。改变成员盘大小。
-z–size增加或者移除bitmap。
-b–bitmap尚不支持改变RAID级别。
-l–level改变校验数据分布。
-p–layout等同于create模式下–layout选项

manage管理磁盘

选项解释作用
-a–add将指定设备添加到阵列中。
-f–fail标记指定盘为faulty。
-r–remove从阵列中移除指定设备。

其他常用

  • –detail(-D)
    显示一个阵列的详细信息。
    示例: mdadm --detail /dev/md0
    mdadm -D /dev/md0
  • –export(-Y)
    与–detail一起使用,使阵列信息的输出格式变为key=value的格式。
    示例: mdadm --detail --export /dev/md0
  • –stop(-S)
    停止阵列。被停止的阵列需要重新组装后才能使用。
    示例: mdadm --stop /dev/md0

配套练习

子项目1.RAID1卷的建立
(1)使用fdisk命令创建四个磁盘分区/dev/sdb1、/dev/sdc1、/dev/sdd1。
(2)使用mdadm命令创建RAID1。
(3)为新建立的/dev/md0建立类型为ext4的文件系统。
(4)查看建立的RAID1的具体情况。
(5)将RAID设备/dev/md0挂载到指定的目录/media/md0中。
答案:

  • fdisk /dev/sdb n p 1 +3G、fdisk /dev/sdc n p 1 +3G、fdisk /dev/sdd n p 1 +3G

可以用lsblk查看
在这里插入图片描述

  • mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb /dev/sdc
  • mkfs.ext4 -c /dev/md0
  • mdadm -D /dev/md0
  • cd /media 、mkdir md0、ls -a(查看是否成功建立)、mount /dev/md0 /media/md0

子项目2.RAID设备的数据恢复
(1)假设/dev/sdc1损坏。将损坏的RAID成员标记为失效。
(2)移除失效的RAID成员。
(3)更换硬盘设备,添加一个新的RAID成员。

答案:

  • mdadm /dev/md0 -f /dev/sdb1
  • mdadm /dev/md0 -r /dev/sdb1
  • mdadm /dev/md0 -a /dev/sdb1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠笙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值