RAID阵列基础知识

独立硬盘冗余阵列RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列

RAID的种类

这里我们只介绍比较常用的RAID类型,详细可查看维基百科

RAID-0 (等量模式,stripe): 性能最佳

  • 这种模式如果使用相同型号与容量的磁盘来组成时,效果最佳。这种模式的RAID会将磁盘先切出等量的区块(举例来说:4KB),然后当一个文件要写入RAID时,该文件会依据块的大小切割好,之后再依序放到各个磁盘里面去。由于每个磁盘会交错存放数据,因此当你的数据要写入RAID时,数据会被等量放置在各个磁盘上面。

    例如:你有两块硬盘组成RAID-0,当你有100MB的数据要写入时,每个磁盘会被分配到50MB的存储量。RAID-0的示意图:

  • RAID-0需要自行负责数据损毁的风险,由上图我们知道文件是被切割成为适合每块磁盘分区区块的大小,然后再依序放置到各个磁盘中,所以如果一个磁盘坏了,那么数据将缺少一块,此时这个文件就损毁了。由于每个文件都是这样存放,因此RAID-0只要任何一块磁盘损毁,在RAID-0上面的所有数据都会丢失而无法读取。

RAID-1 (镜像模式,mirror): 完整备份

  • 这种模式也是需要相同的磁盘容量的,最好是一模一样的磁盘。如果是不同容量的磁盘组成RAID-1时,那么总容量将以最小的那一块磁盘为主!这种模式主要是让同一份数据完整保存在两块磁盘上面。举例来说,如果有一个100MB的文件,且我仅有两块磁盘组成RAID-1时,那么这两块磁盘将会同步写入100MB到他们的存储空间去。因此,整体RAID的容量就几乎少了50%.

  • 由于两块磁盘内的数据一模一样,所以任何一块硬盘损毁时,你地数据还是可以完整保留下来。所以我们可以说,RAID-1最大的优点大概就是在于数据的备份。不过由于磁盘容量有一半用在备份,因此总容量会是全部磁盘容量的一半而已。RAID-1的写入性能不佳,不过读取的性能则是还可以。这是因为数据有两份在不同的磁盘上面,如果多个进程在读取同一条数据时,RAID会自行取得最佳的读取平衡。

RAID 0 + 1

  • RAID-0的性能佳但是数据不安全,RAID-1的数据安全但是性能不佳,那么能不能将这两者整合起来设置RAID呢?那就是RAID 0 + 1或RAID 1 + 0。所谓的RAID 0 + 1就是先让两块硬盘组成RAID-0,并且这样的设计有两组;然后将这两组RAID-0再组成一组RAID-1,这就是RAID 0 + 1,反过来说,RAID 1 + 0 就是先组成RAID-1再组成RAID-0的意思。
  • 下图中,Disk 0 + Disk 1组成第一组RAID 0,Disk 2 + Disk 3组成第二组RAID 0,然后这两组再整合成一组RAID-1。如果我有100MB的数据要写,则由于RAID 1的关系,两组RAID-0 都会写入100MB,但是由于RAID-0的关系,因此每块磁盘仅会写入50MB而已。如此一来,无论哪一组的RAID-0的磁盘损毁,只要另外一组RAID-0还存在,那么就能够通过RAID-1的机制来恢复数据。

  • 由于具有RAID-0的优点,所以性能得以提升,由于具有RAID-1的优点,所以数据得以备份。但是也由于RAID-1的缺点,所以总容量会少一半用来作为备份。

Raid 1 + 0

  • 下图Disk 0 + Disk 1先组成第一组RAID-1,Disk 2 + Disk 3再组成一组RAID-1,然后这两组再整合成为一组RAID-0。如果我有100MB数据要写,首先会将数据分割,那么有50MB的数据会写入第一组RAID-1中,另外50MB写入第二组RAID-1中,由于RAID-1的特点,Disk 0 和 Disk 1都会写入同样的50MB数据,另外一组RAID-1也是同样。因此,的那个我饿能其中一块硬盘坏掉是没有关系的,但是如果第一组RAID-1(disk 0 + Disk 1)两块硬盘全部损坏,那么数据将会丢失。再比如Disk 0 和Disk 2两块硬盘损坏,由于RAID-1所以数据还是可以恢复的。

Spare Disk: 预备磁盘的功能

  • 磁盘阵列的磁盘损坏时,就得将要坏的磁盘拔除,然后换上一块新的磁盘。换成新磁盘并且顺利启动磁盘阵列后,磁盘阵列就会开始重建原本坏掉的那块磁盘数据到新的磁盘中去,然后你磁盘阵列上的数据就复原了。这就是磁盘阵列的优点,不过我们还是要手动插拔磁盘,此时通常得要关机才能这么做。
  • 为了让系统可以实时地在坏掉硬盘时主动重建,因此就需要预备磁盘(spare disk)的辅助。所谓的spare disk就是一块或者多块没有包含原本磁盘阵列等级中的磁盘,这块磁盘平时并不会被磁盘阵列所使用,当磁盘阵列有任何一块磁盘损坏时,这块spare disk会被主动拉进磁盘阵列中,并将坏掉的那块磁盘移除磁盘阵列,然后重建数据系统。

硬阵列和软阵列

  • 硬件磁盘阵列(hardware RAID)
    硬磁盘阵列就是通过磁盘阵列卡来完成阵列的。磁盘阵列卡上面有一块专门的芯片处理RAID任务,因此在性能方面会比较好。并且目前中高等的磁盘阵列卡都支持热插拔,即在不关机的情况下更换损坏的硬盘。

  • 软件磁盘阵列(software RAID)
    软件磁盘阵列主要是通过软件来仿真硬件磁盘阵列,因此会损耗较多的系统资源,比如说CPU的运算于I/O总线的资源等,不过我们现在的计算机已经速度很快了,因此这些限制现可以忽略不计了。

RAID阵列基础知识相关推荐

  1. RAID 廉价磁盘冗余阵列基础知识

    1.什么是RAID 磁盘阵列的全称是redundantarrays of inexpensive Disks(RAID),即容错廉价磁盘阵列.可以通过一些技术将多个较小的磁盘整合成一个较大的磁盘设备: ...

  2. 存储系统基础知识与RAID存储技术介绍【转载自微信公众号开源Linux】

    存储系统基础知识与RAID存储技术介绍 存储系统是整个IT系统的基石,是IT技术赖以存在和发挥效能的基础平台.早先的存储形式是存储设备(通常是磁盘)与应用服务器其他硬件直接安装于同一个机箱之内,并且该 ...

  3. 服务器阵列工作原理,服务器RAID技术基础了解一下

    RAID技术伴随着使用者对高端的存储功能和冗余的数据安全越来越高,使用者越来越多的需要接触到这些知识,使用功能既可以由硬件来实现,也可以由软件来实现,又该怎么配置?本文档详细的介绍了服务器做RAID的 ...

  4. shell脚本编程基础(1)及RAID阵列

    shell脚本: Linux从底层到上层的系统架构:硬件-->内核-->库(lib)-->shell-->用户. shell既是一种命令语言,也是程序设计语言(shell脚本) ...

  5. Hadoop权威指南 _03_第I部分Hadoop基础知识_第1章初识Hadoop.

    第I部分Hadoop基础知识 第1章初识Hadoop. 比较喜欢这句极其形象的比喻. "在古时候,人们用牛来拉重物.当一头牛拉不动根圆木时,人们从来没有考虑过要想方设法培育出一种更强壮的牛. ...

  6. 《SAP入门经典(第4版•修订版)》——3.2 SAP硬件基础知识

    本节书摘来自异步社区<SAP入门经典(第4版•修订版)>一书中的第3章,第3.2节,作者:[美]George Anderson著,更多章节内容可以访问云栖社区"异步社区" ...

  7. 存储系统基础知识介绍

    关注「开源Linux」,选择"设为星标"回复「学习」,有我为您特别筛选的学习资料 存储系统是整个IT系统的基石,是IT技术赖以存在和发挥效能的基础平台.早先的存储形式是存储设备(通 ...

  8. 大数据_02【大数据基础知识】

    大数据_02[大数据基础知识] 01 什么是服务器 02 服务器类型 03 存储磁盘(硬盘) 04 什么是RAID RAID特点 RAID种类 05 什么是集群 06 什么是计算机网络 07 什么是交 ...

  9. 计算机与网络基础知识的问答

    计算机系统偏软件部分的组成是什么 操作系统的简介 简述进程管理 简述存储管理 简述设备管理 简述文件管理 简述作业管理 简介网络操作系统 简述数据库系统基础知识 简述关系数据库的设计 简述分布式数据库 ...

最新文章

  1. C语言-数组名真的不是指针
  2. nginx配置php 9000,Nginx支持php配置
  3. [C++11]推荐使用auto的场景
  4. win10 64位操作系统安装mysql_win10,64位操作系统安装mysql-8.0.16经验总结(图文详细,保证一次安装成功)...
  5. SSM:出现Connections could not be acquired from the underlying database异常的解决
  6. linux进程管理init,浅谈init进程
  7. 2010_8_18_静态路由_静态路由路由排错(不连续地址汇总)
  8. 代码检测vc2013环境是否已经安装了
  9. Java常用的框架有哪些?
  10. 两阶段最小二乘法与R
  11. 超简单一行代码实现应用双开,仿照微信双开、QQ双开等实现app应用双开,即采用Android插件化开发在免安装情况下加载使用原生app
  12. 淘宝、美团、滴滴分别如何搭建大数据平台
  13. Android app性能优化解决卡慢顿之布局优化
  14. 突发事件检测: kleinberg 状态机模型
  15. 谷歌FLoC与禁用第三方Cookie后的江湖道术
  16. 龙ol服务器维护补偿boss,BOSS也疯狂《龙OL》野外BOSS大搜罗
  17. Qt原对象metaObject编译错误的问题
  18. 一篇博客学会了坦克大战
  19. 蓝桥杯单片机led指示
  20. 北师大 马原 自测题复习

热门文章

  1. mysql如何实现管理权限分离_基于SpringCloud+vue(ElementUI)+mySQL前后端分离设计之--搭建权限管理系统...
  2. C语言 局部变量 - C语言零基础入门教程
  3. jq之toggle()
  4. BugkuCTF-MISC题蜜雪冰城~
  5. html跳转网页为什么网页无法访问,朋友的网站被网址跳转,导致官网无法正常访问...
  6. linux tunl0 ip,Centos7下lvs负载均衡lvs-tun模式配置
  7. hdc mfc 画扇形图_MFC画图总结-DIB图形绘制
  8. 运营商 sni 服务器,什么是服务器名称指示(SNI)
  9. 用计算机表示45,计算机应用基础信息专业技术习题(45页)-原创力文档
  10. java for新循环_Java 8 新语法习惯 (for 循环的函数替代方案)