Linux系统XFS文件系统简介

Linux系统XFS文件系统简介

从Centos 7开始Linux原来默认的ext4文件系统已经变成了xfs文件系统了,使用功能更加强大的xfs文件系统的原因可以总结如下:

1、ext系列文件系统的优缺点是支持度最广,但是做成文件系统所使用的时间漫长;

这是因为ext系列文件系统在进行格式化时已经分配好i节点、区块、元数据等数据,做成ext文件系统后就可以直接使用,不需要再进行动态配置,这就是它的命门所在,当磁盘容量还不大的情况下可以接受,但是磁盘很大的情况下,创建文件系统的过程就非常漫长了。而现在的系统特别是虚拟化系统的文件都很大,在处理大文件时就应该考虑到性能问题。而xfs文件系统更加适合高容量磁盘与巨型文件,且性能较好的文件系统,其工作原理与ext系列文件系统不太一样。

2、xfs文件系统的配置特点

跟ext文件系统一样,从ext3开始ext系列文件系统就具有日志功能,而xfs基本上就是一个日志文件系统,并且xfs文件系统几乎支持所有的ext4文件系统的功能。

xfs文件系统的规划配置:

其规划为三个部分:①数据区(data section)②文件系统活动登录区(log section)③实时运行区(realtime section)等。

各个部分的内容如下:

⑴数据区(data section)

这个部分跟ext系列一样,包括i节点、数据区块、超级区块等数据,其也分多个存储区群组(allocation groups)来分别放置文件系统所需要的数据。每一个存储区群组都会包含:①整个文件系统的超级区块;②剩余空间的管理机制;③i节点的分配与追踪。此外,其i节点与区块都是要使用时才动态配置产生,所以格式化超级快。如图3-13所示。

Linux系统XFS文件系统简介

在xfs文件系统中,区块与i节点的容量大小的配置选择问题,区块的容量可在512B~64K之间选择,但是,由于其它原因(如页面文件pagesize的容量)等,最高只可选择4K的容量。i节点的容量可以在256B~2MB之间进行选择,在Centos 7中默认会选择512B,通常选择256B即可。

⑵文件系统活动登录区(log section)

这个区就像日志一样主要用来记录文件系统的变化情况,当文件发生变化时,就会在这个区中记录下来,一直到该变化完整地写入到数据区后,该条记录才会被结束。并且当系统崩溃时,也会在这个区中检验损坏情况,因此,这个区活动相当频繁,也因为文件系统的所有操作都是在这个区中做个记录。在xfs文件系统中这个区支持指定外部的存储设备来保存这个区块的内容,因此,你可以选择存取速度更快的磁盘来存储这些数据。

⑶实时运行区(realtime section)

它的工作过程是这样的,当有文件被创建时,会在这个区段里找一个或多个的extent区块(根据文件大小选择区块的数据),并把文件暂时放置到这个区块内,等到分配完成后,再写入到数据区(data section)中的i节点与区块中

extent区块的大小要在格式化的时候要先指定大小,它的值在4K~1G之间。一般非磁盘陈列的磁盘默认为64K容量,而如果具有类似磁盘陈列的stripe情况下,则应该将其大小设置为与stripe一样大,通常情况下这个值不改变为最好,因为它会影响到物理磁盘的性能。

3、查看XFS文件系统的描述信息

可以使用xfs_info命令去查看已经格式成xfs文件系统的描述信息,如下图3-14所示。

Linux系统XFS文件系统简介


解释:

meta-data这一行,isize指i节点的容量,其大小为512B,agcount则为AG(存储区群组)的数量,其值为4个,agsize指每个存储区群组的区块个数,其值为131007个,而区块的大小为4K,因此,整个文件系统的容量可以这样计算:4×131007×4K=2096112K约为2G。

data 这一行,bsize则为区块的容量,每个区块的容量是4K,其有524027个区块。

log这一行,log=internal,表示这个登录区的位置在文件系统内,而不是外部设备的意思,其容量为4096×2560=10485760KB≈10MB。

上面所列的数值,如果值为0的一般是没有定义。


分享到:


相關文章: