当前位置: 首页 > backend >正文

raid存储技术

1. 存储技术概念

        数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。

        由计算机中一组存储设备、控制部件和管理信息调度的设备(硬件)和算法(软件)所构成的系统。

常见的存储系统主要由这三部分组成:

  • 主机系统(物理部件(硬件)和逻辑部件(软件))
  • 互连部件(互连物理部件(总线端口,线缆),互连逻辑部件(通信协议,设备驱动))
  • 存储设备(负责数据存储的设备,硬盘,光盘,电源等)

2. raid存储概念

2.1 冗余

冗余指系统的一些重要部件重复配置,当发生故障时冗余配置的部件可以介入并承担故障部件的工作,甚至可以对系统进行修复,有助于系统容错,保障业务持续稳定运行。

2.2 raid技术概念

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)技术,该项技术可简称为磁盘阵列,可以理解为通过组合多个磁盘提升性能与可靠性。

2.3 raid的分类

基于硬件的RAID磁盘阵列技术(俗称硬RAID)
基于软件的RAID磁盘阵列技术(俗称软RAID)

2.4 raid的阵列级别

根据RAID磁盘阵列对磁盘数据分布、校验方式及实施技术的不同,可以将磁盘阵列分为多个级别,分别为RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 6、RAID 10

RAID 0(条带化,提升性能但无冗余)、RAID1(镜像,有冗余)、RAID 3(一个冗余校验盘)、RAID
5(分布式奇偶校验,兼顾性能与冗余)、RAID 6级别较为常用。

  • raid 0——无容错条带化磁盘阵列,至少两个硬盘即可(数据分条,硬盘分块,同时并行处理,提升性能,读写速度,成本低,但是没有冗余功能,不适合存储重要数据)利用率——100%    
  • vg:侧重于提高磁盘管理的灵活性,允许动态调整逻辑卷的大小,适合需要灵活存储管理的场景.
  • raid 1——简单的镜像备份,实现数据冗余,数据盘和镜像盘是相对的,互为镜像与恢复。安全性高一点,成本贵,写入速度较慢,读取速度快。
  • raid 2——0的改良版,相比0的利用率低,插入汉明码(校验码,纠错机制) 利用率50%        
  • raid 3——在2的基础上,以位为单位数据分割,奇偶校验码,适用大文件类型以及安全性要求高一点的,利用率80%                                          
  • raid 4——硬盘分块,块写入内存(缓冲), cpu处理数据,以块为单位                                 
  • raid 5——奇偶校验码信息和对应数据存储正在不同的硬盘上(最少3块)                                
  • raid 6——raid5的基础上,至少四块硬盘。增加了2个独立的奇偶校验信息块(算法不同的双重校验),容错能力更强,读块写慢。适合数据/信息中心,成本高                                          
  • raid 1+0——结合0和1的磁盘阵列,条带化技术加上镜像备份技术(50%)

3. raid软存储和硬存储

3.1 硬存储

全部通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID都是硬RAID。

raid阵列卡:RAID 核心处理芯片( RAID 卡上的 CPU )、端口、缓存、电池

SATA阵列卡:主要作用于大容量数据存储、网吧、数据安全等服务器领域,同时一些低端卡也满足了一些家用客户的需求。

SCSI阵列卡:使用在高端工作站或者是服务器中,可以支持很多块SCSI接口的硬盘。能够支持RAID 0、1、0+1、3、5 。

SAS阵列卡: 主要使用在一些高端工作站与服务器中,已经取代了昔日的SCSI接口,并且可以兼容SATA接口硬盘。

阵列卡缓存:是阵列卡先将数据传输到缓存,再由缓存和外边数据总线交换数据的一种过程。

  • 透写(数据直接写入磁盘)
  • 回写(数据先将数据写入缓存(缓冲),在写入磁盘中)

RAID 电池的作用: 用以在系统断电时保护Cache中的数据,避免断电造成中间数据的丢失

3.2 软存储

mdadm:是一个在Linux系统中用于构建、管理和监控软件RAID阵列的工具。

dadm命令常见参数:
Ø -a {yes|no} 自动为其创建设备文件
Ø -n 指定设备数量
Ø -l 指定RAID级别
Ø -C 创建
Ø -v 显示过程
Ø -f 模拟设备损坏
Ø -r 移除设备
Ø -Q查看摘要信息
Ø -D 查看详细信息
Ø -S 停止RAID磁盘阵列
Ø -c 指定数据块大小(chunk)
Ø -x 指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替

创建raid的过程(raid 5):

  • 最少准备3块硬盘,并完成分区,分区格式改为Linux raid autodetect
  • 使用mdadm命令创建raid设备,并查看
  • 创建raid设备的挂载目录,并挂载
  • 创建raid配置文件写入raid设备进行管理(1、mdadm -vDs >> /etc/mdadm.conf  2、vim /etc/mdadm/mdadm.conf)
  • 关闭和启动raid设备(mdadm -S/A    raid设备名)

常见操作:

管理模式: 选项:-a(--add),-d(--del),-r(--remove),-f(--fail)

1、模拟损坏: mdadm raid名  -f   磁盘名

2、移除损坏的磁盘: mdadm raid名  -r   磁盘名

3、添加新的硬盘到已有阵列: mdadm raid名  -a  磁盘名

正确删除linux中软raid的方法:

  • 先umount组建好的raid:umount  raid名
  • 停止raid设备:mdadm -S raid名
  • 删除配置文件:rm -f /etc/mdadm/mdadm.conf
  • 如果之前将raid相关信息写入了/etc/fstab配置文件中, 还需vim /etc/fstab,将raid相关的内容删除即可。
http://www.xdnf.cn/news/13246.html

相关文章:

  • vs code无法ssh远程连接linux机器----解决方案
  • BugKu Web渗透之程序员本地网站
  • MQTT示例体验(C)
  • LangChain4j(18)——通过Xinference调用Rerank模型
  • 打卡Day49
  • Windows11+VS2019配置Libigl-2.4.1
  • EasyImage实战:结合内网穿透技术实现私有图床部署过程
  • DBLP数据库是什么?
  • 如何用 esProc SPL 操作大 csv
  • Linux【5】-----编译和烧写Linux系统镜像(RK3568)
  • MIPI信号为什么不能进行长距离传输
  • 相关类可视化图像总结
  • 第二十三课:手搓随机森林
  • 基于PSO与BP神经网络分类模型的特征选择实战(Python实现)
  • C语言中提供的第三方库之哈希表实现
  • 比较数据迁移后MySQL数据库和达梦数据库中的表
  • 深入实战多平台抓包:Sniffmaster与常见抓包工具协同利器解析
  • 前端绘制道路鱼骨图
  • 502的普通频谱参数设置
  • 红外测温传感器如何提升智能制造水平?
  • 学习时困了怎么办
  • 2020年IS SCI2区,多样本和遗忘能力粒子群算法XPSO,深度解析+性能实测
  • Python打卡day49!!!
  • 【精彩回顾.上海交通大学专场】---大模型推理需求下的计算生态链变革
  • “概率鹦鹉”难解语义等价验证的NPC难题: 从技术本质看LLM在SQL优化任务中的致命缺陷
  • 高并发内存池的轻量级模拟-细节处理与优化部分
  • 多协议诱骗电压芯片优势,如何防止负载太大而导致充电器复位重启
  • DisplayPort 2.0协议介绍(2)
  • JavaScript 标签加载
  • AI知识库调用全攻略:四种实战方法与技术实现