linux ext4文件系统启用fast_commit优化IO 性能提升高达200%

自从linux 5.10内核发布以后,硬盘IO性能获得巨大提升.
主要原因就是ext4获得大量补丁,尤其是google提供的fast_commit优化补丁作用巨大
根据相关数据显示,基础测试性能提升20-200% ,NFS 性能提升30-75%
本文教你如何开启ext4文件系统的fast_commit优化性能

1.ext4文件系统启用fast_commit的依赖文件

linux 5.10 kernel (必须)
e2fsprogs v1.45.6 (最低版本要求)(必须)

2.编译安装e2fsprogs

由于目前的发行版自带的e2fsprogs均达不到最低版本
我们需要自己编译e2fsprogs
wget  https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/v1.46.4/e2fsprogs-1.46.4.tar.gz --no-check-certificate
tar zxvf  e2fsprogs-*.tar.gz
cd e2fsprogs-1.46.4
./configure   --enable-elf-shlibs --disable-libblkid --disable-libuuid --disable-uuid --disable-fsck
make && make install

3.ext4文件系统启用fast_commit

#直接启用,注意替换你的硬盘名称
tune2fs -O fast_commit  /dev/vda1
#检测fast_commit是否开启
tune2fs -l   /dev/vda1 | grep features
#禁用fast_commit,提高兼容性
tune2fs -O ^fast_commit   /dev/vda1

cat /proc/fs/ext4/vda1/fc_info
注意:重启系统才能生效!

4.ext4文件系统启用metadata_csum(备用)

metadata_csum统一支持32位校验,提升速度

4.1创建ext4时启用

mkfs.ext4 -i 8192 -O metadata_csum,64bit,fast_commit /dev/vda1

4.2对未挂载的ext4硬盘启用

#全盘检测与优化
e2fsck -Df /dev/vda1  
#转换成64BIT
resize2fs -b /dev/vda1
#启用metadata_csum
tune2fs -O metadata_csum /dev/vda1

4.3查看是否启用metadata_csum

dumpe2fs -h /dev/vda1 | grep features:

修复blkid 1.0问题

如果遇到问题可以自己安装util-linux包修复
或者 yum install libblkid

参考文章:
https://wiki.archlinux.org/title/Ext4#Enabling_fast_commit_in_existing_filesystems
https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums
http://e2fsprogs.sourceforge.net/

此处评论已关闭