RAID基础知识总结
1.RAID
RAID:Redundant Arrays of Inexpensive(Independent)Disks,即独立磁盘冗余阵列,简称磁盘阵列。简单地说就是把多个独立的硬盘组合起来,从而提供比单个磁盘更高的存储性能和数据冗余的技术。RAID的初衷是为大型服务器提供高端的存储功能和冗余的数据安全,RAID的两个关键目标是提高I/O性能和数据可靠性(耐用性)。
2.RAID实现的方式
外接式磁盘阵列 :通过扩展卡提供适配能力
内接式RAID :主板集成RAID 控制器,安装OS 前在BIOS 里配置
软件RAID :通过OS实现
3.标准RAID级别
RAID 0 : 将两个以上的磁盘并联起来,成为一个大容量的磁盘。读写时都可以并行处理,速度快。但没有冗余功能,也不具备容错能力,如果一个磁盘损坏,所有数据都会丢失。
RAID 1 :将两组以上的N个磁盘相互作镜像,有很好的读取速度,写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,磁盘利用率较低。
RAID2、3、4较少实际应用,因为RAID5已经涵盖了所需的功能,这里不再列出
RAID 5 :是一种储存性能、数据安全和存储成本兼顾的存储解决方案。RAID 5至少需要三块硬盘,RAID 5把数据和相对应的奇偶校验信息存储到各个磁盘上,并且有单独的校验盘。任意一块磁盘失效时不会影响数据完整性。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5数据读取速度较快,写入数据的速度略慢。RAID 5的磁盘空间利用率比RAID 1高,存储成本相对较便宜。
RAID 6 :RAID 6相对RAID 5增加了第二个独立的奇偶校验信息块,至少需要四块硬盘。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。
4.混合RAID级别
RAID 10/01 :RAID 10将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 01和RAID 10的程序相反,将所有硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。所以RAID 10远比RAID 01常用。
RAID 50 :RAID 5与RAID 0的组合,先作RAID 5,再作RAID 0,也就是对多组RAID 5彼此构成Stripe访问。RAID 50是以RAID 5为基础,而RAID 5至少需要需要3块硬盘,所以组成RAID 50至少需要6块硬盘。RAID 50性能比起单纯的RAID 5高,容量利用率比RAID5要低。
JBOD :Just a Bunch Of Disks,将多块磁盘的空间合并一个大的连续空间使用,即操作系统看到的是一个大硬盘,JBOD没有错误备援机制,它的传输速率与I/O表现均与单颗硬盘无异。
5.RAID主要优势
大容量 :扩大了磁盘的容量,由多个磁盘组成的RAID系统具有海量的存储空间。一般来说,RAID可用容量要小于所有成员磁盘的总容量。不同级别的RAID有一定的冗余开销,通常,RAID容量利用率在 50% ~ 90% 之间。
高性能 :RAID 的高性能受益于数据条带化技术。单个磁盘的I/O性能受到接口、带宽等计算机技术的限制,性能往往很有限。通过数据条带化,RAID将数据I/O分散到各个成员磁盘上,从而获得比单个磁盘成倍增长的聚合I/O性能。
可靠性 :RAID 采用镜像和数据校验等数据冗余技术,大幅提升数据可用性和可靠性,保证了若干磁盘出错时,不 会导致数据的丢失,不影响系统的连续运行。
可管理性 :由于RAID内部完成了大量的存储管理工作,管理员只需要管理单个虚拟驱动器,可以节省大量的管理工作。RAID可以动态增减磁盘驱动器,可自动进行数据校验和数据重建,这些都可以大大简化管理工作。
RAID基础知识总结的更多相关文章
- 服务器RAID配置全程与RAID基础知识
服务器RAID配置全程 一.RAID介绍 RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”.后来RAID中的字 ...
- [svc]raid基础知识-冷知识
参阅:磁盘接口与RAID Dell 服务器做Raid 1,raid形象理解(饮水机模型) http://dingyichao.blog.51cto.com/442449/698762 2,raid利用 ...
- IT运维的五大基础知识
IT运维的五大基础知识 | 浏览:331 | 更新:2014-09-25 11:36 IT运维对于很多企业都很重要,接下来运维的一些基础知识天天客服IT运维总监龙少文,就给大家介绍下IT运维的基础知识 ...
- liunx存储管理之基础知识
存储基础知识 ====================================================================================主要知识点: 基本 ...
- Greenplum入门——基础知识、安装、常用函数
Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709 版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...
- linux运维基础知识
linux运维基础知识大全 一,序言 每一个微不足道的知识,也是未来的铺垫.每一份工作的薪资职位,也是曾经努力的结果. 二,服务器 1,运维人员工作职责: 1)保证数据不丢失:2)保证服务器24小时运 ...
- linux 基础知识及命令总结
1.mkdir 创建目录 -p 创建多级目录 mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, ...
- 《Linux基础知识及命令》系列分享专栏
<Linux基础知识及命令>系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂.本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级 ...
- Elasticsearch基础知识学习
概要 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
随机推荐
- Numpy 操作
一.Numpy 属性 # 列表转化为矩阵 In []: arr = np.array([[,,],[,,]]) In []: arr Out[]: array([[, , ], [, , ]]) 1, ...
- private static final long serialVersionUID = 1L;详解
public class User implements Serializable { /** * serialVersionUID */ private static final long seri ...
- ASP.NET Core - 关于标签帮助器您值得了解的五点
如果您开发过ASP.NET Core Web应用程序,您应该已经熟悉了标签帮助器.ASP.NET Core应用程序依赖标签帮助器来呈现表单和表单字段是很常见的.所以,一个视图通常包含许多标签帮助器以及 ...
- 在django中集成ckeditor富文本
目前用的比较多的富文本插件有百度的ueditor.ckeditor.kindeditor等,其中ueditor和kindeditor比较美观,ckeditor的皮肤较少.但是ueditor加载较慢,k ...
- 【有意思的BUG】视频连接超时
最近遇到了一个BUG,但是它的出现又存在概率,所以挺有意思的. BUG的现象是:视频在播放过程中(已播放进度<已加载进度),首先出现了缓冲的动画效果其次呈现雪花背景并且抛出异常"视频连 ...
- python学习之字符串(上)
字符串python 的字符串被划归为不可变序列这一类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且他们不可以在原处修改. 字符串常量单引号 'spam'双引号 "spam& ...
- 表空间移动(transporting tablespaces)
--表空间移动(transporting tablespaces) --------------------------------------2014/01/15 1. 表空间传输步骤简介. ...
- Mac terminal commands
Mac terminal commands 1.install_name_tool修改dylib安装名称的命令 2.codesign 签名及查看 3.xcode 工程编译 4.程序打包app---&g ...
- js面试题知识点全解(一作用域和闭包)
问题: 1.说一下对变量提升的理解 2.说明this几种不同的使用场景 3.如何理解作用域 4.实际开发中闭包的应用 知识点: js没有块级作用域只有函数和全局作用域,如下代码: if(true){ ...
- angular2 组件交互
1. 组件通信 我们知道Angular2应用程序实际上是有很多父子组价组成的组件树,因此,了解组件之间如何通信,特别是父子组件之间,对编写Angular2应用程序具有十分重要的意义,通常来讲,组件之间 ...