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 ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配