磁阵问题.docx

上传人:b****7 文档编号:11098096 上传时间:2023-02-25 格式:DOCX 页数:11 大小:78.24KB
下载 相关 举报
磁阵问题.docx_第1页
第1页 / 共11页
磁阵问题.docx_第2页
第2页 / 共11页
磁阵问题.docx_第3页
第3页 / 共11页
磁阵问题.docx_第4页
第4页 / 共11页
磁阵问题.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

磁阵问题.docx

《磁阵问题.docx》由会员分享,可在线阅读,更多相关《磁阵问题.docx(11页珍藏版)》请在冰豆网上搜索。

磁阵问题.docx

磁阵问题

1、实时库的逻辑结构问题。

实时库逻辑结构如下:

上午讲的与实际有点出入,现做更正。

最上层是实时数据库管理系统,

系统内存库支持多个实时数据库。

一个实时库中可定义多个表集。

一个实时库表集为功能逻辑上统一的多个内存表的集合。

其基本内存区存放静态配置的所有关系表,其扩展内存区存放运行中动态生成的关系表及动态添加的域。

一个实时库表由一个或多个域集组成。

域集与应用相关,平台支持针对不同应用配置不同域集。

位于一个域集中的一条记录,其组成域在内存中是连续的。

位于一个域集中的多条记录,其内存空间是连续的。

域是表的基本单位。

有的域还包含多个子域,如按位定义的标志等。

2磁盘整列问题

RAID是“RedundantArrayofIndependentDisk”的缩写,中文意思是独立冗余磁盘阵列。

冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。

简单地解释,就是将N台硬盘通过RAIDController(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。

RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点

主要包含RAID0~RAID7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:

RAID0:

无差错控制的带区组

  要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。

因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。

如果刚好所需要的数据在不同的驱动器上效率最好。

它不需要计算校验码,实现容易。

它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。

不应该将它用于对数据稳定性要求高的场合。

如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。

同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。

那么原来读取同样文件的时间被缩短为1/2。

在所有的级别中,RAID0的速度是最快的。

但是RAID0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1:

镜象结构

  

  

raid1

对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。

通过下面的结构图您也可以看到必须有两个驱动器。

因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。

它比较容易设计和实现。

每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。

因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。

当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。

而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。

当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。

镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID1的数据安全性在所有的RAID级别上来说是最好的。

但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。

RAID2:

带海明码校验

  从概念上讲,RAID2同RAID3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。

然而RAID2使用一定的编码技术来提供错误检查及恢复。

这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。

因此,在商业环境中很少使用。

下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。

由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。

它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。

没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。

输出数据的速率与驱动器组中速度最慢的相等。

RAID3:

带奇偶校验码的并行传送

  

  

raid3

这种校验码与RAID2不同,只能查错不能纠错。

它访问数据时一次处理一个带区,这样可以提高读取和写入速度,它像RAID0一样以并行的方式来存放数据,但速度没有RAID0快。

校验码在写入数据时产生并保存在另一个磁盘上。

需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。

用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。

它主要用于图形(包括动画)等要求吞吐率比较高的场合。

不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。

如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。

如果奇偶盘失效,则不影响数据使用。

RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。

利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。

RAID4:

带奇偶校验码的独立磁盘结构

  

  

raid4

RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。

在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。

它的特点的RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。

RAID5:

分布式奇偶校验的独立磁盘结构

  

  

RAID5清晰图片

从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。

RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。

因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。

RAID5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。

这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。

硬盘的利用率为n-1。

但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。

RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。

而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。

在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。

RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。

因此RAID5是RAID级别中最常见的一个类型。

RAID5校验位即P位是通过其它条带数据做异或(xor)求得的。

计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的数据块,xor是数学运算符号异或。

  RAID5校验位算法详解

  P=D1xorD2xorD3…xorDn(D1,D2,D3…Dn为数据块,P为校验,xor为异或运算)

  XOR(ExclusiveOR)的校验原理如下表:

  

A值

B值

Xor结果

0

0

0

1

0

1

0

1

1

1

1

0

 这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR(非或又称"非异或")结果为0,A与B不一样时,XOR结果就是1,如果知道XOR结果,A和B中的任何两个数值,就可以反推出剩下的一个数值。

比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。

这就是XOR编码与校验的基本原理。

RAID6:

两种存储的奇偶校验码的磁盘结构

  

  

raid6

名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。

它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。

当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。

我想除了军队没有人用得起这种东西。

  常见的RAID6组建类型RAID6(6D+2P)

  1RAID6(6D+2P)原理

  和RAID5相似,RAID6(6D+2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。

在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。

  RAID6(6D+2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上

  RAID6校验数据生成公式(P和Q):

  P的生成用了异或

  P=D0XORD1XORD2XORD3XORD4XORD5

  Q的生成用了系数和异或

  Q=A0*D0XORA1*D1XORA2*D2XORA3*D3XORA4*D4XORA5*D5

  D0~D5:

条带化数据

  A0~A5:

系数

  XOR:

异或

  *:

  在RAID6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID5一样的。

而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。

  各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。

这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。

  上面描述的是校验数据生成的算法。

其实RAID6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。

RAID7:

优化的高速数据传送磁盘结构

  RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。

允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。

可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。

由于采用并行结构,因此数据访问效率大大提高。

需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。

当然了,这么快的东西,价格也非常昂贵。

RAID10/01:

高可靠性与高效磁盘结构

  这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速还可以互为镜像的目的。

大家可以结合两种结构的优点和缺点来理解这种新结构。

这种新结构的价格高,可扩充性不好。

主要用于容量不大,但要求速度和差错控制的数据库中。

  其中可分为两种组合:

RAID10和RAID01

  RAID10是先镜射再分区数据。

是将所有硬盘分为两组,视为是RAID0的最低组合,然后将这两组各自视为RAID1运作。

RAID10有着不错的读取速度,而且拥有比RAID0更高的数据保护性。

  RAID01则是跟RAID10的程序相反,是先分区再将数据镜射到两组硬盘。

它将所有的硬盘分为两组,变成RAID1的最低组合,而将两组硬盘各自视为RAID0运作。

RAID01比起RAID10有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID01就会停止运作,而RAID10则可以在牺牲RAID0的优势下正常运作。

  RAID10巧妙的利用了RAID0的速度以及RAID1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。

RAID50:

被称为分布奇偶位阵列条带

  同RAID10相仿的,它具有RAID5和RAID0的共同特性。

它由两组RAID5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID0,实验跨磁盘抽取数据。

RAID50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。

即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。

  RAID50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。

这些应用包括事务处理和有许多用户存取小文件的办公应用程序。

RAID53:

称为高效数据传送磁盘结构

  结构的实施同Level0数据条阵列,其中,每一段都是一个RAID3阵列。

它的冗余与容错能力同RAID3。

这对需要具有高数据传输率的RAID3配置的系统有益,但是它价格昂贵、效率偏低。

  RAID1.5:

是一个新生的磁盘阵列方式,它具有RAID0+1的特性,而不同的是,它的实现只需要2个硬盘。

  从表面上来看,组建RAID1.5后的磁盘,两个都具有相同的数据。

当然,RAID1.5也是一种不能完全利用磁盘空间的磁盘阵列模式,因此,两个80GB的硬盘在组建RAID1.5后,和RAID1是一样的,即只有80GB的实际使用空间,另外80GB是它的备份数据。

如果把两个硬盘分开,分别把他们运行在原系统,也是畅通无阻的。

但通过实际应用,我们发现如果两个硬盘在分开运行后,其数据的轻微改变都会引起再次重组后的磁盘阵列,没法实现完全的数据恢复,而是以数据较少的磁盘为准。

其他RAID级别

RAID1E

  RAID1E是RAID1的增强版本,是由IBM公司提出的一种私有RAID级别,没有成为国际标准。

它并不是我们通常所说的RAID0+1的组合。

RAID1E的工作原理与RAID1基本上是一样的,只是RAID1E的数据恢复能力更强,但由于RAID1E写一分数据至少要两次,因此,RAID处理器的负载得到加强,从而造成磁盘读写能力的下降。

RAID1E至少需要3块硬盘才能实现。

RAID1E和RAID1的工作原理如图。

RAID5E

  RAID5E是RAID磁盘存储中的一个高的级别,RAID5E(RAID5Enhencement)是在RAID5级别基础上的改进,与RAID5类似,数据的校验信息均匀分布在各硬盘上,但是在每个硬盘上都保留了一部分未使用的空间,这部分空间没有进行条带化,最多允许两块物理硬盘出现故障。

看起来,RAID5E和RAID5加一块热备盘好象差不多,其实由于RAID5E是把数据分布在所有的硬盘上,性能会与RAID5加一块热备盘要好。

当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID5级别。

RAID5EE

  RAID5EE是RAID磁盘存储中的一个高的级别,RAID5EE是一个比较实用的技术。

RAID5EE提供了一个完善的替代"RAID5+HotSpare"盘的解决办法。

原来的一块单独HotSpare热备份盘也进行Stripe条带化,并且平均分配到了5块磁盘中。

这样,在RAID5EE读写的时候,5块磁盘同时参与I/O,相比于4块磁盘+HotSpare盘的情况,多了一个磁盘的读写带宽,提高了性能。

特别是在整体磁盘数量比较少,如4/5/6等的情况下,性能的提高尤为明显。

  RAID5EE相比于RAID5性能提高,那对于可靠性和容量利用率有什么影响呢?

对于RAID5EE来讲,一块硬盘损坏,就会自动重构成一个RAID5,另外一个硬盘再损坏,就会变成Degraded状态的RAID5,这和RAID5+HotSpare的容错能力是一样的,也就是可靠性一样;对于RAID5EE来讲,损失的容量为2块物理磁盘,而对于RAID5+HotSpare来讲,损失的容量也为2块物理磁盘,所以容量利用率也一致。

值得注意的一点,RAID5EE中包括的HotSpare盘是分布在每个磁盘中的,只能供RAID5EE本身来使用,不能做另外RAID5的热备。

RAIDADG

  RAIDADG类似于RAID6,ADG技术是基于RAID5之上的,采用了冗余的校验盘;也可以理解成是给RAID5再做了一个RAID5的校验。

实现两块硬盘的容错,至少需要4块硬盘。

这个技术是康柏最先提出来的,现在HP就已经移植了该技术。

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

当前位置:首页 > 工程科技 > 能源化工

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

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