커널 5.4를 사용하는 최신 데비안 테스트로 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 풀을 갖습니다. 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에서 mergefs 디스크를 공유합니다.
*(rw,fsid=1,async,no_subtree_check)
이제 대규모 연속 I/O를 충족할 때 여러 개의 작은 크기 파일이 필요합니다. mergefs 프로세스는 200-400%의 CPU를 사용하고 I/O는 수십 분 동안 거기에서 멈췄습니다. 파일 서버를 다시 시작하면 일정 기간 동안 작업이 실행됩니다.
그렇다면 이 경우에 대한 최고의 mergefs 방법은 무엇입니까? 매뉴얼에서 use_ino와 noforget을 확인하고 nfs 서버에 비동기를 사용합니다.