[学习笔记]RAID及实验
RAID:
RAID 0 好比只用左手拿了一摞大饼放在那里,相比于只拿一张饼吃,吃的速度会加快。但是万一掉了,就没有了。
RAID 1 好比左右手两手一边一个大饼,怎么样都有的吃。但是一只手掉了,还有的吃。
RAID 5
好比你有5所公寓,你把信息藏在家里。每个公寓都放一份完整信息的校验信息。万一一个公寓被盗了或者打不开锁了,只需替换他,利用校验信息就可以读出所有信息。
HOTspare:
热备用。当一个正在使用的磁盘发生故障后,一个空闲、加电并待机的磁盘将马上代替此故障盘,此方法就是热备用。
DAS:直连存储
NAS:http://baike.baidu.com/view/2679515.htm
SAN:
NFS和CIFS协议:UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。
RAID2.0:
【其他参考1】http://blog.csdn.net/lcb0913/article/details/7676570
我们在部署服务器时通常都免不了RAID阵列级别的选择,RAID技术发展到今天已经有数十种之多了,但我们在生产系统上常用的也就只有几种,如 0,1,5,0+1。读者朋友可能对各个级别的RAID原理已经非常熟悉了,甚至能背诵出来,但面临真正在生产系统中选择最适合应用系统的RAID级别 时,可能没多少心理有底,本文就oracle数据库服务器在选择RAID阵列级别时做一个介绍,希望对还心存疑虑的人们吃一粒定心丸。
首先,还是来看看常用的几个RAID级别之间的优缺点。
RAID 级 |
优缺点描述 |
不用RAID |
任何RAID 都有一定的管理开销,如果你最需要的是数据写入速度,且不需要为保护数据,那么 你就可以选择不使用RAID ,如果你有3 块 硬盘,那可以将其中一块用于安装操作系统和数据库软件,第二块用作存储数据文件,第三块用作存储日志文件,这样系统整体性能会非常好,但任何一块硬盘坏 掉,系统维护时间都比较长,当然,如果你还有更多的硬盘,那可以将每块硬盘承担的工作进一步细化,如专门拿一块存储控制文件和参数文件,而且还可以将多个 数据文件分开,每个文件一块硬盘,这样性能只能说是大大的好。 |
RAID0 |
熟悉RAID 0的人都知道,它的读写速度是最高的,因为数据是分成小块后,跨多块硬盘同步写入多块硬盘的,这样写入速度就非常快了,如果你不信,可以将三块硬盘组成 RAID 0,然后安装操作系统,你会发现安装时间减少了好多。当然,读取数据的速度相对单块硬盘也会大幅提升,不过这种RAID用的人不多,因为一旦其中一块硬盘 坏掉,数据恢复可能就得请专业的恢复公司了。RAID 0非常适合那些作为代理服务器的缓存使用,要的就是速度。 |
RAID1 |
RAID 1设计的目的就是为了保证数据的安全,通常我们称之为镜像,即如果你将两块硬盘组成RAID 1,这时你在操作系统中看到的硬盘大小其实只有一块的大小,另一块都做镜像了,所以这种情况下,一份数据保存了两份,允许坏掉其中一块而不影响操作系统和 应用程序的正常使用,但它的缺点是写入速度都较单块硬盘有所下降,毕竟写操作时要写两次,肯定会消耗一定量的CPU时间片的。这种RAID适合那些看重数 据安全的应用,如单位财务软件用机。 |
RAID0+1 |
从其名字就可以看出来,这是RAID 0和RAID 1技术的结合产物,它同时利用了RAID 0的高速特性和RAID 1的镜像功能,满足了对速度和数据安全同样重视的用户的需求。要实现这种RAID,最少要4块硬盘,允许其中一块硬盘坏掉而不影响操作系统和应用程序。特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融等 |
RAID 5 |
RAID 5可以理解为RAID 0和RAID 1的折中方案,RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。要实现这种RAID,最少要3块硬盘,允许其中一块硬盘坏掉而不影响操作系统和应用程序。 |
在准备安装Oracle的服务器上,究竟选择哪种RAID合适呢,我要告诉你的是,没有定论,要想使你的Oracle服务器最终性能比较理想,下面 是我总结的一个可行的办法。
先规划一下哪些磁盘存放什么文件,然后再看这些文件的读写性能要求,按照性能要求再做对应的RAID级别阵列。下面是Oracle中涉及到的文件类 型及我们推荐使用的RAID级别,并阐述了推荐的理由:
文件类型 |
推荐RAID级别 |
推荐理由 |
控制文件 |
不用RAID RAID 0 RAID 0+1 |
我推荐了3种RAID级别来存储控制文件。 |
在线重做 |
不用RAID RAID 0 RAID 0+1 |
与控制文件类似,在线重做日志文件更新也非常频繁,必须考虑 使用速度快的RAID级别。需要注意的是建议使用多个在线重做日志文件。 |
临时数据 |
不用RAID RAID 0 |
临时文件注重的是快速访问,不关心它的可靠性如何,如果数据文件丢失了也可以原地快速重建的。所以这里我推荐使用RAID 0或不使用RAID。 |
归档日志 |
不用RAID RAID 0 RAID 0+1 |
归档日志时,归档进程可能会消耗很多系统资源,所以速度越快越好,如果使用RAID 0或不使用RAID,建议多做几份拷贝,如果使用RAID 0+1,那你就高枕无忧了。 |
回滚/撤销 |
RAID 0+1 |
这些文件需要恒定不变的I/O,并且数据需要保护,因为Oracle不能对其提供多份拷贝,如控制文件那样,所要采取硬件的形式提供多一份保护,故 我推荐的是RAID 0+1 |
数据文件 |
RAID 5 RAID 0+1 |
数据文件的大部分I/O操作都是在缓存中进行的,物理写入操作是在后台进行的,因此RAID 5既可以减少成本,又不影响性能,推荐它,如果是I/O操作非常频繁,RAID 5已经感觉速度较慢,那就采取RAID 0+1吧。 |
可能有的人看到这里会有疑问了,按照这样设计,那得用多少硬盘呀,是的,要想减少维护时间,增强数据安全性,保证应用性能,的确需要很多硬盘组成不 同形式的RAID。如果你还有疑问,下面是在空间规划时可以考虑的一些原则,可以参考:
◆如果你的预算充足,可以为所有Oracle文件采用RAID 0+1分开存储的方式。
◆为了减少成本,可以将数据文件放在RAID 5阵列上。
◆如果还想再减少一点成本,可以将所有的数据文件都放在RAID 5阵列上。
◆如果都还不行,那可以将归档日志文件和回滚/重 做表空间放在RAID 5阵列上。
◆最后,只能将所有的文件都使用RAID 5来存放了。
【其他参考2】
RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。 磁盘阵列其实也分为软阵列 (Software Raid)和硬阵列 (Hardware Raid) 两种. 软阵列即通过软件程序并由计算机的 CPU提供运行能力所成. 由于软件程式不是一个完整系统故只能提供最基本的RAID容错功能. 其他如热备用硬盘的设置, 远程管理等功能均没有. 硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能. 不依靠系统的CPU资源.
由于硬阵列是一个完整的系统, 所有需要的功能均可以做进去. 所以硬阵列所提供的功能和性能均比软阵列好. 而且, 如果你想把系统也做到磁盘阵列中, 硬阵列是唯一的选择. 故我们可以看市场上 RAID 5 级的磁盘阵列均为硬阵列. 软阵列只适用于 Raid 0 和 Raid 1. 对于我们做镜像用的镜像塔, 肯定不会用 Raid 0或 Raid 1。作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,巳经发展了六个级别, 其级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。下面就介绍这四个级别。
RAID 0:将多个较小的磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个磁盘并列起来,成为一个大硬盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。 所以,在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 1:两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个磁盘错,可靠性最。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因 为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%, 是所有RAID上磁盘利用率最低的一个级别。
RAID Level 3 :
RAID 3存放数据的原理和RAID0、RAID1不同。RAID 3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它象RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID
控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。不过,如果校验盘(物理)损坏的话,则全部数据都无法使用。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。
RAID 5:向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个盘上,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样, 任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。