XfS文件系统是SGI开发的中级日志文件系统,XFS极具伸缩性,十分强健。所幸的是SGI将其移植到了Linux系统中。在linux环境下。目前版本可用的最新XFS文件系统的为1.2版本,可以挺好地工作在2.4核心下。
XFS文件系统简介
主要特点包括以下几点:
数据完全性
采用XFS文件系统,当意想不到的宕机发生后,首先,因为文件系统开启了日志功能,所以你c盘上的文件不再见意外宕机而遭受破坏了。不论目前文件系统上储存的文件与数据有多少,文件系统都可以依据所记录的日志在很短的时间内迅速恢复c盘文件内容。
传输特点
XFS文件系统采用优化算法,日志记录对整体文件操作影响十分小。XFS查询与分配储存空间特别快。xfs文件系统能连续提供快速的反应时间。笔者以前对XFS、JFS、Ext3、ReiserFS文件系统进行过测试,XFS文件文件系统的性能表现相当出色。
可扩充性
XFS是一个全64-bit的文件系统,它可以支持上百万T字节的储存空间。对特大文件及小规格文件的支持都表现出色,支持特大数目的目录。最大可支持的文件大小为263=9x1018=9exabytes,最大文件系统规格为18exabytes。
XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。XFS才能持续提供高速操作,文件系统的性能不受目录中目录及文件数目的限制。
传输带宽
XFS能以接近裸设备I/O的性能储存数据。在单个文件系统的测试中,其吞吐量最高可达7GB每秒,对单个文件的读写操作,其吞吐量可达4GB每秒。
XFS文件系统的使用下载与编译内核
下载相应版本的内核补丁,解压补丁软件包,对系统核心打补丁
下载地址:ftp:///projects/xfs/d….4.18-all.patch.bz2
对核心打补丁linux使用什么文件系统linux文件系统,下载解压后,得到一个文件:xfs-1.1-2.4.18-all.patch文件。
对核心进行修复如下:
# cd /usr/src/linux
# patch -p1 < /path/to/xfs-1.1-2.4.18-all.patch
修复工作完成后,下一步要进行的工作是编译核心,将XFS编译进Linux核心可中。
首先运行以下命令,选择核心支持XFS文件系统:
#make menuconfig
在“文件系统“菜单中选择:
SGIXFSfilesystemsupport##说明:将XFS文件系统的支持编译进核心或SGIXFSfilesystemsupport##说明:以动态加载模块的形式支持XFS文件系统
另外还有两个选择:
Enable XFS DMAPI ##说明:对磁盘管理的API,存储管理应用程序使用
Enable XFS Quota ##说明:支持配合Quota对用户使用磁盘空间大小管理
完成以上工作后,退出并保存核心选择配置
以后,之后编译内核,安装核心:
#make bzImage
#make module
#make module_install
#make install
假如你对以上复杂繁杂的工作没有耐心或没有掌握,这么可以直接从SGI的站点上下载早已打好补丁的核心,其版本为2.4.18。它是一个rpm软件包,你只要简单地安装即可。SGI递交的核心有两种,分别供smp及单处理器的机器使用。
创建XFS文件系统
完成对核心的编译后,还应下载与之配套的XFSprogs工具软件包,也即mkfs.xfs工具。不然我们难以完成对分区的低格:即未能将一个分区格式化成XFS文件系统的格式。要下载的软件包名称:xfsprogs-2.0.3。
将所下载的XFSProgs工具解压,安装,mkfs.xfs手动安装在/sbin目录下。
#tar –xvf xfsprogs-2.0.3.src.tar.gz
#cd xfsprogs-2.0.3src
#./configure
#make
#make install
使用mkfs.xfs低格c盘为xfs文件系统,技巧如下:
# /sbin/mkfs.xfs /dev/sda6 #说明:将分区格式化为xfs文件系统,以下为显示内容:
meta-data=/dev/sda6 isize=256 agcount=8, agsize=128017 blks
data = bsize=4096 blocks=1024135, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=0
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=1200
realtime =none extsz=65536 blocks=0, rtextents=0
低格c盘时,假若mkfs.xfs提示你分区起初已被低格为其它文件系统,可以使用参数–f强行低格:
#/sbin/mkfs.xfs –f /dev/sda6
加载XFS文件系统
#mount –t xfs /dev/sda6 /xfs
其中/xfs是主分区/下的一个目录。
最后,为了让系统启动后就手动加载,应当修改/etc/fstab,这样系统启动后才会手动加载xfs分区而毋须每次都手工加载。
要说明的一点是目前的xfs因为受linux显存页限制,在x86版本中,只能实现文件系统的块规格为4K。另外,XFS文件系统可以不同的形式mountlinux vi 命令,即容许文件系统以读方法加载,也容许以读写方法加载。这是由于xfs文件系统用作根文件系统时,为了安全要以只读形式加载。
文件系统的迁移
要促使系统中的其它分区使用XFS文件系统,还有一步是迁移文件系统。建议在迁移文件系统时,首先将c盘上的数据、文件先备份,以免发生不可挽回的损失,在进行文件系统转换之间,最好能将整个系统进行完全备份。这一步有好多种方式,本文仅就笔者的迁移方式加以描述。诸位可以根据自己习惯的方法去完成
假如你想得到一个纯的xfs系统(系统的所有文件系统均采用XFS文件系统)话,还得将根文件系统也低格为xfs文件系统。这实际上是比较繁琐的一步。由于根文件系统不能被umount,所以,必须首先创建一个分区,其文件系统为ext2文件系统,之后将目前的根分区上的所有文件与目录,原起初本地复制到这一个分区,之后修改/etc/fstab文件,替换原先的根分区。
方式如下:
$ mkfs -t ext2 /dev/hda4
$ mkdir /mnt/temp
$ mount -t ext2 /dev/hda4 /mnt/temp
$ cd /
$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
以上操作是将根分区上的所有文件打包,复制到新构建的分区。其实,你也可以直接使用以下命令复制文件。
# cp –dpR / /mnt/temp
接着,将上次启动的根分区修改到/dev/hda4分区,修改/etc/fstab文件及/etc/lilo.conf,之后,运行lilo.
重新启动后,新的根分区就早已为/dev/hda4。
接出来,创建一个xfs文件系统的分区:
$ mkfs -t xfs /dev/hda2
加载此分区,采用两样的方式,将根分区的内容复制到此分区
$ mount -t xfs /dev/hda2 /mnt/temp
在根分区下,运行
$ cd /
$ tar lcvf - .|(cd /mnt/temp; tar xpvf - )
再度修改/etc/fstab、/etc/lilo.conf,用新建的xfs分区替换原先的ext2主分区。如下所示:
/dev/hda2 / xfs defaults 1 1
将新建的xfs分区用作根分区,保存以上设置。再度检测配置文件内容,确认无误后再重新启动系统。假如你的设置全部正确,这么系统成功启动后,你就拥有一个纯XFS文件系统的系统了。
让您学习到的每一节课都有所收获
《Linux就该如此学》是一本由资深运维专家刘遄老师及国外多名红帽构架师(RHCA)基于最新RHEL7系统共同编撰的高质量Linux技术自学教程,十分适宜用于Linux技术入门教程或授课辅助教材。入选双十一、双12购物狂欢节IT品类书籍销量亚军,2017年、2018年国外读者增长最快的技术书籍linux使用什么文件系统,您可以在易迅、当当、亚马逊及淘宝搜索书名后订购,亦可加刘遄老师陌陌交流学习(右手按住右图3秒钟即可手动扫描)~