Linux修仙之路——RAID技术
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技术相关推荐
- Linux的修仙之路——安装和基本命令
Linux的安装和基本命令 Linux的安装 Linux由来 Linux的组成部分 Linux现行发行版本 VMware安装Linux Linux的基本命令 浏览目录.文件类命令 系统信息类命令 进程 ...
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截...
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据 ...
- 程序员修仙之路--高性能排序多个文件
点击上方蓝色字体,关注我们 菜菜呀,昨天晚上班级空间崩溃了 程序员主力 Y总 what? 菜菜 我看服务器上写了很多个日志文件,我看着太费劲了,能不能按照日期排序整合成一个文件呀? 程序员主力 Y总 ...
- 程序员修仙之路--设计一个实用的线程池
菜菜呀,我最近研究技术呢,发现线上一个任务程序线程数有点多呀 CEO,CTO,CFO于一身的CXO x总,你学编程呢? 菜菜 作为公司总负责人,我以后还要管理技术部门呢,怎么能不会技术呢 CEO,CT ...
- 2年6个月11天,外包到阿里的修仙之路
前言 估计有同学会有疑问,为什么要精确到天?是为了装逼吗? 答:仅仅是为了证明咱的严谨(其实就是为了装逼) 肯定有同学心里会吐槽:真的是外包吗?估计又是个标题党,吹牛逼,*&¥%¥ 答:真的是 ...
- 2 年 6 个月 11 天,外包到阿里的修仙之路!| 原力计划
作者 | 程序员囧辉 责编 | 王晓曼 出品 | CSDN博客 前言 估计有同学会有疑问,为什么要精确到天?是为了装逼吗? 答:仅仅是为了证明咱的严谨(其实就是为了装逼) 肯定有同学心里会吐槽:真的是 ...
- 程序员的修仙之路-筑基篇
也许很多人都被这个文章的标题吓到.吸引或者迷惑,那我告诉你,这篇文章不是一个程序员的穿越玄幻,不是一个程序员的无聊之谈,里面没有算法公式,亦无程序员的心路历程.它只是一套学习方法与学习工具的使用.这只 ...
- 程序员修仙之路--把用户访问记录优化到极致
点击上方蓝色字体,关注我们 菜菜呀,前几天做的用户空间,用户反映有时候比较慢呀 CEO,CTO,CFO于一身的CXO 是吗? 菜菜 我把你拉进用户反馈群,你解决一下呀 CEO,CTO,CFO于一身的C ...
- 程序猿修仙之路--数据结构之你是否真的懂数组?
数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少.数据结构与算法相辅相成,亦是阴阳互补之法. 开篇 说 ...
最新文章
- JavaWeb学习之路——SSM框架之SpringMVC(七)
- supervisor nginx_Supervisor 的使用和进阶 (3)
- mysql回滚与错误提示_对mysql事务提交、回滚的错误理解 – jae – 博客园
- php curl cookie,php中curl获取返回页面的cookie
- 【Elasticsearch】如何使用minimum_should_match
- 二叉树:听说递归能做的,栈也能做!
- PSD网页切图制作HTML全过程教程
- 竖版1:2500万标准中国地图
- [系统安全] 二十.PE数字签名之(上)什么是数字签名及Signtool签名工具详解
- 首发|罗振宇2018“时间的朋友”跨年演讲未删减全文
- thrift编写规则,及常见问题
- 华硕fl5600l装固态并重装系统到固态
- 每日学习-Java基础(十)接口和继承10(内部类)
- Auto.js 简单悬浮开关
- 【JSP】JSP简单介绍
- springMVC + Dubbo + zooKeeper超详细 步骤
- 读《MacTalk·人生元编程》及Mac常用软件
- 云服务器可以修改ip,云服务器的ip可以更换吗
- 东南大学计算机专硕录取分数线,东南大学研究生录取分数线
- android布局中垂直居中,在Android中垂直居中视图
热门文章
- Oracle数据库如何保存中文特殊字符到数据库表中,防止出现问号
- Word导入与发送、一键生成PPT文案
- 我精心整理的 136 页 Excel 数据透视表 PDF 文件!【附获取方式】
- LDO的基础特性——热关断
- 打开51cto.com网页出现病毒提示
- android自定义多选框 带图片,Android自定义单选多选下拉列表的实例代码
- 【经典】一个大数据学习的解决方案
- hashcat破解WiFi显示No hashes loaded的解决方法
- 王道计算机组成原理课代表 - 考研计算机 第七章 输入输出系统 究极精华总结笔记
- Cortex-M0核芯片bootloader调试过程