XFS文件系统简介 Linux中使用XFS文件系统的配置方法

一、XFS文件系统简介
XFS文件系统是SGI开发的高级日志文件系统,具有以下特性: - 数据完全性:开启日志功能,当发生宕机后,磁盘文件不会因意外宕机而遭到破坏。不论文件和数据的存储量多少,都能依据日志在短时间内迅速恢复磁盘文件内容。而且XFS采用优化算法,日志记录对整体文件操作影响极小,查询与分配存储空间速度快,能连续提供快速反应时间。 - 性能出众:与JFS、Ext3、ReiserFS文件系统相比,XFS文件系统性能表现相当出众。它采用优化算法,日志记录对整体文件操作影响小,查询与分配存储空间快,能持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。 - 可扩展性:是全64 - bit的文件系统,可以支持上百万T字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为18 exabytes。使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。 - 高传输带宽:在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
二、Linux中使用XFS文件系统的配置方法
(一)下载与编译内核
- 下载补丁
- 下载相应版本的内核补丁,下载地址:ftp://oss.sgi.com/projects/xfs/download/Release - 1.1/kernel_patches/xfs - 1.1 - 2.4.18 - all.patch.bz2。
- 打补丁
- 解压补丁软件包后得到xfs - 1.1 - 2.4.18 - all.patch文件,在/usr/src/linux下执行:#patch - p1/path/to/xfs - 1.1 - 2.4.18 - all.patch进行核心修补。
- 编译核心
- 运行#makemenuconfig,在“文件系统”菜单中选择:
-
- SGI XFS filesystem support(将XFS文件系统的支持编译进核心);
- M SGI XFS filesystem support(以动态加载模块的方式支持XFS文件系统);
- 另外还有两个选择:Enable XFSDMAPI(对磁盘管理的API,存储管理应用程序使用);Enable XFSQuota(支持配合Quota对用户使用磁盘空间大小管理)。完成选择后,退出并保存核心选择配置。
-
- 接着编译内核,依次执行命令:
-
makebzImage;
-
makemodule;
-
makemodule_install;
-
makeinstall。如果不想进行上述复杂操作,也可直接从SGI的站点上下载已经打好补丁的核心(版本为2.4.18,有供smp及单处理器的机器使用的两种类型,为rpm软件包,直接安装即可)。
-
(二)创建XFS文件系统
- 下载工具软件包
- 下载xfsprogs - 2.0.3软件包,执行命令:
-
tar–xvfxfsprogs - 2.0.3.src.tar.gz;
-
cdxfsprogs - 2.0.3src;
-
./configure;
-
make;
-
makeinstall,这样mkfs.xfs就自动安装在/sbin目录下了。
-
- 格式化磁盘
- 使用mkfs.xfs格式化磁盘为xfs文件系统,例如:#/sbin/mkfs.xfs/dev/sda6。如果mkfs.xfs提示分区原本已被格式化为其它文件系统,可以使用参数–f强行格式化。格式化后的显示内容示例:meta - data=/dev/sda6isize = 256agcount = 8,agsize = 128017blksdata = bsize = 4096blocks = 1024135,imaxpct = 25 = sunit = 0swidth = 0blks,unwritten = 0naming = version2bsize = 4096log = internallogbsize = 4096blocks = 1200realtime = noneextsz = 65536blocks = 0,rtextents = 0。
(三)加载XFS文件系统
- 临时加载
- 执行命令:#mount–txfs/dev/sda6/xfs(其中/xfs是主分区/下的一个目录)。
- 设置开机自动加载
- 更改/etc/fstab文件,这样系统启动后就会自动加载xfs分区,不必每次都手工加载。