前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 基础-RAID

Linux 基础-RAID

原创
作者头像
懒人的小脑
修改2019-01-14 10:43:25
2.9K0
修改2019-01-14 10:43:25
举报

RAID(Redundant Array of independent Disks,独立磁盘冗余阵列)是将多块硬盘设备组成一个容量更大,更安全的磁盘组,它可以将数据切分为多个片段后,分别存储在各个不同的物理硬盘设备上。然后利用分散读写需求来提升硬盘组整体的性能,同时将重要数据同步保存多份到不同的物理硬盘设备上,可以有非常好的数据备份效果。

由于对成本和技术两方面的考虑,因此需要针对不同的需求在数据可靠性及读写性能上做权衡,制定出各自不同的合适方案,目前已有的RAID硬盘组的方案至少有十几种,RAID0、RAID1、RAID5、RAID10和RAID01是五种最常见的方案。不得不说的是,raid了解越深入,越能体会到选择和平衡的思想。

关于详细的raid技术和原理实现方面,查看man md,该文档中给出了非常详细的实现方式,包括数据是如何组织的。

RAID 0

将多块硬盘通过硬件或软件的方式串联在一起,成为一个更大的“硬盘”,也称为条带卷(striping)。

数据会被依次分别写入到各个物理硬盘中,至少需要两块硬盘。

优势:IO 设备的读写性能均提高

缺点:无数据的冗余和错误修复能力

RAID 0
RAID 0

RAID 1

数据被拷贝多份,同时写入多块硬盘。当某一块硬盘损坏后 ,一般可以立即通过热交换方式来恢复数据。

简单的分析,RAID1与 RAID0的读写性能应该是相同的,但是也要区分随机读、顺序读等不同情况。

优势:数据安全性高

缺点:磁盘利用率低;将相同的数据写入多个硬盘会增加系统负载

理论利用率:1/n,n 是阵列中的磁盘数量

RAID 1
RAID 1

RAID 5

RAID 5 是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。

RAID 5至少需要三个硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。

当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。

RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

RAID 5
RAID 5

RAID 10

RAID10是 RAID1 + RAID0的组合体。RAID10至少需要4块硬盘。

以四块硬盘为例:

首先两两制作成 RAID1,保证其数据的安全性,然后将两个 RAID1组合成一个 RAID0,提高存储的读写速度。

只要不是坏在同一组中的所有硬盘,那么最多可以承受损坏50%的硬盘而数据不受影响。

RAID10硬盘组技术继承了RAID0更高的读写速度和RAID1更安全的数据保障,在不考虑成本的情况下RAID10在读写速度和数据保障性方面都超过了RAID5,是较为广泛使用的存储技术。

RAID 10
RAID 10

复制方法 - offset 和 far

上图中一个数据块是相邻存储在相同偏移位置的,即A和A在相邻设备的同一高度,这只是RAID10的一种复制方法,称为near复制方法,也是默认复制方法。此外,还有far、offset两种复制方法:

offset

offset 复制
offset 复制

far

far 复制
far 复制

RAID 01

RAID 01是 RAID0+RAID1。与 RAID10最大的区别是在数据的安全性上:

如果 RAID0 组中的硬盘损坏,那么这一个 RAID0组即损坏,IO 压力全部在另外一个 RAID0 组上,这很容易导致另外一个 RAID0组中的硬盘也损坏,导致磁盘阵列的数据全部失效。

RAID01基本无人使用,因为数据安全性并不高。

RAID对比

RAID 对比
RAID 对比

软 RAID 的实现

软 RAID 在生产环境中一般情况不会用到,此处仅用于对 RAID 原理的理解(待更新)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RAID 0
  • RAID 1
  • RAID 5
  • RAID 10
  • RAID 01
  • RAID对比
  • 软 RAID 的实现
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档