oracle文件存储介质介绍
1. 前言
现在我们用户中随着ORACLE的应用越来越复杂,对于ORACLE文件存储也再不象以前这么简单D盘,C盘的规划,特别是linux环境加上RAC的应用对存储介质有了进一步的要求。我们在这种情况下配置ORACLE数据库常常会遇到诸如数据文件是存储在Ext2、Ext3下好还是ASM、ocfs或者裸设备(raw)下好?他们各有什么有缺点?在那种环境下使用?等等问题。那么我们接下来就对常见的几种文件存储介质进行介绍比较,希望对大家以后在部署数据库环境时,能有所帮助。
2. 常见存储介质介绍
3.1.
Ext2
Ext2(second extended
filesystem),全称第二扩展文件系统,是Linux缺省情况下使用的文件系统,是一种非常成熟、稳定的文件系统。它的主要特点是读写文件的性能非常好,特别是对于中、小型的文件更显示出优势,这主要得意于它的一种叫做簇快取层的优良设计。由于它的这个优良特性,因此Linux发行版把使用Ext2作为默认的文件系统。
3.2.
Ext3
ext3是ext2的升级版本,在保持Ext2优良的特性基础上加入了记录元数据的日志功能,因此ext3也被称为日志式文件系统。正是有了这个功能,ext3在数据安全性上比ext2有所增强,提高了文件系统的完整性,避免了意外宕机对文件系统的破坏,同时,其性能上也与Ext2相差不大,基于其在安全性上的优点,因此RHEL
3 版本后Ext3被作为默认的文件系统使用。
3.3.
ocfs2
ocfs(oracle cluster file
system)oracle集群文件系统是专门为RAC环境开发的,ocfs2是ocfs的下一代,已经是一种通用的集群文件系统。集群文件系统的特点就是使运行在集群中所有节点并发的通过标准文件系统接口来访问存储设备,这给管理跨越整个集群的应用系统带来方便,也就是说ocfs2是专门为集群开发的文件系统,我们用得最多的是在RAC环境下使用。
3.4.
ASM
asm(Automatic Storage
Management)自动存储管理是10g推出的新特性。他通过把一组物理磁盘集合成一个磁盘组,类似于一个文件系统,在管理磁盘上提供了便利和灵活。在性能上由于他不进行缓冲,而且对I/O可以自动分配到所有磁盘,而且支持异步
I/O,因此性能上比一般的文件系统要好,是ORACLE未来主推的一种存储文件的介质。
3.5.
裸设备
裸设备(raw),也被称为是一个原始分区,应用程序直接通过设备驱动程序对它进行访问,跳过了操作系统层,因此在一定程度上能够提高I/O性能,适合I/O量大的系统。
以上就是我们经常使用的存储ORACLE数据文件的介质,那他们之间各有什么有缺点?我们在具体环境中如何做选择呢?下面我们就对这些介质进行个比较、分析。
3. 常见存储介质比较
在我们选择存储介质的时候,最关注的主要有以下几点
3.1. 介质稳定可靠
我们在考虑存储介质时候,首先第一就是要考虑是否稳定可靠,存储介质是一切稳定的基础,如果把文件放在一个不稳定、安全系数不可靠的介质上,及时该存储介质性能再好,对于数据库和用户来说都是灾难。
3.2. I/O访问性能
除了稳定性,另外一个重要指标就是I/O访问性能,因为应用程序同数据文件的交互的好坏,最终反映到存储介质上就是I/O的性能。因此一个访问性能好的存储介质,对于数据库的性能影响是非常的巨大,也是我们部署oracle文件存储的重点考虑因素。
3.3. 实施部署难易
在考虑一种存储介质的时候,还得考虑其实施部署的难易,越简单的部署意味着我们在实施的流程越短、实施过程对业务系统的影响就越小。在部署过程中遇到的意外情况的几率也就越小,对我们实施工程师的要求也相对容易。
3.4. 管理维护方便
后期的管理维护也是我们考虑存储介质的一个重要指标,因为用户的管理水平参差不齐。方便的管理有助于用户快速的掌握、日常的状态监控也相对简单,对于系统的稳定运行是非常重要的一点。
3.5. 备份恢复方式
由于存储介质中都是存放的ORACLE的重要文件,如:数据文件、控制文件等,因此其备份、恢复方式的难易就尤为重要,一种好的备份、恢复方式,意味着一旦出现故障,快速重建环境的及时性将大大的提高。
了解了这些要点,我们来综合比较常见存储介质上面几点特性的情况,如下表:
介质
EXT2
EXT3
OCFS2
ASM
RAW
介质稳定可靠
作为技术已经成熟的文件系统,其稳定性已经得到了充分认证,但是无日志功能,出现故障后恢复麻烦
是EXT2的升级版本,为日志系统文件,通过记录日志使安全性能得到提高。
比起前一代OCFS在稳定性上已经有了很大进步,技术上还不太成熟,一般不建议在生产环境中存储数据文件。
作为ORACLE主推的一种文件存储介质,其稳定、可靠性都比较高。
RAW由于简单,脱离操作系统层,所以非常稳定
I/O访问性能
在文件系统中,存取文件的性能极好
由于多了日志功能,存取文件的性能比EXT2稍有下降,不过相差不大
ocfs2在性能已经有了很大提高,官方说只比RAW低5%,实际情况在2%左右
ASM由于少了操作系统层,因此在性能上与RAW相差不大
由于应用程序直接访问,所以在所有存储介质中性能是最优秀的
实施部署难易
linux默认的文件系统,默认安装,部署简单
linux3后默认的文件系统,默认安装,部署简单
部署复杂,需要单独部署
部署比较复杂,需要单独部署
部署简单
管理维护方便
管理方便,几乎不需要单独的管理
管理方便,几乎不需要单独的管理
管理方便,类似于共享磁盘的管理
管理稍显复杂,必须要通过ORACLE就行管理,不过对于后期磁盘扩容比较方便
管理复杂,特别是对于数据文件,必须一个数据文件划分一个锣设备,后期扩容麻烦。
备份恢复方式
备份恢复方便,文件拷贝复制、粘贴
备份恢复方便, 文件拷贝复制、粘贴
备份恢复方便, 文件拷贝复制、粘贴
备份恢复麻烦,文件拷贝必须连接数据库
备份恢复麻烦,文件拷贝用dd命令
4. 选择合适存储介质
日常工作中,我们在选择存储介质时,一般基于以下三点:1.oracle是否支持;2、是否稳定可靠;3、性能是否能满足要求。当选择一个存储介质时,性能并不是最重要的一点。例如,如果一个性能不错存储介质有损坏或丢失的风险,我们是不会选择这样的存储介质的。因此结合这些存储介质的特点和我们部署环境的不同,我们推荐的存储介质情况如下:
4.1. 单节点
推荐:Ext3
其他:Ext2、Raw
理由:单节点的数据库一般要求是快速部署、管理维护简单。既然用户环境运行在单节点上,数据库本身的复杂性肯定就不高,这样我们在实施过程中,也就不必把存储介质部署得太复杂。一般来说,linux下默认的文件系统Ext2、Ext3就已经满足要求,我们建议用Ext3来部署,因为其是日志文件系统,在数据安全方面有更好的保障且性能也与Ext2相差不大,如果对性能要求特别高,可以考虑用Raw,当然,维护和管理可能略为麻烦。
4.2. 多节点(RAC)
推荐:ASM
其他:Ocfs2、Raw
理由:多节点也就是我们常说的集群环境,由于其特殊性,因此一般采用集群文件系统,我们这里推荐ASM来存储数据文件。因为无论在I/O性能还是在管理上,ASM都有其非常不错的优越性。而且ORACLE也是对其非常的推崇,虽然其部署稍微有点麻烦,当时相对于其他存储介质,其优点完全可以弥补这点不足。Ocfs2一般建议不要运用于生产环境,因为他的稳定性还不是非常可靠,ORACLE还在完善其结构,相信以后会是一种不错的选择。Raw虽然在性能上是最好的,但是其管理略显复杂,结合我们HIS的特殊环境(数据文件比较多),因此一般不推荐使用。
5. 结语
通过前面的介绍,我们知道了在选择存储介质的时候,性能并不是最重要的一点,而应该把握3点原则:1.oracle是否支持;2、是否稳定可靠;3、性能是否能满足要求。然后综合参考前面提到的5个重点考虑因素,最后选择最适合的存储介质。当然,后期的监控和维护也是非常重要的,我们在选择了存储介质后,不能保证其永远不出问题,左右做好后期的日常维护和监控,才能确保我们的系统运行稳定,数据更加安全。