首先,还是来看看常用的几个RAID级别之间的优缺点。
RAID级 |
优缺点描述 |
不用RAID |
|
RAID0 |
|
RAID1 |
|
RAID0+1 |
|
RAID 5 |
RAID 5可以理解为RAID 0和RAID 1的折中方案,RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。要实现这种RAID,最少要3块硬盘,允许其中一块硬盘坏掉而不影响操作系统和应用程序。 |
先规划一下哪些磁盘存放什么文件,然后再看这些文件的读写性能要求,按照性能要求再做对应的RAID级别阵列。下面是Oracle中涉及到的文件类型及我们推荐使用的RAID级别,并阐述了推荐的理由:
文件类型 |
推荐RAID级别 |
推荐理由 |
控制文件 |
不用RAID RAID 0 RAID 0+1 |
我推荐了3种RAID级别来存储控制文件。 因为控制文件经常更新,所以速度越快越好。但使用RAID 0或不使用RAID存储控制文件时需要小心,要做好备份工作,还有一点需要注意的就是最好使用多个控制文件,一个坏了,说不定其他几个还是好的,这样就可以直接用好的控制文件覆盖坏掉的进行恢复。 |
在线重做 日志文件 |
不用RAID RAID 0 RAID 0+1 |
|
临时数据 文件 |
不用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来存放了。