1 EXT文件系统
EXT1是在1992年4月,为linux核心所做的第一个文件系统,采用Unix文件系统(UFS)的元数据结构。是Linux上第一个利用虚拟文件系统实现出的文件系统,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系统。
EXT2是1993年1月加入linux核心支持之中,从 Ext 2开始,商业版要收费了。这可能会影响一些他的应用前景 。
ext2 的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。
EXT3是2001年11月(Linux 2.4.15)发布的。增加了日志功能,能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。
Ext4是由Ext3的维护者Theodore Tso领导的开发团队实现的,并引入到Linux2.6.19内核中。2008年12月25日,Linux Kernel 2.6.28的正式版本发布。随着这一新内核的发布,Ext4文件系统也结束实验期,成为稳定版。
2 XFS文件系统
Redhat系列的Linux默认使用的是ExtX和XFS。从Linux 7开始,RHEL/CentOS都是默认使用了XFS。
XFS一种高性能的日志文件系统,XFS的开发始于1993年,在1994年被首次部署在IRIX 5.3(UNIX系统)上。2000年5月,XFS在GNU通用公共许可证下发布,并被移植到Linux上。2001年XFS首次被Linux发行版所支持,现在所有的Linux发行版上都可以使用XFS。
XFS之前版本上的元数据操作曾比其它文件系统都慢,表现为在删除大量小文件时性能糟糕。该性能问题是被Red Hat的XFS开发者Dave Chinner在代码中定位到的。后来,使用一个叫“延迟记录”的挂载选项可以成数量级地提升元数据操作的性能。该选项几乎把日志整个存在内存中。
Linux内核主线版本2.6.35中作为一个试验性特性引入了这个补丁,在2.6.37中使它成为了一个稳定的特性,并计划在2.6.39中把它作为默认的日志记录方法。早期测试显示在有少量线程的环境中其性能接近EXT4,在大量线程的环境下超过了EXT4 。
3 数据库的选择
对于MySQL,已经有很多人测试过,xfs 格式比ext4 的性能要好。
对于Oracle,在MOS文档中没有明确说明应该使用哪个文件系统,但提到了不推荐使用的btrfs。
Supported and Recommended File Systems on Linux (Doc ID 236826.1)
btrfs: not recommended for Oracle RDBMS data files (KM 2290489.1)
Recommended File Systems
There are various file systems available for Linux OS:
XFS is designed for high scalability and provides near native I/O performance even when the file system spans multiple storage devices - XFS Filesystem on Oracle Linux. Beginning with Oracle Linux 7, XFS is the default file system and is included with Basic and Premier Support subscriptions, at no additional charge.The ext3, ext4 file systems are robust. ext3 is simply the enhanced ext2 filesystem with a journaling feature. ext3 is the default filesystem for RHEL3 and 4. ext4 was developed as the successor of ext3. It provides features for large filesystems, performance, increased limits, and reliability.
从官网文档看,Oracle 是比较认可XFS 文件系统的,虽然没有明确说明推荐使用,但因为在Linux 7以后默认都是XFS,所以对于7以后版本的linux,建议使用XFS 格式来安装Oracle 数据库。
版权声明:本文为博主原创文章,未经博主允许不得转载。