教你如何组建磁盘阵列组图共22页文档.docx

上传人:b****1 文档编号:358182 上传时间:2022-10-09 格式:DOCX 页数:12 大小:61.79KB
下载 相关 举报
教你如何组建磁盘阵列组图共22页文档.docx_第1页
第1页 / 共12页
教你如何组建磁盘阵列组图共22页文档.docx_第2页
第2页 / 共12页
教你如何组建磁盘阵列组图共22页文档.docx_第3页
第3页 / 共12页
教你如何组建磁盘阵列组图共22页文档.docx_第4页
第4页 / 共12页
教你如何组建磁盘阵列组图共22页文档.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

教你如何组建磁盘阵列组图共22页文档.docx

《教你如何组建磁盘阵列组图共22页文档.docx》由会员分享,可在线阅读,更多相关《教你如何组建磁盘阵列组图共22页文档.docx(12页珍藏版)》请在冰豆网上搜索。

教你如何组建磁盘阵列组图共22页文档.docx

教你如何组建磁盘阵列组图共22页文档

磁盘阵列(DiskArray)

转载请注明来自闪电频道/html/xueyuan/ruanjian/20070330/8523.html

1.为什么需要磁盘阵列

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

磁盘阵列技术的产生一举解决了这些问题。

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

目前改进磁盘存取速度的的方式主要有两种。

一是磁盘快取控制(diskcachecontroller),它将从磁盘读取的数据存在快取内存(cachememory)中以减少磁盘存取的次数,数据的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不在快取内存中,或要写数据到磁盘时,才做磁盘的存取动作。

这种方式在单工环境(single-taskingenvironment)如DOS之下,对大量数据的存取有很好的性能(量小且频繁的存取则不然),但在多工(multi-tasking)环境之下(因为要不停的作数据交换(swapping)的动作)或数据库(database)的存取(因为每一记录都很小)就不能显示其性能。

这种方式没有任何安全保障。

其二是使用磁盘阵列的技术。

磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。

磁盘阵列所利用的不同的技术,称为RAIDlevel,不同的level针对不同的系统及应用,以解决数据安全的问题。

一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘快取控制及磁盘阵列结合在一个控制器(RAIDcontroller)或控制卡上,针对不同的用户解决人们对磁盘输出入系统的四大要求:

(1)增加存取速度,

(2)容错(faulttolerance),即安全性

(3)有效的利用磁盘空间;

(4)尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。

2.磁盘阵列原理

磁盘阵列中针对不同的应用使用的不同技术,称为RAIDlevel,RAID是RedundantArrayofInexpensiveDisks的缩写,而每一level代表一种技术,目前业界公认的标准是RAID0~RAID5。

这个level并不代表技术的高低,level5并不高于level3,level1也不低过level4,至于要选择那一种RAIDlevel的产品,纯视用户的操作环境(operatingenvironment)及应用(application)而定,与level的高低没有必然的关系。

RAID0及RAID1适用于PC及PC相关的系统如小型的网络服务器(networkserver)及需要高磁盘容量与快速磁盘存取的工作站等,因为比较便宜,但因一般人对磁盘阵列不了解,没有看到磁盘阵列对他们价值,市场尚未打开;RAID2及RAID3适用于大型电脑及影像、CAD/CAM等处理;RAID5多用于OLTP,因有金融机构及大型数据处理中心的迫切需要,故使用较多而较有名气,但也因此形成很多人对磁盘阵列的误解,以为磁盘阵列非要RAID5不可;RAID4较少使用,因为两者有其共同之处,而RAID4有其先天的限制。

其他如RAID6,RAID7,乃至RAID10等,都是厂商各做各的,并无一致的标准,在此不作说明。

介绍各个RAIDlevel之前,先看看形成磁盘阵列的两个基本技术:

译为磁盘延伸,能确切的表示diskspanning这种技术的含义。

如下图所示,DFTraid磁盘阵列控制器,联接了四个磁盘:

这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAIDcontroller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:

盘。

这是diskspanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在各磁盘的分布,而且提高了磁盘空间的使用率。

DFTraid的SCSI磁盘阵列更可连接几十个磁盘,形成数十GB到数百GB的阵列,使磁盘容量几乎可作无限的延伸;而各个磁盘一起作取存的动作,比单一磁盘更为快捷。

很明显的,有此阵列的形成而产生RAID的各种技术。

我们也可从上图看出inexpensive(便宜)的意义,因为四个250MBbytes的磁盘比一个1GBytes的磁盘要便宜,尤其以前大磁盘的价格非常昴贵,但在磁盘越来越便宜的今天,inexpensive已非磁盘阵列的重点,虽然对于需要大磁盘容量的系统,仍是考虑的要点。

磁盘 因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtualdisk),所以其数据是以分段(blockorsegment)的方式顺序存放在磁盘阵列中,如下图:

磁盘0

 

磁盘1

 

磁盘2

 

磁盘3

A0-A1

B0-B1

C0-C1

D0-D1

 

A2-A3

B2-B3

C2-C3

D2-D3

 

A4-A5

B4-B5

C4-C5

D4-C5

 

A6-A7

B6-B7

C6-C7

D6-D7

数据按需要分段,从第一个磁盘开始放,放到最後一个磁盘再回到第一个磁盘放起,直到数据分布完毕。

至于分段的大小视系统而定,有的系统或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非数据小于一个扇区(sector,即521bytes),否则其分段应是512byte的倍数。

因为磁盘的读写是以一个扇区为单位,若数据小于512bytes,系统读取该扇区后,还要做组合或分组(视读或写而定)的动作,浪费时间。

从上图我们可以看出,数据以分段于在不同的磁盘,整个阵列的各个磁盘可同时作读写,故数据分段使数据的存取有最好的效率,理论上本来读一个包含四个分段的数据所需要的时间约=(磁盘的accesstime+数据的transfertime)X4次,现在只要一次就可以完成。

若以N表示磁盘的数目,R表示读取,W表示写入,S表示可使用空间,则数据分段的性能为:

R:

N(可同时读取所有磁盘)

W:

N(可同时写入所有磁盘)

S:

N(可利用所有的磁盘,并有最佳的使用率)

Diskstriping也称为RAID0,很多人以为RAID0没有甚么,其实这是非常错误的观念,因为RAID0使磁盘的输出入有最高的效率。

而磁盘阵列有更好效率的原因除数据分段外,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放在不同的磁盘,不同的磁盘可同时作读写,而且能在快取内存及磁盘作并行存取(parallelaccess)的动作,但只有硬件的磁盘阵列才有此性能表现。

从上面两点我们可以看出,diskspanning定义了RAID的基本形式,提供了一个便宜、灵活、高性能的系统结构,而diskstriping解决了数据的存取效率和磁盘的利用率问题,RAID1至RAID5是在此基础上提供磁盘安全的方案。

RAID1

RAID1是使用磁盘镜像(diskmirroring)的技术。

磁盘镜像应用在RAID1之前就在很多系统中使用,它的方式是在工作磁盘(workingdisk)之外再加一额外的备份磁盘(backupdisk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份磁盘。

磁盘镜像不见得就是RAID1,如NovellNetWare亦有提供磁盘镜像的功能,但并不表示NetWare有了RAID1的功能。

一般磁盘镜像和RAID1有二点最大的不同:

RAID1无工作磁盘和备份磁盘之分,多个磁盘可同时动作而有重叠(overlapping)读取的功能,甚至不同的镜像磁盘可同时作写入的动作,这是一种最佳化的方式,称为负载平衡(load-balance)。

例如有多个用户在同一时间要读取数据,系统能同时驱动互相镜像的磁盘,同时读取数据,以减轻系统的负载,增加I/O的性能。

RAID1的磁盘是以磁盘延伸的方式形成阵列,而数据是以数据分段的方式作储存,因而在读取时,它几乎和RAID0有同样的性能。

从RAID的结构就可以很清楚的看出RAID1和一般磁盘镜像的不同。

下图为RAID1,每一笔数据都储存两份 

磁盘0

 

磁盘1

 

磁盘0

 

磁盘1

A0

A2

A4

B1

 

A1

A3

B0

B2

 

 

A0

A2

A4

B1

 

A1

A3

B0

B2

从上图可以看出:

R:

N(可同时读取所有磁盘)

W:

N/2(同时写入磁盘数)

S:

N/2(利用率)

读取数据时可用到所有的磁盘,充分发挥数据分段的优点;写入数据时,因为有备份,所以要写入两个磁盘,其效率是N/2,磁盘空间的使用率也只有全部磁盘的一半。

很多人以为RAID1要加一个额外的磁盘,形成浪费而不看好RAID1,事实上磁盘越来越便宜,并不见得造成负担,况且RAID1有最好的容错(faulttolerance)能力,其效率也是除RAID0之外最好的。

我们可视应用的不同,在同一磁盘阵列中使用不同的RAIDlevel,如华艺科技公司的DFTraid系列都可同一磁盘阵列中定义八个逻辑磁盘(logicdisk),分别使用不同的RAIDlevel,分为C:

D:

及E:

三个逻辑磁盘(或LUN0,LUN1,LUN2).

RAID1完全做到了容错包括不停机(non-stop),当某一磁盘发生故障,可将此磁盘拆下来而不影向其他磁盘的操作;待新的磁盘换上去之后,系统即时做镜像,将数据重新复上去,RAID1在容错及存取的性能上是所有RAIDlevel之冠。

在磁盘阵列的技术上,从RAID1到RAID5,不停机的意思表示在工作时如发生磁盘故障,系统能持续工作而不停顿,仍然可作磁盘的存取,正常的读写数据;而容错则表示即使磁盘故障,数据仍能保持完整,可让系统存取到正确的数据,而SCSI的磁盘阵列更可在工作中抽换磁盘,并可自动重建故障磁盘的数据。

磁盘阵列之所以能做到容错及不停机,是因为它有冗余的磁盘空间可资利用,这也就是Redundant的意义。

RAID2

RAID2是把数据分散为位元(bit)或块(block),加入海明码HammingCode,在磁盘阵列中作间隔写入(interleaving)到每个磁盘中,而且地址(address)都一样,也就是在各个磁盘中,其数据都在相同的磁道(cylinderortrack)及扇区中。

RAID2的设计是使用共轴同步(spindlesynchronize)的技术,存取数据时,整个磁盘阵列一起动作,在各作磁盘的相同位置作平行存取,所以有最好的存取时间(accesstime),其总线(bus)是特别的设计,以大带宽(bandwide)并行传输所存取的数据,所以有最好的传输时间(transfertime)。

在大型档案的存取应用,RAID2有最好的性能,但如果档案太小,会将其性能拉下来,因为磁盘的存取是以扇区为单位,而RAID2的存取是所有磁盘平行动作,而且是作单位元的存取,故小于一个扇区的数据量会使其性能大打折扣。

RAID2是设计给需要连续且大量数据的电脑使用的,如大型

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1