让linux内核支持xfs文件系统

XFS 简介

XFS 最初是由 Silicon Graphics,Inc. 于 90 年代初开发的。那时,SGI 发现他们的现有文件系统(existing
filesystem,EFS)正在迅速变得不适应当时激烈的计算竞争。为解决这个问题,SGI 决定设计一种全新的高性能 64
位文件系统,而不是试图调整 EFS在先天设计上的某些缺陷。因此,XFS 诞生了,并于 1994 年随 IRIX 5.3
的发布而应用于计算。它至今仍作为 SGI 基于 IRIX 的产品(从工作站到超级计算机)的底层文件系统来使用。现在,XFS 也可以用于
Linux。XFS 的 Linux 版的到来是激动人心的,首先因为它为 Linux
社区提供了一种健壮的、优秀的以及功能丰富的文件系统,并且这种文件系统所具有的可伸缩性能够满足最苛刻的存储需求。

上面介绍转自:http://www.ibm.com/developerworks/cn/linux/filesystem/l-fs9/index.html,更多关于其他文件系统的介绍请看ibm的系列文章:文件系统系列

下面我们介绍如何让Linux内核支持xfs文件系统。

1. 安装rpm包

在redhat as4系统下,内核版本是 2.6.9-67.0.15.ELsmp,需要安装一下几个软件包。

kernel-module-xfs-2.6.9-67.0.15.ELsmp-0.4-1.x86_64.rpm
xfsprogs-2.9.3-1.x86_64.rpm
xfsprogs-devel-2.9.4-1.x86_64.rpm

 

2. 添加内核模块

insmod /lib/modules/2.6.9-67.0.15.ELsmp/kernel/fs/xfs/xfs.ko

 

可以看到

lsmod | grep xfs
xfs                   555088  1

 

3. 创建文件系统

mkfs.xfs -f -L /home /dev/sdc1
meta-data=/dev/sdc1              isize=256    agcount=16, agsize=4460421 blks
=                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=71366736, imaxpct=25
=                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096
log      =internal log           bsize=4096   blocks=32768, version=1
=                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

 

4. 测试

time dd if=/dev/zero of=zero count=4096000
real    0m7.096s

 

而在ext3文件系统上:

time dd if=/dev/zero of=zero count=4096000
real    0m14.180s

技术相关: