カーネル 5.4 の最新の Debian Testing で mergerfs を実行します。
Linux ches-disk0 5.4.0-4-amd64 #1 SMP Debian 5.4.19-1 (2020-02-13) x86_64 GNU/Linux
これは、3 つのディスク アレイ、2 つの E5-2603v3 CPU、16 GB のメモリを備えた Dell R730 サーバー上にあります。各アレイはハード RAID6 で、1 つの ZFS プールがあります。Mergerfs はそれらを結合します。
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
私はslurmで2つのノードを持っており、nfsからmergerfsディスクを共有しています
*(rw,fsid=1,async,no_subtree_check)
現在、大量の連続 I/O と複数の小さなサイズのファイルに対応する場合、mergerfs プロセスは CPU の 200 ~ 400% を消費し、I/O は数十分にわたってそこで停止します。ファイル サーバーを再起動すると、ジョブは一定期間実行されます。
では、この場合のベストプラクティスの mergerfs は何でしょうか? マニュアルから use_ino と noforget に気づき、nfs サーバーに async を使用します。