RAID磁盘列阵技术

RAID磁盘阵列介绍

独立硬盘冗余阵列RAID , R edundant A rray of I ndependent D isks),旧称廉价磁盘冗余阵列R edundant A rray of I nexpensive D isks),简称磁盘阵列。利用虚拟化存储技术把多个物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。RAID 层级不同,数据会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字。每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器群)读写性能。

raid是把多个磁盘组合成一个逻辑磁盘,按照排列方式和组合的不同,对应的提升功能也不同,并且对不同的组合取了不同的名字(常用RAID有raid0 、raid1、 raid5 、raid1+0

raid和直通模式不能互通,做raid只能全做

RAID功能实现

  • 提高读写(IO)性能
  • 提高耐用性
  • 磁盘冗余备份

RAID实现的方式

  • 外接式磁盘阵列:通过扩展卡提供适配能力
  • 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
  • 软件RAID:通过OS实现,比如:群晖的NAS(只能恢复误删的文件)

RAID级别详解

RAID各级别的比较

raid级别 0 1 5 10
是否有备份
是否提高读的性能
是否提高写的性能 下降 下降
磁盘利用率 100% 50% n-1(n>=3) 50%
最少使用几块盘 1(有效需2块以上) 2(2n,n>=1) 3 4+必须是偶数n>=4
最多可以坏几块磁盘 0块 1块 1块 2块

RAID-0(无冗错的数据条带)

  • RAID-0是N块硬盘并行组合成一个新的逻辑盘。

  • RAID-0 连续以位或字节为单位分割数据,并行读写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余(写读效率倍数增加但是没有备份,如果硬盘故障里面的数据就没法读取)。

  • RAID-0 的读写性能理论上是单块磁盘的N倍。(仅限理论,因为实际中磁盘的寻址时间也是性能占用的大头)

  • RAID-0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。

  • RAID-0 不能应用于数据安全性要求高的场合,毕竟数据无价。实际工作中一般不用。

RAID-1(无校验的相互镜像)

  • RAID-1是由N(偶数)块硬盘组合成一组镜像。

  • 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。

  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1 可以提高读取性能,但写入性能慢。

  • RAID-1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

  • 可用容量:N/2 (N是硬盘数)

  • 实际空间使用率只有50%另外50%用来备份,牺牲一块磁盘空间来换取备份,两块磁盘当做一块用,这是一种比较昂贵的方案。 实际工作中一般也不使用。

RAID可以防止磁盘损坏,但是无法防止人为删除,删除一方数据,另一方也会一并删除。 RAID1磁盘容量按两者之间最小的来计算。

RAID-5( 带分散校验的数据条带)

  • N(N≥3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能会下降。
  • 可靠性高,允许坏1块盘,不影响所有数据,当同时损坏两块时则无法计算,造成数据丢失。
  • 可用容量:N-1。磁盘利用率(N-1)/N。
  • RAID-5 是一种将存储性能、数据安全、存储成本兼顾的方案。是目前使用的最多的一种方式。

## RAID-10(先做镜像,再做条带化)

  • N(偶数,N≥4)块盘两两镜像后,再组合成一个RAID0。(先组成RAID1,再组成RAID0)

  • 可用容量:N/2。磁盘利用率50%。

  • N/2块盘同时写入,N块盘同时读取。

  • 性能高,可靠性高。

  • 最多允许坏2块盘。允许Disk0和Disk2同时损坏、或 Disk1和Disk3同时损坏,其他组合情况损坏则会影响数据。

相关推荐
xianwu5431 分钟前
MySQL索引原理
linux·开发语言·网络·c++·git
友友马3 分钟前
『 Linux 』数据链路层 - MAC帧/以太网帧
linux·运维·服务器·网络·tcp/ip
夜泉_ly4 分钟前
Linux -初识 与基础指令1
linux
朱容君28 分钟前
Linux网络编程----使用多进程实现并发服务器
linux
leaf_leaves_leaf36 分钟前
wsl2的Ubuntu18.04安装ros和anaconda
linux·运维·ubuntu
.......xxx36 分钟前
arm学习总结
linux·arm开发·学习
独行soc39 分钟前
信息收集ip测活-Python脚本编写
linux·服务器·python
努力的小T42 分钟前
Linux tcpdump 详解教程
linux·运维·服务器·云计算·tcpdump
运维&陈同学2 小时前
【zookeeper04】消息队列与微服务之zookeeper客户端访问
linux·后端·微服务·zookeeper·云原生·消息队列·云计算
Guofu_Liao2 小时前
Macos远程连接Linux桌面教程;Ubuntu配置远程桌面;Mac端远程登陆Linux桌面;可能出现的问题
linux·ubuntu·macos