分类: LINUX
2013-04-02 16:21:33
RAID技术饮水机模拟图解
RAID 是“Redundant Array of Independent Disk”的缩写,中文名字为廉价磁盘冗余阵列,顾名思义它是由磁盘组成阵列而形成的。因此RAID需要至少两块硬盘组成。RAID的基本做法就是把多个 便宜的小磁盘组合到一起,成为一个磁盘组,在性能可以达到或超过一个容量巨大、价格昂贵的磁盘。
根 据不同的实际情况,作为一名网络管理员的我们应该为服务器采取不同的RAID级别。目前流行的级别方案有RAID 0,RAID 1,RAID 5。其中RAID1和RAID 5可以保证数据的安全,在最大程度上的防止磁盘意外损坏而丢失数据情况的发生。而RAID 0则是为了提高磁盘读取的速度,它不提供任何数据备份和保障功能。知道了不同RAID应用的情况我们就根据实际情况进行选择即可。
对于需要在硬盘上保存大量数据的场景,采用 RAID 技术将会很方便,主要表现在以下几个方面——
(1). 增强了速度 ,服务器可以在同一时间从多个硬盘上读取数据。
(2). 扩容了存储能力,多个硬盘组成更大的空间提供给服务器使用。
(3). 可高效恢复磁盘,某些RAID类型提供了相当高的数据冗余功能,我们可以保证物理磁盘损坏的情况,数据仍旧完整无缺。
笔者下面就以饮水机和水桶的图片来描述RAID各个常见级别的图片,感觉很多地方定义得非常准确,而且通过看图了解RAID效果会更加显著。
(图1) “单块磁盘”
(1). 这里我们通过矿泉水桶为饮水机提供水源这个现实例子来比喻RAID各个级别的区别。饮水机的出水孔相当于读取数据的接口,而矿泉水桶里的水就是宝贵的数 据。这些数据正是通过出水孔这个数据接口而被用户读取的,相应的一个矿泉水桶对应着一块硬盘。就第一种情况而言,就类似于一般情况下我们的计算机只有一个 硬盘的,这时我们要喝水(读取硬盘数据)都是由这一个矿泉水桶提供水源的。
(图2) “群集”
(2). 所谓cluster就是群集的意思,群集就是用多台服务器合并为一台,所有服务器提供的服务和数据都是一样的。就像图中显示的有两台饮水机,说明有两台服 务器,这两台服务器都可以提供用户数据(水源)。 用户可以到左边的饮水机来取得数据,也可以到右边的饮水机来获得数据,这样无形中就提供了用户获得水 (数据)的效率。但是这种群集需要多台服务器硬件的支持,在一定程度上造成了浪费。
(图3) “热备”
(3). 概念上有点类似于热备份。即一台饮水机(服务器),和第一个种单硬盘的情况一样,有一个硬盘,出水量也和“单硬盘”的一样。但是当饮水机上的矿泉水桶出现 问题时,例如水没了或者桶破了,这时马上采取热交换技术,将旁边的矿泉水桶替代出问题的桶放到饮水机上,从而继续提供服务。但是这种方法也存在一个缺点, 那就是需要一个桶做备份,而且仅仅在原来桶出问题的情况下该桶才派上用场。另外换桶过程是需要时间的,无形中影响了服务的提供。
(图4)RAID 0
(4). 这是RAID最早的级别RAID 0。通常称为带区,是利用带区数据映射技巧的特定性能。也就是说,当数据写入磁盘组的时候,被分成带区,交错写入磁盘组的磁盘中。这带来了高I/O性能,低开销,但不提供任何冗余。磁盘组的存储量等于总的各磁盘容量之和。
这 种情况相当于将两个桶合成为一个更大的桶在使用,而当两个桶中任何一个出问题时用户将都不能通过出水孔获得宝贵的数据(水源),因此它不提供冗余功能。当 然在获得水源的过程中用户是通过两个矿泉水桶同时获得的,自然在出水量等多方面比只使用一个桶有优势。提高了数据读写的速度是RAID 0的最大特色。
(图5)RAID 1
(5). 这是RAID中比较常用的RAID 1级别,即常提到的镜像RAID。相比其它各级别RAID来说,这个级别使用的时间较长。RAID 1通过把同样的数据写到磁盘组的每一个磁盘上,将“镜像”复制到每个磁盘上,来提供数据冗余。镜像由于它的简单实现和数据的高可信度而一直很受欢迎。这个 级别在读数据操作时,并行处理2个或更多的磁盘,因此数据传输速率高, 但是在其它的操作时并不能提高的I/O传输速率。RAID 1级提供了非常好的数据的高可信度,并且改善了读数据操作的性能,但是耗费很大。要求组成磁盘组的各磁盘规格相同,而组成后磁盘组的容量仅仅等于一块磁盘 的容量。
正如图中显示的一样,有两个矿泉水桶放在饮水机上,这样当其中一个出了 问题,例如破坏或没水时并不会影响用户使用矿泉水,因为另一个桶将会完好的提供水源。当然由于出水口没有出现任何扩大,所以出水量和使用一个矿泉水桶是一 样的。因此出水速度没有变化却多加了一个桶使得RAID 1虽然可以提供最大程度的冗余,但是无法提高读取速度。
(图6)RAID 5
(6). 这是服务器最常用的RAID级别,即RAID 5。该级别的RAID是通过把奇偶校验分布到磁盘组中的一些或所有磁盘上,RAID 5常使用缓冲技术来降低性能的不对称性。如果组成磁盘组的各磁盘规格相同,磁盘组容量等于磁盘的总容量,减去一块磁盘的容量。
上 面提到了RAID 1只是使用了一个供水口,没有提高出水速度。然而在RAID 5中,三个矿泉水桶是分别安装在了三个进水口中的,这样我们就可以同时由三个水桶为用户提供水源了,自然在出水速度上得到了大幅度提高。同样三个矿泉水桶 有一个出现问题也没有关系,不会影响到饮用水源。
另外,有两点是图中没有表现出 来的,在RAID 5 的描述中只显示了三个水桶,实际上在现实工作中只要我们有三个以上的硬盘(水桶)都可以配置RAID5了。四个,五个甚至更多的硬盘来配置RAID 5也是没有问题的。在我们配置RAID 5后如果出现两个以上硬盘出现问题时,数据是不能得到有效的保护的。也就是说RAID 5只能在保证其中的一块硬盘出问题时保证数据完好。
(图7) RAID0+1
(7) 最后一个图实际上是前面介绍的RAID 0和RAID 1的组合,只要大家对RAID 0和RAID 1有了清晰的认识,这个图理解起来就简单得多了,它实际上就是先配置为RAID 0然后在配置RAID 1,相应的发挥了RAID 0和1的所有优点,但RAID 0+1在实际工作中使用的机会没有的RAID 5那么多。
小结:
对 于服务器不是很熟悉的朋友,掌握RAID的概念是非常重要的。这是我们进入服务器知识领域的敲门砖,希望本篇文章中的饮水机图可以帮助大家理解各种 RAID和数据冗余类别。另外,图片仅仅是为了方便大家理解和记忆,对于RAID这样理论的东西很多细节和特点是无法通过简单的图片所表现出来 的.。