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

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1