raid配置与实战10

一、raid理论

1、raid概述

raid(磁盘阵列):是用不同的硬盘分区,组成一个逻辑上的硬盘,高可用(冗余)。

2、raid级别

2.1、raid0条带化存储

  • 数据分散在多个物理磁盘上的存储方式,利用多个磁盘并行读取和写入,存储性能和读写性能是最好的。
  • raid0使用条带化存储,没有冗余能力,坏一块盘数据就会丢失。
  • 使用场景:高吞吐和低延迟的应用场景。视频 大数据处理。
  • 最少要一块硬盘分区。
  • 硬盘利用率是100%。

2.2、raid1镜像存储

  • 两两复制,数据会存储在所有的硬盘中。
  • raid1需要的磁盘数N(偶数)
  • raid1可以提高读的性能,写性能相对较低,数据在每个磁盘都有备份.
  • raid1可以提供冗余。
  • raid利用率50%。

2.3、raid5条带化存储

  • 数据是分散存储,根据校验机制循环均衡的存储。
  • n>=3,有冗余,可以坏一块盘,如果有热备份,可以再坏一块盘。
  • 读性能很好,写性能现对较差。
  • 磁盘利用率 n-1/3 raid5运用场景最多。

2.4、raid6

  • 最少需要4块硬盘 n>=4。
  • 磁盘利用率n-2/n。
  • 有冗余,奇偶校验,每个盘上的数据一致,循环按照奇数和偶数俩把数据写入磁盘。
  • 最多可以坏2个盘。
  • 读性能和raid5差不多,比raid1低很多,写性能最差的。
  • raid6的可靠性是最高的,最可靠的raid级别,金融,医疗,法律,银行均用。
  • 对数据的完整性和可靠性要求很高,选择raid6。

2.5、raid10先做镜像 在做条带

  • 最少需要4块,盘数n为偶数 n>=4,先做镜像在做条带。
  • 有冗余,可以坏2块(一组坏一块)每个两两复制的硬盘当中可以坏一个。
  • 利用率n/2 50%。
  • 读写性能高,读和raid0差不多 稍低一些 写性能和raid1几乎一至, 稍低一些。

3、总结

raid级别使用硬盘数量磁盘利用率冗余能力读写性能
raid0N100%读写性能最好
raid1N(偶数)50%坏一块读性能好,写相对较差
raid5N>=3n-1/n坏一块读性能好,写性能一般
raid6N>=4n-2/n坏两块读性能好,写性能最差
raid10
N>=4 N(偶数)
50%每个组当中可以各自坏一块读性能好,写性能一般

在有四个硬盘,可以按照实际需求进行选择,在企业当中,用最多的是raid5。

  1. raid0 读写性能最好,利用率100%,但没有冗余能力
  2. raid1读性能很好,写性能相对差,利用率50%,有冗余能力
  3. raid5读性能很好,写性能一般,利用率大于50%,有冗余能力,性价比最高
  4. raid6读性能好,写性能最差,利用率大概50%,有冗余能力
  5. raid10读写性能都很好,利用率50%,有冗余能力,但造价高

补充:

热备份:当阵列中有一块硬盘坏了,热备份盘可以随时顶替,相当于磁盘的最后一次保险。

工作原理:热备份相当于给raid又做了一个备份,raid当中坏了一块硬盘,热备份在顶替过程中利用校验的算法,把阵列当中的数据同步过来,然后再顶替坏掉的硬盘,在替换过程中,阵列不可使用的,不能读写的,顶替完成之后,raid恢复正常

二、实战

添加5个硬盘,每个硬盘分1个区,每个区10G

检查mdadm版本,没有需要下载

1、raid10

检查是否已经被raid使用

[root@localhost ~]# mdadm -E /dev/sd[b-e]1

 创建raid10

[root@localhost ~]# mdadm -C -v /dev/md10 -l10 -n4 -x1 /dev/sd{b,c,d,e,f}1

-C:创建raid

-v:显示创建过程中的详细信息

/dev/md5:raid5

-l:指定raid的级别raid5

-n:指多少块硬盘

/dev/sd[b-d]1:硬盘分区

-x:热备份几块

查看raid10

[root@localhost ~]# mdadm -D /dev/md10

创建xfs文件管理,挂载就不在演示,类似于lvm 

模拟破坏其中的一块盘,并查看效果,热备份盘替换,可冗余

 

模拟破坏A,B中 各一块硬盘,并查看效果,可冗余

总结:我们此次做的是软raid10,存在一些弊端,实际在我们生产中,不会存在连续损坏3块硬盘以上的情况,当最后有两块硬盘中仍可以冗余,但仅剩一块工作时,不可冗余。 

2、raid6与lvm结合

创建lvm

 

创建raid6有1个热备份,并查看详细信息 

创建文件系统 

 挂载并查看

  1. 破坏第一块盘,并查看,状态State : clean, degraded, recovering 备份盘顶替被损坏盘的位置,服务器可冗余

查看过程备份盘奇偶校验 

2、进一步破坏第二个盘 

 

查看结果,状态为 State : clean, degraded ,服务器可冗余 

3、破坏第三个盘 

查看结果,状态为   State : clean, degraded ,服务器可冗余 

 4、破坏第四个盘

 查看状态State : clean, FAILED ,服务器崩溃,无法冗余

总结:raid6在破坏到仅剩一个硬盘时,服务器崩溃无法冗余。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/19397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新媒体时代,LCD电子价签赋予零售场景新活力

近年来,全球企业迅速掀起了数字化转型的浪潮,加速了新零售科技的发展与应用。在实体零售门店中,商品货架显示逐渐趋向智能化和多样化。然而,在信息传播日益碎片化和视频化的时代,零售门店如何更有效地吸引消费者的注意…

英飞凌 AURIX TriCore 单片机开发入门

文章目录 目的硬件准备AURIX™ Development StudioInfineon MemtoolAURIX™ iLLD Drivers总结 目的 英飞凌的32位 AURIX™ TriCore™ 系列单片机 经常用于汽车和工业领域。开发该系列单片机比较常用的开发环境有 HighTec 和 AURIX™ Development Studio 。本文将基于后者&…

linux镜像虚拟机创建共享文件夹详细步骤 -- 和本地电脑传输文件

主机与虚拟机之间传递文件,最快捷的方法莫过于共享文件夹。此方法不需要复制文件,而且可以节省硬盘空间。 具体设置步骤如下: 打开自己的电脑,创建共享的文件夹,完成后鼠标右击刚刚创建的共享文件夹,选择…

设计模式 18 迭代器模式 Iterator Pattern

设计模式 18 迭代器模式 Iterator Pattern 1.定义 迭代器模式 (Iterator Pattern) 是一种行为型设计模式,它提供了一种访问集合元素的标准方法,而无需暴露集合的内部表示。 提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该…

Redis之内存管理过期、淘汰机制

1.Redis内存管理 我们的redis是一个内存型数据库,我们的数据也都是放在内存中的,内存是有限的空间,当数据满了之后,我们要怎么样继续保证redis的可用性呢?我们就需要采取点管理措施和机制来保证我们redis的可用性。 在redis.co…

一套saas模式云MES系统源码,基于springboot+vue.js+uniapp开发

一套saas模式云MES系统源码,基于springbootvue.jsuniapp开发 MES系统简介 MES系统,即制造执行系统(Manufacturing Execution System),是一种面向制造企业车间执行层的生产信息化管理系统。它位于上层的企业资源规划&a…

应用案例|精密制造中使用复合机器人得到显著提升

精密制造行业对设备的精度、稳定性和效率要求极高,而复合机器人凭借其多功能性、高度灵活性和精准控制能力,正逐渐成为该领域的新宠。以下是一个富唯智能复合机器人在精密制造中的应用案例。 案例背景 某知名汽车零部件制造企业,专注于生产…

【JS】并发控制

需求 控制网络请求并发数控制并发按顺序返回结果 码 /** * 控制并发 * param {Function} fn 逻辑处理函数 * param {Array} arr 发送的数据 * param {Number} [max3] 并发数 默认3 * param {Number} [orderfalse] 按顺序返回执行结果 默认false * param {Number} [retry1] 重试…

vue项目集成萤石云在Web系统中实现实时摄像头监控及控制功能

需求 需求: 开发人员在产线上放置一个萤石摄像头,前端在可视化大屏上实时监控,且控制左右上下功能。 效果 萤石云接入web前期准备工作 阅读萤石云API文档:萤石云开放平台开发者文档 阅读萤石云控制API文档:萤石云摄…

【错题集-编程题】dd 爱旋转(模拟)

牛客对应题目链接:dd爱旋转 (nowcoder.com) 一、分析题目 模拟题,但是需要不能直接无脑模拟,要思考⼀下规律。 顺时针旋转 180:行变换 列变换行变换、列变换的顺序颠倒不会有影响行变换的次数是个数相当于不变 二、代码 #includ…

《C语言深度解剖》(15):动态内存管理和柔性数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

k8s中的集群调度

文章目录 k8s中的集群调度Pod 创建流程 通过指定节点来创建pod所在的node节点通过标签来指定pod创建在哪个节点上pod 的亲和性Pod的亲和性和反亲和性亲和性(Affinity)反亲和性(Anti-Affinity) 污点与容忍污点(Taint&am…

Spring Cache入门详解

一、概述 1.1缓存介绍 Spring提供了一套cache缓存抽象(注解/接口),使基于spring缓存的使用与实现解耦 默认实现,Spring JDK ConcurrentMap-based Cache第三方实现,caffeine/Ehcache/Redis等 https://docs.spring.io/spring-framework/do…

Postman快捷功能-快速填写请求头

大家好,之前给大家分享关于 Postman 工具的基础使用,今天给大家介绍一个快捷功能,可以一定程度提高我们使用 Postman 工具的效率,在我们进行接口测试时,几乎每个接口都需要填写 Headers,且 Headers 中的参数…

【ai】livekit服务本地开发模式2:模拟1个发布者

是一个会议用软件:LiveKit is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.LiveKit’s server is wr…

【Python】 Django 框架如何支持百万级日访问量

基本原理 Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计。Django 遵循 MVC(模型-视图-控制器)设计模式,允许开发者通过编写更少的代码来构建高质量的 Web 应用程序。Django 自带了许多内置功能&#xf…

发现没:随便搞个B端页面,就想在客户那里过关,难啦。

客户对B端界面要求越来越高的原因可以有以下几点: 用户体验要求提升:随着用户对移动应用和网页的使用经验增加,他们对于界面的交互、流畅性和易用性要求也越来越高。他们希望能够在使用B端应用时,能够快速、方便地完成任务&#…

设计模式详解(六):适配器模式——Adapter

目录导航 适配器模式及其作用现实生活举例 适配器模式的好处适配器模式的实现关系图实现步骤 适配器模式的适用场景适配器模式示例 适配器模式及其作用 适配器模式是一种结构型设计模式。所谓结构型是指在代码结构方面的设计模式。适配器模式作为中间层,可以让交互…

Vue3 图片或视频下载跨域或文件损坏的解决方法

Vue3 图片或视频下载跨域或文件损坏的解决方法 修改跨域配置文件下载方法 修改跨域配置文件 修改vite.config.ts文件proxy里面写跨域地址,如下图,图片地址就是我们要跨域的目标地址: 下载方法 如下就是我取消上面那句后的报错 然后调用两…

【Java】Sping Boot中使用Javax Bean Validation

目录 Javax Bean Validation在Spring Boot中集成Javax Bean Validation使用案例功能测试配置全局异常处理器重新测试返回特定形式的信息方式一方式二 附:常用的注解 Javax Bean Validation Javax Bean Validation是Java平台的一项规范,旨在提供一种简单…