您所在的位置:IT专家堂 > 数据库 > Oracle服务器如何科学组织RAID阵列

Oracle服务器如何科学组织RAID阵列

2008-11-28 10:30 黄永兵 译 51CTO.com 字号:T | T
一键收藏,随时查看,分享好友!

读者朋友可能对各个级别的RAID原理已经非常熟悉了,但面临在生产系统中选择最适合应用系统的RAID级别时,可能心里没有底,本文就oracle数据库服务器在选择RAID阵列级别时做一个介绍。

AD:

【51CTO独家特稿】我们在部署服务器时通常都免不了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 0或不使用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来存放了。 
 

【编辑推荐】

  1. 连接Oracle服务器软件的两种模式
  2. Oracle服务器参数文件spfile的使用
【责任编辑:李明源 TEL:(010)68476606】



分享到:

栏目热门

更多>>

同期最新

更多>>

  • 头条 使用检查约束验证SQL Server中的数据
  • 构建应用程序最关键的目标之一是确保所有进入数据库的数据都要符合你的业务规则,数据校验是应用程序的关键部分,确保你的数据满足业务分析师制定的需求。本文将给大家介绍如何使用检查约束验证SQL Server中的数据。
  1. 对话职业经理人阿朱:程序员转型期的职业选择
  2. 从检测到防护:全面打造网站安全

热点职位

更多>>

热点专题

更多>>

读书

程序设计实践双语版
程序设计实践并不只是写代码。程序员必须评论各种折衷方案,在许多可能性之中做出选择、排除错误、做测试和改进程序性能,还要维

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院 区块链第一聚合媒体 zhijiapro