XFS是SGI公司开发的文件系统,相比于其他的文件系统有很多的优势,比如扩展性(支持最大的文件和分区)、性能、快速恢复、日志型的有效结构等等,参照 [url]http://oss.sgi.com/projects/xfs/[/url]。 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源文件包可以从第三方下载,推荐到 [url]http://sandeen.net/rhel5_xfs/[/url]下载,里面有相应的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现有的文件包,比如到 [url]http://mirror.centos.org/centos/5/centosplus/x86_64/RPMS/[/url] 下载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的方式:-)