辛星浅析raid
我们来分析一下影响计算机性能的主要组件,主要就是CPU、主板的总线IO、内存IO、硬盘IO、网卡IO等等,并且如今CPU的性能已经非常好了,可是计算机的总体的IO性能却较低,严重影响了计算机的性能,如今的计算机的总线IO、内存IO的速度都能够达到5G/s以上。可是磁盘IO往往较低。
我们来分析一下常见的几种吧,对于SATA硬盘来说,速度小于150MB/s。对于SCSI硬盘来说。速度小于200MB/s,对于SAS硬盘来说,速度大约在200MB/s左右,而固态硬盘,也就是SSD,速度大约在500MB/s左右。我们平时自己使用的硬盘大多数是SATA接口的机械硬盘,而SATA3接口还是比較快的。能够达到6GB/s,而SCSI SAS一般用于server,通常转速非常快,能够达到每秒一两万转,所谓SAS就是串行SCSI。而SSD就是固态硬盘啦。
硬盘式绝大多数计算机的性能瓶颈,而IOPS也起到了非常大的作用,所谓IOPS。它是Input/Output Operation Per Second的缩写,也就是每秒进行读写(IO)操作的次数,多用于数据库等场合,他是衡量随机訪问的性能的一个重要參数。并且我们发现现代磁盘的缺陷:IO性能弱,稳定性差。
所谓RAID。也就是Redundant Array of Independent Disks,也就是便宜磁盘冗余阵列,它通过多磁盘并行执行。来提供计算机的存储IO性能。RAID有非常多种类。称之为RAID的级别,现代RAID有7类。经常使用的则有4类。也就是RAID0、RAID1、RAID5、RAID6.对于冗余性。能够类比备份。多块磁盘组成了一个RAID,可是在OS看来仅仅有一块RAID硬盘,而RAID5同意并行中的多块硬盘,能够有一块出现问题,而不丢失数据。
对于RAID0。它最少须要两块硬盘,它将数据分别读写到多块硬盘。来提升读写性能,有几块硬盘。就能够吧数据分为几份来写,它的空间利用率是全部硬盘空间之和。它的性能也是全部硬盘速度之和,它没有冗余能力。它的长处就是能够并行的读和谐。并且空间利用率高,性能也最好。它的缺点就是一旦RAID中的某块硬盘出现问题,则数据将会全部丢失。
对于RAID1,它须要偶数块硬盘,在读数据时。同一时候从多块硬盘读取数据来提高读取性能。它与RAID0的读速度一样,在写数据时它须要将同一数据拷贝到多块磁盘,从而提供冗余性。
它应用于数据安全性以及完整性要求比較高的情景,并且读远多于写。
它的空间利用率就是组成RAID1中最小的那块磁盘,它的读性能为全部硬盘速度之和。可是写性能比读性能要差一些。
它的冗余能力就是。仅仅要有一块硬盘没有损坏。那么数据就是完整的。对于RAID1来说,它的读非常快,冗余性也非常高。可是缺点就是有几块硬盘就须要有几份同样的数据,写数据非常慢。
对于RAID5来说,它最少使用3块硬盘,在读数据时。同RAID0,分布式的往磁盘上写数据,在读数据时,对数据进行奇偶校验。将校验信息同一时候保存在磁盘上。而校验信息在数据恢复时使用。当中RAID0性能最高。而RAID1冗余性最高。可是使用场景都不多。而实际的生产环境中多使用RAID5和RAID6.它的空间利用率是1-1/硬盘数,它的读性能非常接近RAID0。写性能比RAID0弱,它的冗余能力就是假设有一块磁盘损坏,不会丢失数据。
对于RAID6来说,它最少使用4块硬盘,它和RAID5一样。仅仅是多一块硬盘保存校验信息的副本,读数据时,同RAID5,分布式的往磁盘上写数据,在写数据时。对数据进行奇偶校验,将校验信息同一时候保存在磁盘上,可是会再额外保存一份校验信息。它的空间利用率是1-2/硬盘数。它的读性能接近RAID5,可是写性能比RAID5弱,它的冗余能力就是假设有一块 硬盘损坏,不会丢失数据。
对于RAID的实现。能够分为软件实现 和硬件实现。
假设是软件实现,能够通过系统功能或者软件来实现。它没有独立的硬件和接口,它会占用一定的系统资源。比方cpu、内存、硬盘接口速度,受操作系统的稳定性影响。假设是硬件实现。能够通过购买独立的RAID硬件卡来实现RAID。有些主板集成了RAID硬件,硬件RAID不须要占用其它的硬件资源,并且稳定性和速度都比软件RAID要强。
辛星浅析raid的更多相关文章
- 辛星浅析跨域传输的CORS解决方式
首先我们有一个概念.那就是"同源准则",也就是same-origin policy,它要求一个站点(协议+主机+port号)来确定的脚本.XMLHttpRequest和Webso ...
- 辛星浅析Linux中的postfix
Postfix是眼下Linux下主流的邮件server,也就是MTA,主要用来实现SMTP协议,它能够兼容sendmail.而postfix也是为了改进sendmail而制作产生的. 通常来说.pos ...
- 辛星浅析html5中的role属性
我们使用role属性告诉辅助设备.这个元素所扮演的角色.比方点击的按钮,我们通常就使用role="button",会让这个元素可点击. 可是它很多其它的是用来增强语义性,当现有的h ...
- 辛星浅析一次ajax的实现过程
说到ajax,那绝对是一个老生常谈的话题,近些年ajax技术的使用颇为盛行. 以下我们就以jQuery为例来从一个真实的项目中看一下ajax的实例. 首先是前端页面,这个页面我们使用的是bootstr ...
- 辛星浅析yaf框架中的类的自己主动载入问题
因为公司非常多项目都是基于yaf的,而非常多刚接触yaf的朋友问的第一个问题就是:yaf的自己主动载入是依照什么规则来的. 鉴于此.于是我特别开了一篇博文来记录一下. 首先在yaf中.models文件 ...
- 2014年辛星完全解读Javascript第七节 数组和对象
由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...
- 2014年辛星完全解读Javascript第八节 json
json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解.json是用于存储和传输数据的格式,通常用于向服务器端传递数据. ** ...
- 2014年辛星完全解读Javascript第六节 对象
随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...
- 2014年辛星完全解读Javascript第五节 break和continue与错误处理
先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...
随机推荐
- golang语法要点笔记
golang学习笔记 读<go学习笔记第四版> <学习go语言> <gopl-zh><Go语言实战>记录 多变量赋值时,先计算所有相关值,然后再从左到右 ...
- Android中动态改变控件的大小的一种方法
在Android中有时候我们需要动态改变控件的大小.有几种办法可以实现 一是在onMeasure中修改尺寸,二是在onLayout中修改位置和尺寸.这个是可以进行位置修改的,onMeasure不行. ...
- iOS学习笔记26-视频播放
一.视频 在iOS中播放视频可以使用两个框架来实现: MediaPlayer框架的MPMoviePlayerController和MPMoviePlayerViewController AVFound ...
- POJ——1611The Suspects(启发式并查集+邻接表)
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 31100 Accepted: 15110 Descri ...
- NOJ——1559Jump to the Top of Mountain(简单暴力DFS+渣渣代码)
[1559] Jump to the Top of Mountain 时间限制: 1000 ms 内存限制: 65535 K 问题描述 Have you played a game named Min ...
- java面试题之有哪几种方式可以让线程阻塞
线程阻塞方式: 1.join 2.sleep 3.yield 4.改变线程的优先级 5.将线程设置成守护线程(jvm中的垃圾回收线程) 参考:https://blog.csdn.net/liyucho ...
- bzoj 3544 [ONTAK2010]Creative Accounting 贪心
Description 给定一个长度为N的数组a和M,求一个区间[l,r],使得(\sum_{i=l}^{r}{a_i}) mod M的值最大,求出这个值,注意这里的mod是数学上的mod Input ...
- phthon入门介绍
1.基本的python语法 2.python爬虫 3.基本的数据分析 4.做网站 5.做机器学习 1.python简介: Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节.类似于 ...
- 眉目传情之匠心独运的kfifo【转】
转自:http://blog.csdn.net/chen19870707/article/details/39899743 权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一 ...
- 蚂蚁金服CTO程立:金融级分布式交易的技术路径
总结: 强一致的微服务 oceanbase里面的投票选举以及多中心多地部署 单元化市异地多活的基础.支付宝是异地多活和容灾结合,而容灾的基础也是单元化.基于单元化进行单元的调度.部署.容灾. 混合云架 ...