raid配置与实战10

2024-05-30 21:04
文章标签 配置 实战 raid

本文主要是介绍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在破坏到仅剩一个硬盘时,服务器崩溃无法冗余。

这篇关于raid配置与实战10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1016877

相关文章

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt