IT铁人
在评断一个硬碟有多高的Availability时,我们会考虑硬碟多久会坏掉、修复一次要花费多少时间,再来计算它的Availability。
第一个名词是MTTF(Mean Time To Failure),意旨它多久後会出错,所以这个时间越大越好,代表在这段时间内它都是可以运作的。
第二个名词是MTTR(Mean Time To Repair),意旨它维修一次要多久,我们会希望它能够越快修好越好。
而将上面两个加起来的结果称为MTBF(Mean Time Between Failure),代表两次坏掉的间隔,也就是两次去找老板报修的时间间隔。
那麽我们的Availability的计算方式就是MTTF / MTBF,也就是MTTF / (MTTF + MTTR)。
修复的时间比较不好更动,而且一般来说修复的时间蛮短的,所以我们会希望尽量提高MTTF,改善MTTF的作法有下面三个:
名称 | 内容 |
---|---|
错误避免(fault avoidance) | 藉由结构的设计避免错误的产生。 |
错误容忍(fault tolerance) | 藉由多余的硬体或软件,在发生错误的状况下仍然能够运作。 |
错误预测(fault forecasting) | 预期错误的出现和产生。 |
以下我们讨论fault tolerance的作法,也就是RAID。
RAID全名为Redundant Arrays of Inexpensive Disks,目标就是拿多一点便宜的硬碟组合成一个大且贵的硬碟。所谓的贵也就是为了安全啦。
在RAID中我们主要使用以下两种技术:
以下是各种RAID的说明:
名称 | 图片 | 说明 |
---|---|---|
RAID 0 (No redundancy) | 只是拆成多个硬碟,没办法容许错误,资料发生错误就遗失了。 | |
RAID 1 (Mirroring) | 拆了硬碟并且复制一份,需要用到RAID 0两倍的硬碟数目,是最昂贵的RAID作法。 | |
RAID 2 (Error Detecting and Correcting Code) | 借用常用在记忆体的error detection及更正作法(Hamming code)。写入时要读出所有硬碟资料,重新计算hamming code并写入ECC硬碟,效率不佳。 | |
RAID 3 (Bit-Interleaved Parity) | 把硬碟分组,同组的硬碟加总计算後存入另一个硬碟,将来某个资料出现错误时,就把加总的部份减去其他的资料就好了。 | |
RAID 4 (Block-Interleaved Parity) | 跟RAID 3很像,只是不把所有硬碟的资料加总,以Block为单位加总,如此一来可以减少计算错误时所动用的硬碟数量。 | |
RAID 5 (Distributed Block-Interleaved Parity) | 为了改进RAID 4把错误处理的资料放在同一个硬碟,RAID 5将资料分开在每一个硬碟上,如此一来可以避免所有人都挤着要修正错误。 | |
RAID 6 (P+Q Redundancy) | 避免同时发生两个错误,所以做了两个错误侦测的区块,这样即使一个错误处理的资料不够,还有另一个错误处理的资料可以使用。 | |
RAID 1+0 or 0+1 | 这边就只是看要先做RAID 0或是RAID 1而已,可以看看。 |
恭喜各位完成了计算机组织与结构,接下来会进入作业系统的部份。
如果说电脑是一个篮球比赛,那麽篮框跟篮球就是我们结束的部份,後面的作业系统就像是规则,在往上的应用程序就是球员以及打比赛的技巧。
还有很长的路阿各位...
上一篇 | 下一篇 |
---|---|
Disk很大,你忍一下 | OS初体验 |
根据ARM官方的介绍,M55是第一个支援v8.1-M架构的M系列处理器。而M系列主要是针对对於成本和...
为了可以很顺利的拍完北泽的用餐体验,练习了20几次後,才轮到它。(这样就知道我有多在乎北泽了吧~) ...
公共领域(Public Domain) 公共领域包括所有不适用专有知识产权的创造性作品。这些权利可能...
无状态的HttpRequest怎麽做身分验证 直到昨天将网页的基础知识介绍完了,所以今天开始会介绍一...
过去我面试了不少公司的软件工程师职位,涵盖前端、後端,所以今天以Java相关职缺中常考的面试考题作为...