原文:存储技术之RAID
存储技术如今已经越来越重要,而且在云计算时代,涌现出了很多专注于云存储的厂商。存储技术本身也十分复杂,从硬件到协议到软件到接口几乎覆盖计算机科学的方方面面。笔者借助《大话存储II》这本书,开始了这块知识空白的补充。本文的图片均来源于网络。
一块磁盘的容量有限,速度有限,如果需要更大的存储空间,更快的速度怎么办呢?而且如果数据可靠性要求很高,如果一块磁盘坏了,是否有办法保持数据不丢失呢?RAID
(Redundant Array of Independent Disks)因此而生。无论是哪种RAID,其基本思想不外乎如下几种:
- 如果一块硬盘不够用,那么多加几块
- 如果一块硬盘不够快,那么让多块硬盘同时参与IO
- 如果要考虑硬盘损坏,那么让数据多存几份,或者利用某种校验算法,保证数据能够恢复
RAID 0
RAID 0
将两块/多块硬盘合并成一块逻辑磁盘。比如两块500GB的硬盘组建RAID 0,那么在系统中我们可以看到有一块1TB的逻辑磁盘,而并不能看到是两块物理硬盘。RAID 0将数据的读写同时分摊到多块磁盘上,也就是说,数据会被控制器分割后写入多块盘,读取时也会同时调动多块盘一起读,最后由控制器组合后返回上层操作系统。
可以看出RAID 0在读写效率上要比单盘要高,因为有很大概率调动多块磁盘同时操作。对于上层操作系统而言,并不感知。操作系统只是觉得可用的扇区变多了,而且对于数据被“分割”和“合并”这样的事情也一无所知。
- 优点:速度快、效率高、容量提升
- 缺点:无备份,容易丢失数据
RAID 1
为了解决磁盘损坏导致所有数据丢失,RAID 1
将数据原样复制了一份到另一个磁盘,这样能够在一块盘损坏的情况下,保留数据。而且读数据的时候可以同时在两块盘上读,速度提升了,因为它们的数据是完全一样的。
- 优点:读速度快,有备份
- 缺点