raid配置与实战

一、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/pingmian/18963.shtml

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

相关文章

如何解压忘记了密码的加密zip压缩包?这两个方法收藏好!

加密是一种保护信息不被未经授权访问的重要手段。ZIP压缩包作为一种常见的文件压缩格式,zip文件加密是很多人都回去做的一件事情,那么zip加密文件如何解密?有几种方法可以解密呢?今天介绍几种方法给大家。 一、尝试常用密码 我们…

SAP实施方法论

SAP新实施方法论 RDS Activate

大摩“凑热闹”:当前氧化铝紧平衡,任何供给冲击都将导致价格急剧波动

大摩认为,全球有590万吨氧化铝供应受阻,相等于扣除中国后全球供应约一成,而氧化铝需求可能有所上升,同时氧化铝库存缓冲有限,因此任何供给冲击都将导致价格急剧波动。 文章内容 今年以来氧化铝期货价格一路上行&#…

Thingsboard规则链:Customer Attributes节点详解

在物联网(IoT)平台Thingsboard的规则引擎中,Customer Attributes节点扮演了至关重要的角色,它允许用户访问和操作与客户(Customer)实体相关的属性数据。这些属性可以是静态信息,如客户名称、联系信息,或是动…

python中的互斥锁、死锁、递归锁

互斥锁 Python中的互斥锁(Mutex,Mutual Exclusion)是一种同步原语,用于防止多个线程同时访问共享资源。在Python中,互斥锁通常是通过threading模块中的Lock类来实现的。 前面文章将的就是互斥锁:python中…

FreeRTOS学习笔记-基于stm32(7)任务状态查询与任务时间统计API函数

1、FreeRTOS任务相关API函数 函数描述uxTaskPriorityGet()查询某个任务的优先级vTaskPrioritySet()改变某个任务的任务优先级uxTaskGetSystemState()获取系统中任务状态vTaskGetInfo()获取某个任务信息xTaskGetApplicationTaskTag()获取某个任务的标签(Tag)值xTaskGetCurrentT…

idea 快捷键运用

ctrl d 向下复制一行 shiftalt↑/↓ 向上或者向下移动光标所在行 shiftctrl↑/↓ 向上或者向下移动光标所在行(自动对齐) shift F6 rename包名或者类名或者批量修改变量名(不建议更改项目名,包名也尽量别改) 输入if 然后ctrlshift回车 补全缺失的括号 shift …

C# 证件照替换底色与设置背景图---PaddleSegSharp

PaddleSegSharp 是一个基于百度飞桨PaddleSeg项目的人像分割模块而开发的.NET的工具类库。 PaddleSegSharp 中PaddleSeg.dll文件是基于开源项目最新发布版本PaddleSeg PaddleSeg的版本修改而成的C动态库,基于opencv的x64编译而成的。 PaddleSeg是基于飞桨PaddlePa…

在RT-Thread下为MPU手搓以太网MAC驱动-3

文章目录 MAC驱动支持不同的PHY芯片关于对PHY设备抽象的改进RT-Thread下PHY设备抽象接口的改进关于对PHY设备抽象的改进 这是个人驱动开发过程中做的一些记录,仅代表个人意见和理解,不喜勿喷 MAC驱动需要支持不同的PHY芯片 MAC驱动支持不同的PHY芯片 关…

spring分析工具_springboot startup analyze的部署和使用

工具是开源工具 ,可以放心使用 我是从开源中国OCSChina看到的顺便安利一下 部署 教程 https://github.com/linyimin0812/spring-startup-analyzer 直接下载地址 https://github.com/linyimin0812/spring-startup-analyzer/releases/download/v3.0.0/spring-startup-analyzer.…

Javaweb基础之Filter

大家好,这里是教授.F 引入: 为什么需要过滤器???我们在访问一个项目的时候,常常有很多页面,如果没有过滤器,则我们需要在用户访问一个页面的时候,都要进行一个校验&…

文心智能体平台:快来创建你的Java学习小助理,全方位辅助学习

文章目录 一、文心智能体平台1.1平台介绍1.2智能体介绍 二、智能体创建三、体验与总结 一、文心智能体平台 文心智能体平台是百度推出的基于文心大模型的智能体(Agent)平台,支持广大开发者根据自身行业领域、应用场景,选取不同类…

Python 元组

(1)元组中只包含一个元素时,需要在元素后面添加逗号: tup1 (50,); (2)元组中的元素值是不允许修改的,但我们可以对元组进行连接组合: tup1 (12, 34.56); tup2 (abc, xyz);# 以…

3D模型三角面转四角面操作指南---模大狮模型网

在3D建模的过程中,三角面(Triangles)和四角面(Quads)是两种常见的多边形类型。虽然三角面在渲染速度和计算效率上有其优势,但四角面在模型编辑和纹理映射上通常更为方便。因此,将三角面转换为四角面是建模过程中常见的需求。 一、选择合适的建…

【数值计算方法】雅可比解线性方程

废话少说&#xff0c;直接上干货。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define MaxSize 100 double A[MaxSize][MaxSize]; //系数矩阵 double B[MaxSize]; //系数矩阵 double C[MaxSize][MaxSize]; //去对角线矩阵 double …

window自动启动bat文件

开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0c;可选择所需用户&#xff0c;点击应用&#xff0c;输入远程的密码即可 开机自动开启远程桌面&#xff0c; WinR 执行netplwiz 命令进入设置&#xff1b;取消勾选&#xff0…

python 面对对象 类 基础

面对对象 程序是由数据和功能组合而成的对象构建起来的&#xff0c;对数据与函数绑定到一起&#xff0c;进行封装&#xff0c;能够更快速的开发程序&#xff0c;减少重复代码 class --- 类&#xff0c;类是对象的抽象化&#xff0c;具有相同特征或行为的事物的统称 类的定义…

JavaScript className 类名属性操作

在JavaScript中&#xff0c;可以通过className属性来操作HTML元素的类名。 添加类名&#xff1a;可以使用element.className "className"来添加一个类名到元素中。 var element document.getElementById("myElement"); element.className " newC…

web题解 Easy_SQLi or 雏形系统 (解题方法思想)

1.Easy_SQLi 1&#xff09;打开题目环境&#xff0c;如下是一个类似弱密码的格式&#xff0c;但是它又说是sql&#xff0c;还是按sql注入来 2&#xff09;.这里我尝试判断它的注入类型&#xff0c;但是一只不对&#xff0c;我便想着用万能密码试试&#xff0c;怎料直接登录成功…

STL库--priority_queue

目录 priority_queue定义 prority_queue容器内元素的访问 priority_queue()常用函数实例解析 priority_queue内元素优先级的设置 priority_queue的常见用途 priority_queue又称为优先队列&#xff0c;其底层是用堆来进行实现的。在优先队列中&#xff0c;队首元素一定是当…