将 fs 与 nfs 合并的最佳实践是什么?

将 fs 与 nfs 合并的最佳实践是什么?

我使用内核 5.4 的最新 Debian 测试运行 mergefs。

Linux ches-disk0 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux

它位于具有3个磁盘阵列的Dell R730服务器上,CPU是2个E5-2603v3和16GB内存。每个阵列都是硬 raid6,并有一个 zfs 池。合并将它们结合在一起。

fuse.mergerfs   defaults,use_ino,allow_other,noforget,cache.files=auto-full,threads=0,dropcacheonclose=true,ignorepponrename=true,cache.readdir=true,cache.statfs=60,minfreespace=100G,cache.symlinks=true,fsname=mergerfs,category.create=mfs,func.getattr=newest,x-systemd.requires=zfs-mount.service

我有 2 个带有 slurm 的节点,从 nfs 共享 mergefs 磁盘

 *(rw,fsid=1,async,no_subtree_check)

现在,当遇到大量连续I/O、多个小文件时。 mergefs 进程占用 200-400% 的 cpu,并且 I/O 停留在那里数十分钟。如果我重新启动文件服务器,那么该作业将执行一段时间。

那么,对于这种情况,合并的最佳实践是什么?我注意到手册中的 use_ino 和 noforget,并对 nfs 服务器使用 async。

相关内容