RAID原理,磁盘阵列(Disk Array)原理
 网龙首页 | 操作系统 | 网络硬件 | 组网建网 | 网络建设 | 架站技术 | IT认证 | 网络安全 | 网络存储 | 网龙论坛
首页 >> 网络硬件 >> 服务器 >> 新闻正文

RAID原理,磁盘阵列(Disk Array)原理

http://www.wapease.com/network/ 2004-7-22 浏览次数: [专题阅读]

今天把有关RAID的原理的资料放入BBS,由于BBS无法使用图像,及在传送时可能会
有乱码,若有需要完整的资料,可与我联系: secu@263.net

磁盘阵列(Disk Array)原理

1.为什么需要磁盘阵列?

如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效
的利用磁盘空间,一直是电脑专业人员和用户的困扰;而大容量磁盘的价格非常昂贵,对
用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。

过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大
幅增加,而数据储存装置--主要是磁盘(hard disk)--的存取速度只增加了三、四倍,形
成电脑系统的瓶颈,拉低了电脑系统的整体性能(through put),若不能有效的提升磁盘
的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。

目前改进磁盘存取速度的的方式主要有两种。一是磁盘快取控制(disk cache
controller),它将从磁盘读取的数据存在快取内存(cache memory)中以减少磁盘存取
的次数,数据的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不在快
取内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方式在单工环境(single-
tasking envioronment)如DOS之下,对大量数据的存取有很好的性能(量小且频繁的存
取则不然),但在多工(multi-tasking)环境之下(因为要不停的作数据交换(swapping)
的动作)或数据库(database)的存取(因为每一记录都很小)就不能显示其性能。这种方
式没有任何安全保障。

其二是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘
使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相
关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列所利用
的不同的技术,称为RAID level,不同的level针对不同的系统及应用,以解决数据安全
的问题。

一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘快取控制及磁盘
阵列结合在一个控制器(RAID controler或控制卡上,针对不同的用户解决人们对磁
盘输出入系统的四大要求:
(1)增加存取速度,
(2)容错(fault tolerance),即安全性
(3)有效的利用磁盘空间;
(4)尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。

2.磁盘阵列原理

磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,RAID是Redundent
Array of Inexpensive Disks的缩写,而每一level代表一种技术,目前业界公认的标
准是RAID 0~RAID 5。这个level并不代表技术的高低,level 5并不高于level 3,level
1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境
(operating environment)及应用(application)而定,与level的高低没有必然的关系。
RAID 0及RAID 1适用于PC及PC相关的系统如小型的网络服务器(network server)及
需要高磁盘容量与快速磁盘存取的工作站等,比较便宜;RAID 3及RAID 4适用于大型电
脑及影像、CAD/CAM等处理;RAID 5多用于OLTP,因有金融机构及大型数据处理中心的
迫切需要,故使用较多而较有名气, RAID 2较少使用,其他如RAID 6,RAID 7,乃至RAID
10等,都是厂商各做各的,并无一致的标准,在此不作说明。介绍各个RAID level之前,
先看看形成磁盘阵列的两个基本技术:

磁盘延伸(Disk Spanning):

译为磁盘延伸,能确切的表示disk spanning这种技术的含义。如图磁盘阵列控制器,
联接了四个磁盘,这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAID
controller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:盘。这是disk
spanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在
各磁盘的分布,而且提高了磁盘空间的使用率。并使磁盘容量几乎可作无限的延伸;而各
个磁盘一起作取存的动作,比单一磁盘更为快捷。很明显的,有此阵列的形成而产生
RAID的各种技术。


磁盘或数据分段(Disk Striping or Data Striping):

因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtual disk),所以其数
据是以分段(block or segment)的方式顺序存放在磁盘阵列中,数据按需要分段,从第一
个磁盘开始放,放到最後一个磁盘再回到第一个磁盘放起,直到数据分布完毕。至于分段
的大小视系统而定,有的系统或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB
的,但除非数据小于一个扇区(sector,即521bytes),否则其分段应是512byte的倍数。
因为磁盘的读写是以一个扇区为单位,若数据小于512bytes,系统读取该扇区后,还要
做组合或分组(视读或写而定)的动作,浪费时间。从上图我们可以看出,数据以分段于在
不同的磁盘,整个阵列的各个磁盘可同时作读写,故数据分段使数据的存取有最好的效
率,理论上本来读一个包含四个分段的数据所需要的时间约=(磁盘的access time+数据
的tranfer time)X4次,现在只要一次就可以完成。

若以N表示磁盘的数目,R表示读取,W表示写入,S表示可使用空间,则数据分段的性能
为:
R:N(可同时读取所有磁盘)
W:N(可同时写入所有磁盘)
S:N(可利用所有的磁盘,并有最佳的使用率)

Disk striping也称为RAID 0,很多人以为RAID 0没有甚么,其实这是非常错误的观念,
因为RAID 0使磁盘的输出入有最高的效率。而磁盘阵列有更好效率的原因除数据分段
外,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放 此新闻共有31 2 3

Google
 

收藏该文章 | 发送给好友 | 打印该文章 | 我要投稿 | 去论坛讨论

·实现四台服务器的负载均衡
·全面接触刀片服务器
·MS Application Center 2K 组件负载平衡技术概述
·RAID原理,磁盘阵列(Disk Array)原理
·服务器内存知多少?
·VPN技术概述
·服务器选购四误区
·PC服务器选购方案

共有评论查看评论
姓名:
发表评论请遵守相关规定!
*《互联网电子公告服务管理规定》
*《全国人大常委会关于维护互联网安全的规定》
万易简介 | 网站简介 | 栏目简介 | 服务报价 | 联系方式 | 万易诚聘 | 版权信息
万易网络 版权所有
www.wapease.com
未经书面许可,任何人不得转载本站信息
联系方式:Info@wapease.com 热线QQ:44977515