RAID软件磁盘阵列

  • 一、常用RAID介绍
    • 1.1 RAID 0(条带化存储)— 性能最佳
    • 1.2 RAID 1(镜像存储)— 完整备份
    • 1.3 RAID 5 — 性能与数据备份的均衡考虑
    • 1.4 RAID 6 — 更强大的数据备份
    • 1.5 RAID 1+0(先做镜像,再做条带)
    • 1.6 RAID 0+1(先做条带,在做镜像)
  • 二、磁盘阵列的优点
  • 三、硬件磁盘阵列
    • 3.1 磁盘阵列介绍
    • 3.2 阵列卡介绍
    • 3.2 阵列卡的缓存
  • 四、软件磁盘阵列的设置
    • 4.1 在VMware中给Linux添加4块SCSI硬盘
    • 4.1 检查是否安装mdadm软件包
    • 4.2 新磁盘划分主分区:类型fd
    • 4.3 创建RAID 5 设备
    • 4.4 查看RAID磁盘详细信息
    • 4.5 对创建的RAID5 进行格式化并挂载
    • 4.6 模拟故障检测RAID功能
    • 4.7 创建相关配置文件
    • 4.8 停止和启动RAID

一、常用RAID介绍

磁盘阵列的全名是(Redundant Arrays of Inexpensive Disk,RAID),中文意思是独立冗余磁盘阵列。RAID可以通过技术(软件或者硬件)将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘功能可不止存储而已,它还具有数据保护的功能,整个RAID由于选择的级别(level)不同,而使得整合后的磁盘具有不同的功能,基本常用的level有以下几种

1.1 RAID 0(条带化存储)— 性能最佳

  • RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余;
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据;
  • RAID 0不能应用于数据安全性要求高的场合。

1.2 RAID 1(镜像存储)— 完整备份

  • 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;
  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能;
  • RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当个磁盘失效时, 系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

1.3 RAID 5 — 性能与数据备份的均衡考虑

  • N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
  • (N-1) /N磁盘利用率;
  • 可靠性高,允许坏1块盘,不影响所有数据。

1.4 RAID 6 — 更强大的数据备份

  • N (N>=4) 块盘组成阵列,(N-2) N磁盘利用率;
  • 与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块;
  • 两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用;
  • 相对于RAID 5有更大的“写损失"因此写性能较差。

1.5 RAID 1+0(先做镜像,再做条带)

  • N (偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0;
  • N/2磁盘利用率;
  • N/2块盘同时写入,N块盘同时读取;
  • 性能高,可靠性高。

1.6 RAID 0+1(先做条带,在做镜像)

  • 读写性能与RAID 10相同;
  • 安全性低于RAID 10;
  • 使用较少。

二、磁盘阵列的优点

RAID级别 RAID 0 RAID 1 RAID 5 RAID 6 RAID 1+0
硬盘数量 N N(偶数) N>=3 N>=4 N>=4(偶数)
硬盘利用率 N N/2 (N-1)/N (N-2)/N N/2
是否有校验
保护能力 允许一个硬盘故障 允许一个硬盘故障 允许两个硬盘故障 允许两个硬盘故障
写性能 单个硬盘的N倍 需写两对存储设备,互为主备 需写计算校验 需双重写计算校验 N/2块盘同时写入

三、硬件磁盘阵列

3.1 磁盘阵列介绍

所谓的磁盘阵列是通过磁盘阵列卡(上图所示)来完成磁盘阵列的功能,磁盘阵列卡上面有一块专门的芯片用于处理RAID任务,因此在性能方面会比价好。在很多任务(例如RAID5奇偶校验值计算)中,磁盘阵列并不会重复消耗原本系统的I/O总线,理论上性能会较佳,此外目前一般的中高级磁盘阵列卡都支持热插拔,即在不关机的情况下抽换损坏的磁盘,在系统的恢复和数据的可靠性方面非常好用!

3.2 阵列卡介绍

  • 阵列卡是用来实现RAID功能的板卡
  • 通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
  • 不同的RAID卡支持的RAID功能不同:
    例如支持RAID0、RAID1、 RAID5、 RAID10等
  • RAID卡的接口类型:
    IDE接口、SCSI接口、 SATA接口和SAS接口

3.2 阵列卡的缓存

  • 缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
  • 缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素。
  • 不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等。

四、软件磁盘阵列的设置

这边通过一个案例来详细讲解配置步骤:

  1. 为Linux服务器添加4块SCSI硬盘;
  2. 使用mdadm软件包,构建RAID5磁盘阵列,提高磁盘存储的性能和可靠性。

4.1 在VMware中给Linux添加4块SCSI硬盘

具体步骤可以参考此篇博客第三段:磁盘管理的检测并确认新硬盘

4.1 检查是否安装mdadm软件包

使用rpm -q mdadm进行检查,如下图代表已安装过mdadm软件,未安装的话使用yum install -y mdadm 进行安装。

4.2 新磁盘划分主分区:类型fd

修改 /dev/sdb/dev/sdc/dev/sdd/dev/sde 磁盘



4.3 创建RAID 5 设备

格式:mdadm -C -v /dev/md0 -a yes -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1

选项 作用
-C 表示新建
-v 显示创建过程中的详细信息
/dev/md0 创建RAID5 的名称
-a yes –auto, 表示如果有什么设备文件没有存在的话就自动创建,可省略
-l 指定RAID 的级别,15表示创建RAID5
-n 指定使用几块硬盘创建RAID, n3表示使用3块硬盘创建RAID
/dev/sd [bcd]1 指定使用这3块磁盘分区去创建RAID
-x 指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1 指定用作于备用的磁盘

4.4 查看RAID磁盘详细信息

1.查看RAID创建进度的两种方式:
[root@cheng0307 ~]# cat /proc/mdstat
[root@cheng0307 ~]# mdadm -D /dev/md0 2.每5秒钟动态显示创建过程
[root@cheng0307 ~]# watch -n 5 'cat /proc/mdstat'3.检查某块磁盘是否已做RAID
[root@cheng0307 ~]# mdadm -E /dev/sdb1

1.查看RAID创建进度的两种方式

显示内容解释:

[root@cheng0307 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

mdo:表示后面创建raid5 包含了sdd1,sde1,sdc1,sdb1,其中sde1(s)表示是备份;
第四行的uuu:表示前面三块硬盘都是正常的。

2.检查/dev/sdb1磁盘是否已做RAID。

  1. 也可以使用mdadm -D /dev/md0进行查看。

4.5 对创建的RAID5 进行格式化并挂载

1.格式化
[root@cheng0307 ~]# mkfs -t xfs /dev/md0
2.挂载(非永久)
[root@cheng0307 ~]# mount /dev/md0 /opt/

4.6 模拟故障检测RAID功能

  1. 进入挂载目录随便创建一些文件和文档
  2. 模拟一块磁盘故障,并查看重新创建的过程。

4.7 创建相关配置文件

创建/etc/mdadm.conf 配置文件,方便管理软RAID的配置,如:启动、停止等。

1.相关命令:
[root@cheng0307 opt]# echo 'DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf
[root@cheng0307 opt]# mdadm --detail --scan >> /etc/mdadm.conf

4.8 停止和启动RAID

mdadm命令其他常用选项:

  • -r:移除设备
  • -a:添加设备
  • -S:停止RAID
  • -A:启动RAID

  • mdadm /dev/md0 -f /dev/sdc1 — 将指定磁盘设为故障
  • mdadm /dev/md0 -r /dev/sdc1 — 移除指定磁盘
  • mdadm /dev/md0 -a /dev/sdc1 — 添加指定磁盘
  1. 手动删除故障磁盘和添加新磁盘


2. 将RAID 停止和启动
如果没有第七步进行/etc/mdadm,conf配置文件的添加,停止后扫描不到配置文件将无法启动。
mdadm -S /dev/md0
mdadm -As /dev/md0
#-s:指查找 /etc/mdadm.conf文件中的配置信息

大厂小厂都在用的RAID软件磁盘阵列技术,必须学起来!相关推荐

  1. RAID软件磁盘阵列

    文章目录 一.RAID概述 1.1.RAID的概念 1.2.RAID 中主要有三个关键概念和技术 二.常用RAID介绍 2.1.RAID 0(条带化存储)- 性能最佳 2.2.RAID 1(镜像存储) ...

  2. 某大厂程序员哀叹:千万不要从大厂往小厂跳,后悔死了!小厂只会逼迫压榨,刚来就一个劲要产出!...

    都说大厂程序员出路多,既可以往其他大厂跳,也可以往中小厂跳.如果从大厂跳小厂非常香,不仅薪资待遇高,而且小厂也没有大厂那么忙和内卷,没准还能因为大厂背景成为管理层. 但一个从大厂跳到小厂的程序员却跳出 ...

  3. 大厂与小厂工作的选择

    作者 | 老穆 来源 |  微信公众号"土豆他爸爸" 这周末回老家参加妹妹的婚礼,喜宴上和转行进入计算机行业1年多的老弟,聊了不少最近他的现状情况,发现和我刚毕业一两年那会情况类似 ...

  4. 劝大家谨慎去小厂!血泪总结,句句真实!

    有人觉得大厂人事冗余,流程繁琐,成长空间小,喜欢去"小而美"的公司,事实果然如此吗? 一位网友分享了自己的经验,劝大家谨慎去小厂,原因有六点,句句真实: 1.掣肘:小公司最大的因素 ...

  5. 咸鱼翻身,毕业2年从二线小厂成功上岸华为

    简介 女孩子,985硕,非科班工科,毕业的时候因为脑残选择了二线城市的一家毫无名气的小厂做Java工程师,一年前想修正一下自己错误的道路,重回一线进大厂.人懒还菜,空有梦想不想努力,拖到今年7月,开始 ...

  6. 都讨论大厂面试,当我小厂面试请喝茶的?

    前言 当你点进来的时候,我只能说声抱歉,因为我根本给不了你什么大厂面试方面的建议,我只是IT行业芸芸众生中的一粒小渣渣,但俗话讲有缘千里来相会,无缘对面不相逢,既然你我有缘,居士冒着被键盘侠喷出翔的风 ...

  7. 某快手程序员爆料:给小厂随便投投简历,面试表现很差也能过,大厂背书确实有用!...

    "背书"有保证.担保的意思,"大厂背书"意即有大厂工作背景做担保,在大厂工作过的人,会给人一种技术好.能力强的感觉,人们往往觉得在大厂待过的人不会太差. 那么在 ...

  8. 是小厂全栈好,还是大厂专业工程师好?

    作者:邹溪源,长沙资深互联网从业者,架构师社区特邀嘉宾! 一 在博客园中使用小公司大公司进行搜索,列入的搜索记录长达50页.虽然完全命中关键词的文章也许并不多,但这或许也能体现出这个话题的热门程度. ...

  9. 【面试招聘】去不了大厂实习,小厂实习去吗?

    各位读者们,我是千与千寻,大家好,最近马上就要秋招正式批了,祝大家都能找到满意的offer! 但是有不少读者说面试频频失利,想进大厂,但是面试不顺利,小厂感觉又不愿意去. 一.第一份实习 我结合自己曾 ...

最新文章

  1. 使用TS自动抓取镜像
  2. layui表格弹窗修改_layUI 实现自定义弹窗
  3. OAuth2 实现单点登录 SSO
  4. Yaffs2根文件系统制作
  5. Laravel Homestead安装笔记
  6. 【Redis】Redis Hyperloglog
  7. 今天开始真正学习SSH
  8. 整理优秀的网盘搜索合集
  9. perl脚本进制转换
  10. 多么乐alexa网站流量数据报告助手
  11. 信号灯绿波服务器,主干道绿波与红波控制策略
  12. html制作凤凰网,有哪些不用编写代码就能轻松制作生成HTML5页面的工具
  13. Postman下载及WebApi测试遇到问题点
  14. TE TM TEM模的区别
  15. html5拼图游戏canvas,canvas拼图游戏
  16. 陈经纶2021年高考成绩查询时间,北京2021高考成绩排名榜单,北京各高中高考成绩喜报...
  17. [优雅代码]-调用java集合Map.computeIfAbsent()方法
  18. 关于举办2021年湖北省学生信息素养提升实践活动的通知
  19. emacs 启动页面定制
  20. Ubuntu安装luminati

热门文章

  1. Shell教程(四)--输出的格式化
  2. Arcgis For Android 加载天地图(拥有缓存功能)
  3. 专升本高数——第九章 无穷级数【学习笔记】
  4. 运放参数 分析 (LMC6482 为例)
  5. 互融云借条APP系统开发 六大系统优势全面保障
  6. Acme Cad Dwg 转换 设置字体
  7. Windows下反(反)调试技术汇总
  8. C#中的虚函数virtual
  9. 精心推荐-自动化软件
  10. 展望计算机体系结构的未来发展方向(学院作业)随便写的