关于RAID的前文在“Linux运维工程师面试题第七套”的第九题。这里是画图详细说。


RAID是硬盘磁盘阵列的一种方法,现在普遍的方法有RAID 0,RAID 1,RAID 2....直到RAID 6,但是最被广大认可的方式还是RAID 0\RAID 1\RAID 5\RAID 0+1\RAID 1+0这几种。


众所周知,计算机是二进制语言,它只认识0和1。假如我们要调用的程序是10110001,那么如果是常规的方法就是在一个硬盘里面读取10110001,但是如果是RAID 0,这个方法就是“化一为零”,用二个以上的硬盘来存储数据,然后这样每个硬盘分别读一点,然后拼接起来就成一个完整的程序,这样的读取速度很快,但是只要有一个垮了,那么整个程序都会完蛋,安全性不好,如图:

如果是RAID 1的话,就是一个比较直观的存储方式,两个硬盘,一个正常操作,另一个在同步的镜像,这样的话,假若一个垮了,另外一个可以无缝接上,这样的方法有保护措施,防止数据丢失,但是比较壕,干一件事需要动用两个以上的硬盘。如图:

如果是RAID 0+1 的话,就是先0后1,也就是先进行“分解”然后同时把分解的部分一一进行镜像,这样就达到了不但“读写的快”,而且即使坏了也不怕,因为有镜像。假如是4个硬盘,A和B是组合起来是完整的数据,C和D是配对的。那么即使A坏了,那么C和D也会组成一整套,不耽误生产。但是要注意,如果A坏了,D也坏了,C和B是不能配对的,哪怕他俩可能数据可以结合成一个完整的程序。因为B是A的,D是C的。

如果是RAID 1+0的话,就是先1后0,先把每一个子硬盘进行复制镜像,然后再整合。还是上面的例子,这样的话,就有更好的容错性,那怕D坏了,上面的A和B还是会接过枪继续革命,那么要是A也跪了,那么B还是会找到C继续完成大业。因为RAID 0就是一个整合的过程。所以A和B,A和D都是可以搭配成为一个完整程序的。这样的容错性更好。


生产中对数据具体要如何保存是实际问题实际分析的。RAID跟使用的系统是windows还是Linux还是IOS是没关的,可以先做RAID后做系统。

配置RAID 0,请看http://diy.pconline.com.cn/cpu/study_cpu/1008/2197524.html,RAID可以用来给个人的电脑做数据存储,或者大型运算的时候使用,但是运算完马上就把结果转移走,而且RAID 0价钱要比固态硬盘便宜不少,效率也不比固态硬盘差。

配置RAID 1,请看http://ljx198308.blog.163.com/blog/static/1762742462013929295734/。