我使用內核 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。