Linux磁盘阵列

一.RAID磁盘阵列介绍

RAID(Redundatnt Array of lndependent Disks),全称为:独立冗余磁盘阵列

解释: RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘 更高的存储性能 和提供 数据备份技术。

RAID技术分为几种不同的级别,分别可以提供不同的速度,安全和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性,性能和容量的要求。

RAID分为不同的等级,不同等级的RAID均在数据可靠性及性能上做了不同的权衡。

常见的RAID级别别有以下几种:

RAID 0 、 RAID 1、 RAID 5、 RAID 6、 RAID 1+0

RAID 功能实现:

提高IO能力

提高耐用性

磁盘冗余备份

RAID实现方式:

外接式磁盘阵列:通过扩展卡提供适配能力

内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置

软件RAID:通过OS实现

二.RAID磁盘阵列详解

1.raid 0

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

解释:RAID 0 是将两个以上的硬盘并联在一起,向RAID 0 存放数据时,它会分散存储到它下面所有磁盘中。读写都是从多个磁盘中进行,所以读和写速度很快,但是没有冗余功能,有一个硬盘坏了,整个RAID 0 的数据将会丢失。

2.raid 1

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

解释:RAID 1 必须是成对的磁盘组合,最少为2个磁盘,一个磁盘最为正常使用,另一个磁盘作为备份,当正常使用的磁盘繁忙或损坏时,可以切换到备份磁盘进行读写。数据写入到RAID 1时时间较长,因为需要往两个磁盘写数据,读取速度不变,但是可以提高性能,有效的读取(一个坏了,可以去另一个读)
 

3.raid 5

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

解释:RAID 5 最少需要3块磁盘组成,两块磁盘为数据的存储,一块磁盘为校验数据,数据存储的盘的数据读写和RAID 1(分布式存储)是一样的,但是有校验机制,所以写的速度相对RAID 0较差一点,读取的速度很高。任何一个磁盘数据丢失或损坏,都不会导致整个数据丢失,因为有校验机制的盘会通过其它没有损坏的盘计算出损坏的盘内容数据。
 

4.raid 6

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

5.raid 1+0 

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

解释:RAID 1+0 阵列,先两块硬盘做RAID 1,然后再将两个RAID 1做成RAID 0,相当于既有备份功能又能提高读取速度。写入要往4块盘进行写入,写入较慢,读取从多块磁盘读取,效率很高。且还有备份机制。

三.RAID对比

raid0  

读  提高

写  提高

最少几块盘:1块没有效果,有效果最少2块及以上

是否备份:  没有备份效果

实际利用率: 100%

raid1

读  提高

写  降低

最少  2块盘   一定要是2的倍数

实际利用率 50%

是否备份  有备份

最多可以坏   1块

raid5

读  提高

写  降低

最少  3+

是否备份  有备份

最多可以坏  1块

利用率  n-1

raid 1+0

读 写 提高

备份有

最少 4+ 偶数

利用率  50%

最多可以坏 2块  不能同一个raid1组里的,有三分之一的概率掉数据

四.配置RAID 0  案列 

准备工作

关闭防火墙和防护,加两块盘

1.检查是否安装mdadm软件包

2.进行分区

按照以下步骤对/dev/sdb和 /dev/sdc 进行创建一个分区

3.创建raid 0 设备

4.查看raid信息

查看raid信息有两种方法

一种:mdadm  -D 要查看的设备

一种:cat   /proc/mdstat

查看raid设备

5.格式化和挂载

6.模拟故障测试验证

raid0 损坏一个会导致整个磁盘阵列无法使用

五.配置RAID 1 案列

概念:RAID 1前面了解到主要是起到备份作用,且制作的盘数必须是偶数,下面演示以两块盘进行制作RAID1。

1、检查安装包、进行分区

按照配置RAID 0时,配置硬盘的分区,以及将分区id改为fd模式。

2、创建RAID 1设备

3、查看RAID 1信息

4、格式化和挂载

格式化:mkfs.xfs /dev/md1

挂载:mount /dev/md1 /data

5、故障模拟测试

在解挂载模式下进行测试

六.配置RAID 5 案列

概要:前面了解到,制作raid5,至少需要3块硬盘,但是生产环境中使用4块硬盘的较多,下面介绍使用4块硬盘进行制作RAID 5

1、分区

将4块盘安装上述RAID 0的方法进行分区,每分区给5G大小,id设置为fd

2、创建RAID5设备

3、查看RAID5信息

如果要时实查看可以用命令:watch -n1 (表示1秒刷新一次)

4、格式化以及挂载

格式化:mkfs.xfs /dev/md5

挂载:mount /dev/md5 /data

5、故障模拟测试

七.配置RAID 10 案列

概要:配置RAID10,前面了解最少需要4块盘进行配置,这边就拿4块盘进行制作,先将两块只作为RAID1,再将两个RAID 1作为RAID0。还有一种方法是直接将4块盘制作为RAID10

1、分区

根据配置RAID0一样配置4块硬盘的分区,每个分区大小5G,且id改为fd模式

步骤参考上述RAID0

2、制作RAID 10的方法

2.1 第一种制作RAID10方法

格式:mdadm -Cv /dev/md10 -l10 -n4 /dev/sd[b-e]1

2.2 第二种制作RAID 10的方法

3、格式化和挂载

4、模拟故障

模拟md1组中的sdb1故障

md1组中的sdb1无法正常使用

将模拟损坏的分区删除

重新添加损坏的分区

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

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

相关文章

【Linux】深挖进程地址空间

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟悉【Linux】进程地址空间 > 毒鸡汤&#xff…

vue连接本地服务器

vue 连接本地服务器做后端。 后端服务 使用springboot新建一个基于restful的接口,访问如下的地址,返回值。 vue构建 新建一个vue项目,安装访问服务器的插件。 npm install axios vue-axios --save 修改main.js使用axios,最终…

面试阿里、字节全都一面挂,被面试官说我的水平还不如应届生

测试员可以先在大厂镀金,以后去中小厂毫无压力,基本不会被卡,事实果真如此吗?但是在我身上却是给了我很大一巴掌... 所谓大厂镀金只是不卡简历而已,如果面试答得稀烂,人家根本不会要你。况且要不是大厂出来…

svg学习

概念 svg 可缩放矢量图形 svg 使用xml格式定义图像 svg 形状 矩形 <rect> <?xml version"1.0" standalone"no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&q…

【事故总结】Mybatis-Wrapper导致的生产事故

近期遭遇了一次生产环境的严重告警&#xff0c;涉及慢接口和CPU过载。经过排查&#xff0c;发现问题根源在于一段使用MyBatis的查询代码。当传入空列表作为查询条件时&#xff0c;MyBatis会忽略该条件&#xff0c;导致全表扫描&#xff0c;进而引发系统资源耗尽和频繁的Full GC…

《别让猴子跳回背上》——管理者的时间管理

讲时间管理的书很多&#xff0c;但这本是专门讲给管理者的时间管理。 在职场中&#xff0c;许多管理者都会碰到工作计划执行不下去、组织目标难于实现的问题&#xff0c;搭进了自己所有可以支配的时间&#xff0c;仍旧是焦头烂额&#xff0c;顾此失彼&#xff1b;而下属则因为…

PowerShell Instal 一键部署TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持 Centos7,8,9/Redhat7,8,9及复刻系列系统支持 Windows 10,11,2012,2016,2019,2022高版本建议使用9系列系统…

LabVIEW各版本安装指南

链接地址如下&#xff1a; https://pan.baidu.com/s/1NF9hY03bApwwpI-WVHGlZg?pwd0531 1.鼠标右击【LabVIEW2023】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;【解压到 LabVIEW2023】。 2.打开解压后的文件夹&#xff0c;双击打开【Setup】文件…

C语言 volatile关键字

volatile关键字介绍 volatile 是一个关键字&#xff0c;用于修饰变量&#xff0c;表示该变量是易变的&#xff0c;即可能在任何时候被意外地改变。在多线程编程中&#xff0c;当多个线程同时访问同一个变量时&#xff0c;由于线程之间的交互和优化&#xff0c;可能会导致变量的…

【挑战全网最易懂】深度强化学习 --- 零基础指南

深度强化学习介绍、概念 强化学习介绍离散场景&#xff0c;使用行为价值方法连续场景&#xff0c;使用概率分布方法实时反馈连续场景&#xff1a;使用概率分布 行为价值方法 强化学习六要素设计奖励函数设计评论家策略学习与优化 算法路径深度 Q 网络 DQN演员-评论家算法&…

echarts常见的一些大屏示意图及配置项【好看】

双立体柱状图 示意图&#xff1a; 配置&#xff1a; initData() {let sideData [220, 182, 191, 234, 290, 330]let sideData1 [100, 110, 120, 134, 190, 230]let nameList [结算能力数, 结算金额]let yAxisData [(金额/亿元), (能力数/个)]let xData [1, 2, 3, 4, 5…

Anolis安装Jdk保姆级教学

前言 欢迎来到本博客&#xff0c;我们将带领你完成在Anolis操作系统上安装Java Development Kit&#xff08;JDK&#xff09;的详细过程。Anolis操作系统是一款基于Linux的轻量级操作系统&#xff0c;专为容器和云原生应用而设计。在Anolis上安装JDK将为你提供一个稳定、高效的…