RAID技术

  • RAID概述
  • 常用RAID技术
    • JBOD
    • RAID0
    • RAID1
    • RAID5
    • RAID6
    • RAID10
  • 选用RAID技术
  • mdadm命令
  • 配套练习

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 等级 RAID0 RAID1 RAID3 RAID5 RAID6 RAID10
别名 条带 镜像 专用奇偶校验条带 分布奇偶校验条带 双重奇偶校验条带 镜像加条带
容错性
冗余类型
热备份选择
读性能
随机写性能 一般 一般
连续写性能 一般
需要磁盘数 n≥1 2n (n≥1) n≥3 n≥3 n≥4 2n(n≥2)≥4
可用容量 ​ 全部 50% (n-1)/n (n-1)/n (n-2)/n 50%

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

Linux修仙之路——RAID技术相关推荐

  1. Linux的修仙之路——安装和基本命令

    Linux的安装和基本命令 Linux的安装 Linux由来 Linux的组成部分 Linux现行发行版本 VMware安装Linux Linux的基本命令 浏览目录.文件类命令 系统信息类命令 进程 ...

  2. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...

    程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...

  3. 程序员修仙之路--高性能排序多个文件

    点击上方蓝色字体,关注我们 菜菜呀,昨天晚上班级空间崩溃了 程序员主力 Y总 what? 菜菜 我看服务器上写了很多个日志文件,我看着太费劲了,能不能按照日期排序整合成一个文件呀? 程序员主力 Y总 ...

  4. 程序员修仙之路--设计一个实用的线程池

    菜菜呀,我最近研究技术呢,发现线上一个任务程序线程数有点多呀 CEO,CTO,CFO于一身的CXO x总,你学编程呢? 菜菜 作为公司总负责人,我以后还要管理技术部门呢,怎么能不会技术呢 CEO,CT ...

  5. 2年6个月11天,外包到阿里的修仙之路

    前言 估计有同学会有疑问,为什么要精确到天?是为了装逼吗? 答:仅仅是为了证明咱的严谨(其实就是为了装逼) 肯定有同学心里会吐槽:真的是外包吗?估计又是个标题党,吹牛逼,*&¥%¥ 答:真的是 ...

  6. 2 年 6 个月 11 天,外包到阿里的修仙之路!| 原力计划

    作者 | 程序员囧辉 责编 | 王晓曼 出品 | CSDN博客 前言 估计有同学会有疑问,为什么要精确到天?是为了装逼吗? 答:仅仅是为了证明咱的严谨(其实就是为了装逼) 肯定有同学心里会吐槽:真的是 ...

  7. 程序员的修仙之路-筑基篇

    也许很多人都被这个文章的标题吓到.吸引或者迷惑,那我告诉你,这篇文章不是一个程序员的穿越玄幻,不是一个程序员的无聊之谈,里面没有算法公式,亦无程序员的心路历程.它只是一套学习方法与学习工具的使用.这只 ...

  8. 程序员修仙之路--把用户访问记录优化到极致

    点击上方蓝色字体,关注我们 菜菜呀,前几天做的用户空间,用户反映有时候比较慢呀 CEO,CTO,CFO于一身的CXO 是吗? 菜菜 我把你拉进用户反馈群,你解决一下呀 CEO,CTO,CFO于一身的C ...

  9. 程序猿修仙之路--数据结构之你是否真的懂数组?

    数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少.数据结构与算法相辅相成,亦是阴阳互补之法. 开篇 说 ...

最新文章

  1. JavaWeb学习之路——SSM框架之SpringMVC(七)
  2. supervisor nginx_Supervisor 的使用和进阶 (3)
  3. mysql回滚与错误提示_对mysql事务提交、回滚的错误理解 – jae – 博客园
  4. php curl cookie,php中curl获取返回页面的cookie
  5. 【Elasticsearch】如何使用minimum_should_match
  6. 二叉树:听说递归能做的,栈也能做!
  7. PSD网页切图制作HTML全过程教程
  8. 竖版1:2500万标准中国地图
  9. [系统安全] 二十.PE数字签名之(上)什么是数字签名及Signtool签名工具详解
  10. 首发|罗振宇2018“时间的朋友”跨年演讲未删减全文
  11. thrift编写规则,及常见问题
  12. 华硕fl5600l装固态并重装系统到固态
  13. 每日学习-Java基础(十)接口和继承10(内部类)
  14. Auto.js 简单悬浮开关
  15. 【JSP】JSP简单介绍
  16. springMVC + Dubbo + zooKeeper超详细 步骤
  17. 读《MacTalk·人生元编程》及Mac常用软件
  18. 云服务器可以修改ip,云服务器的ip可以更换吗
  19. 东南大学计算机专硕录取分数线,东南大学研究生录取分数线
  20. android布局中垂直居中,在Android中垂直居中视图

热门文章

  1. Oracle数据库如何保存中文特殊字符到数据库表中,防止出现问号
  2. Word导入与发送、一键生成PPT文案
  3. 我精心整理的 136 页 Excel 数据透视表 PDF 文件!【附获取方式】
  4. LDO的基础特性——热关断
  5. 打开51cto.com网页出现病毒提示
  6. android自定义多选框 带图片,Android自定义单选多选下拉列表的实例代码
  7. 【经典】一个大数据学习的解决方案
  8. hashcat破解WiFi显示No hashes loaded的解决方法
  9. 王道计算机组成原理课代表 - 考研计算机 第七章 输入输出系统 究极精华总结笔记
  10. Cortex-M0核芯片bootloader调试过程