RAID的概念就不多说了,说说 RAID 0 和 RAID 1 。

RAID 0 是条带存储,叠加所有硬盘容量,因此不具有容错性,原理如下图所示:

RAID 1 使用非常原始的方式(复制一份、镜像)进行容错,原理如下图所示:

从原理图上面可以看到,RAID 0省空间,但是安全性差,RAID 1安全型好,但是废空间。

于是乎RAID 1+0 和 RAID 0+1 技术就应运而生了,如图所示:

RAID 0+1 和 RAID 1+0 又有什么区别呢?
RAID 0+1是先让磁盘组内的成员组成RAID 0条带化,然后磁盘组之间为RAID 1镜像关系。
RAID 1+0是先让磁盘组内的成员组成RAID 1互为镜像,然后磁盘组之间RAID 0条带化。
        
除了构成先后的差别外,主要的区别还表现在容错性上。
RAID 0+1 的损坏一块磁盘之后,所在的RAID 0组即认为损坏,RAID 0+1 实际上已经退化为一个RAID 0 的结构,此时,上面那组RAID 0随便坏一块,整个RAID就崩溃了。

相对来说,RAID 1+0 就不会有这个问题,只要同一个RAID 1组内硬盘不全部损坏,整个RAID就不会有问题,在图中可以认为,只要右上角的那块磁盘不坏,整个RAID就不会崩溃。

所以使用RAID 1+0比RAID 0+1具有更好的容错性

什么是 RAID 1+0?

RAID 1+0 阵列使用四个硬盘,通过使用两个 RAID 1 阵列组成一个 RAID 0 阵列来创建 RAID 0 和 RAID 1 的组合。

由于 RAID 0 阵列上的所有数据都是通过RAID 1复制的,所以 RAID 10 阵列的存储容量即是 RAID 0 阵列的容量。例如,RAID 10 阵列中四个 400 GB 的硬盘对操作系统而言就好象是一个 800 GB 的硬盘。

RAID 10 的主要好处是结合了 RAID 0 性能和 RAID 1 容错的优点。在一个硬盘出现故障的情况下,它可以提供良好的数据保护能力。当一个硬盘发生故障时,从镜像磁盘的另一半可立即获得所有数据,从而无损数据完整性。在一个磁盘发生故障的情况下,计算机系统可完全正常运行,从而确保生产率最大。通过更换出现故障的硬盘,就可以恢复数据容错功能。

RAID 10 阵列的性能优于单个驱动器,因为数据可同时从多个磁盘读取。与双磁盘 RAID 0 相比,RAID 10 的读取功能更强,因为数据可从镜像磁盘的任意一半读取,但由于要确保将数据完全写入阵列,写入功能略有降低。

关于RAID_1+0和RAID_0+1的比较的更多相关文章

  1. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  2. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

  3. 微信小程序省市区选择器对接数据库

    前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...

  4. osg编译日志

    1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug x64 ------1> Checking Build System1> CMake do ...

  5. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)

    0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...

  6. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  7. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  8. vue2.0实践的一些细节

    最近用vue2.0做了个活动.做完了回头发现,好像并没有太多的技术难点,而自己好像又做了比较久...只能说效率有待提升啊...简单总结了一些比较细节的点. 1.对于一些已知肯定会有数据的模块,先用一个 ...

  9. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

随机推荐

  1. [转]NLP Tasks

    Natural Language Processing Tasks and Selected References I've been working on several natural langu ...

  2. vim粘贴乱码的原因

    当我们在使用vim时,把复制的文字粘贴上去,有时会出现奇形怪状的错误: 第一个字符消失(原因是我们粘贴的字符直到遇见i才开始插入,i之前的字符都消失了) 解决方法:在粘贴之前,先输入i进入编辑模式 缩 ...

  3. 树莓派进阶之路 (010) - 树莓派raspi-config配置(转)

    经过前面两步我们的树莓派已经正常的工作起来了,但是在真正用它开发之前还需要进行一些列的配置以及软件的安装,这样开发起来才会得心应手,下面我们介绍一下常用的软件和服务 1.配置选项: 树莓派第一次使用的 ...

  4. 会动的Tabbar

    项目搭建 一.设计模式首先呢,小Q采用传统的MVC的设计模式,优点我们再来啰嗦一下啊:1.多个视图可以对应一个模型.按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发 ...

  5. Easy APNs Provider 消息推送测试工具

    1.Easy APNs Provider 简介 Easy APNs Provider 是一款为 iOS.Mac App 提供推送测试的小工具. App Store 下载地址 Easy APNs Pro ...

  6. SQL中获取排序分组后数据的脚本

    废话不多说了,先上一段代码,如下所示: select distinct   b.OrgID,b.CompanyID,b.AreaID,b.CustChannelID,b.CustID,b.SaleTo ...

  7. 子类化GetOpenFileName/GetSaveFileName, 以及钩子函数OFNHookProc的使用的简要说明

    昨天, 群里面有一个人问起: 要怎么让"文件打开对话框"居中显示, 有人说子类. 而我告诉他的方法是用钩子函数OFNHookProc, 不知道这是不是所谓的子类?相信看了我今天这篇 ...

  8. Android数据库安全解决方案,使用SQLCipher

    源码:http://files.cnblogs.com/android100/SQLCipherTest.rar 我们都知道,Android系统内置了SQLite数据库,并且提供了一整套的API用于对 ...

  9. Android app启动activity并调用onCreate()方法时都默默地干了什么?

    Android app启动activity并调用onCreate() 方法时都默默地干了什么?   在AndroidManifest.xml文件中的<intent-filter>元素中有这 ...

  10. 自适应滤波:维纳滤波器——LCMV及MVDR实现

    作者:桂. 时间:2017-03-24  06:52:36 链接:http://www.cnblogs.com/xingshansi/p/6609317.html 声明:欢迎被转载,不过记得注明出处哦 ...