linux中磁盘阵列(软、硬RAID)理解及服务器实战

2023-11-29 14:58

本文主要是介绍linux中磁盘阵列(软、硬RAID)理解及服务器实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

磁盘阵列的理解和实战

    • 一、概述
    • 二、原理
    • 三、功能
    • 四、RAID分类
    • 五、常见RAID级别
      • 1、RAID 0
      • 2、RAID 1
      • 3、RAID 5
      • 4、RAID 6
      • 5、RAID 10
    • 六、实现方法
      • 1、部署硬RAID
        • (1)环境:DELL E14S服务器
        • (2)要求
          • ① 2块硬盘做RAID 1
          • ② 6块硬盘做RAID 5
          • ③ 1块硬盘做RAID 5的热备
        • (3)详细步骤
      • 2、部署软RAID
        • (1)环境:虚拟机CentOS 8系统
        • (2)要求
          • ① 3块硬盘做RAID 5
          • ② 1块硬盘做热备盘
        • (3)详细步骤

一、概述

磁盘阵列(Redundant Arrays of Independent Disks,RAID):独立磁盘构成的具有冗余能力的阵列

它是把相同的数据存储在多个硬盘的不同的地方,通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

二、原理

磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。

在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。

三、功能

  • (1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
  • (2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
  • (3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

四、RAID分类

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来操作实现。

分类应用场景优点缺点
外接式磁盘阵列柜大型服务器上具可热交换(Hot Swap)的特性价格都很贵
内接式磁盘阵列卡阵列卡专用的处理单元来进行操作价格便宜,能提供性能、数据保护、可靠性、可用性和可管理性的解决方案需要较高的安装技术
软件通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列提供数据冗余功能磁盘子系统的性能会有所降低,不适合大数据流量的服务器

五、常见RAID级别

1、RAID 0

级别技术实现方式个数利用率优缺点
RAID 0条带化多个硬盘同时读写2+100%速度最快,不容错

2、RAID 1

级别技术实现方式个数利用率优缺点
RAID 1镜像2块硬盘同时写进同样内容2+偶数50%容错,速度一般,使用率低

3、RAID 5

级别技术实现方式个数利用率优缺点
RAID 5分布式奇偶校验的独立磁盘结构3块硬盘按顺序同时读写,1块硬盘做校验3+(n-1)/n可靠性高,容错,允许坏1块,并行能力差

4、RAID 6

级别技术实现方式个数利用率优缺点
RAID 6带两种分布存储的奇偶校验码独立磁盘结构对RAID5的扩展4+(n-2)/n可靠性强,容错,允许坏2块,速度一般,负载大

5、RAID 10

级别技术实现方式个数利用率优缺点
RAID 1+0高可靠性与高效磁盘结构一个带区结构加一个镜象结构4+50%既高效又高速,可扩充性不好,价格高

六、实现方法

1、部署硬RAID

(1)环境:DELL E14S服务器
(2)要求
① 2块硬盘做RAID 1
② 6块硬盘做RAID 5
③ 1块硬盘做RAID 5的热备
(3)详细步骤

服务器开机,进入如下界面时,按下Ctrl+R,需要等几分钟
在这里插入图片描述
发现9块物理硬盘,如图:
在这里插入图片描述
如果硬盘之前做过RAID,可以F2选择清除配置Clear Config重新做,如图:
在这里插入图片描述
按F2选择“Create New VD”,如图:
在这里插入图片描述
RAID Level:选择要做的RAID类型,这里先选择RAID 1,如图:
在这里插入图片描述
选择两块硬盘创建,RAID1一定是偶数块硬盘,如图:
在这里插入图片描述
以同样的方式创建RAID 5,这次要选择6块硬盘,并且配置读取策略为“No Read Ahead”,如图:
在这里插入图片描述
“No Read Ahead”对当前虚拟磁盘不使用预读
预读功能是允许控制器在请求数据之前按顺序读取,并把额外的数据存储在高速缓存存储器中,预计很快将使用这些数据,它可以更快的提供顺序数据,但当访问随机数据时不是很有效

回到初始界面按Ctrl+N切换到硬盘管理界面
在这里插入图片描述
按F2将剩下的硬盘设置为热备盘,选择“Make Global HS”,如图:
在这里插入图片描述
设置完后按Esc退出,输入ctrl+alt+delete键重启服务器,然后就可以为服务器安装linux系统了,如图:
在这里插入图片描述

2、部署软RAID

(1)环境:虚拟机CentOS 8系统
(2)要求
① 3块硬盘做RAID 5
② 1块硬盘做热备盘
(3)详细步骤

给虚拟机添加4块硬盘,大小为1G
在这里插入图片描述
yum -y install mdadm.x86_64
#安装mdadm工具
在这里插入图片描述
mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd[b-e]
#创建RAID

  • -C:创建RAID
  • -l:RAID级别
  • -n:用几块硬盘做
  • -x:几块热备盘

在这里插入图片描述
然后格式化并挂载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mdadm -D /dev/md0

  • -D:查看详情

在这里插入图片描述

watch -n 0.5 ‘mdadm -D /dev/md0 | tail’
#动态查看磁盘状态
在这里插入图片描述
mdadm /dev/md0 -f /dev/sdc -r /dev/sdc

  • -f:fail
  • -r:remove

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
总结:一般很少有企业会做软RAID,基本都是做硬RAID,所以这里简单了解一下

这篇关于linux中磁盘阵列(软、硬RAID)理解及服务器实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于