XFS是SGI公司开发的文件系统,相比于其他的文件系统有很多的优势,比如扩展性(支持最大的文件和

分区)、性能、快速恢复、日志型的有效结构等等,参照http://oss.sgi.com/projects/xfs/。 Linux最

早内嵌的文件系统是Ext2,后来是Ext3,以后会有Ext4,由于xfs的各种特点和众多的客户群,很多Linux

发行版也都开始内嵌对Xfs的支持,比如Suse/Knoppix/Debian Linux等,但目前Redhat由于技术支持等原

因并没内嵌xfs,所以我们如果希望使用xfs文件系统的话,就必须手工来添加。下文就是本人在RHEL5上按

装Xfs的手记。

 

   系统配置为RHEL5, 64位版本,Kernel 2.6.18-8.el5, 步骤如下。开始主要是一些准备工作,比如安

装RHEL5的内核源代码、rpmbuild工具以及gcc编译工具等等。

 

1)安装RHEL5的kernel源代码,安装光盘上有相应的devel RPM包,找到后执行以下命令
[root@localhost Server]# rpm -ivh kernel-devel-2.6.18-8.el5.x86_64.rpm
[root@localhost Server]# rpm -ivh kernel-xen-devel-2.6.18-8.el5.x86_64.rpm

 

2)安装rpmbuild RPM工具包,在安装盘上可以找到相应的文件,由于依赖关系,还需要安装另外两个RPM

包。
[root@localhost Server]# rpm -ivh elfutils-libs-0.125-3.el5.x86_64.rpm
[root@localhost Server]# rpm -ivh elfutils-0.125-3.el5.x86_64.rpm
[root@localhost Server]# rpm -ivh rpm-build-4.4.2-37.el5.x86_64.rpm

之后rpmbuild工具就安装成功了,可以使用man rpmbuild来查看一下如何使用。

 

3)安装gcc编译工具,相应的RPM包也可以在安装盘上找到,由于有依赖关系,还需要安装另外的一些相应

RPM包,相关的命令按照顺序如下。
[root@localhost Server]# rpm -ivh glibc-headers-2.5-12.x86_64.rpm
[root@localhost Server]# rpm -ivh glibc-devel-2.5-12.x86_64.rpm
[root@localhost Server]# rpm -ivh libgomp-4.1.1-52.el5.x86_64.rpm
[root@localhost Server]# rpm -ivh gcc-4.1.1-52.el5.x86_64.rpm

相关的准备工作做完了,以下就是如何安装xfs了。

 

4)由于RHEL5不提供对xfs的官方支持,相应的xfs源文件包可以从第三方下载,推荐到

http://sandeen.net/rhel5_xfs/下载,里面有相应的kmod源文件包 xfs-kmod-0.4-

2.2.6.18_8.el5.src.rpm,而且还可以在另外不同kernel版本的Linux下进行编译,非常方便。

 

5)编译xfs RPM包,由于我的Linux kernel版本和此软件包版本一致,所以只需要执行以下命令就Ok.
[root@localhost xfs]# rpmbuild --rebuild xfs-kmod-0.4-2.2.6.18_8.el5.src.rpm

 

6)成功后,在/usr/src/redhat/RPMS/x86_64目录下就生成了kmod-xfs-0.4-2.2.6.18_8.el5.x86_64.rpm和

kmod-xfs-xen-0.4-2.2.6.18_8.el5.x86_64.rpm 包,执行以下命令安装xfs kmod包。
[root@localhost x86_64]# rpm -ivh kmod-xfs-0.4-2.2.6.18_8.el5.x86_64.rpm
安装之后,可以通过以下命令确认
[root@localhost x86_64]# rpm -qa|grep xfs
xorg-x11-xfs-1.0.2-3.1
kmod-xfs-0.4-2.2.6.18_8.el5

 

7)大功基本告成了,xfs的模块文件就已经安装成功了,可以手工的来加载。
#modprobe xfs
之后通过lsmod就可以查看xfs模块已经成功加载了。

 

8)还有最后一步,安装xfs的管理工具包xfsprogs。由于Redhat不官方支持xfs,可以参照CentOS现有的文

件包,比如到http://mirror.centos.org/centos/5/centosplus/x86_64/RPMS/ 下载xfsprogs文件,然后

安装。
[root@localhost xfs]# rpm -ivh xfsprogs-2.9.4-1.el5.centos.x86_64.rpm

 

9)万事大吉了,xfs的管理工具包括创建、修改、迁移等等,都搞定了。可以使用man mkfs.xfs看一下命

令。之后使用fdisk做一个新的分区,比如/dev/sdb1,创建一个新的xfs文件系统,mkfs.xfs /dev/sdb1,

之后mount起来就可以使用了 mount /dev/sdb1 /mnt.

 

   如果需要每次启动自动mount文件系统的话,添加到/etc/fstab就ok了。xfs的模块会在监测到系统需要

mount含有xfs分区的时候自动加载,不需要手工干预,非常方便。当然,如果你是懒人的话,最好配置yum

,让系自动的来安装相应的文件包,而不是使用我这种step-by-step的方式:-)