我想问一下可用于测试 Linux 文件系统的测试套件。我正在寻找更多的压力和负载测试套件,它们可以对系统施加压力,通过验证它写入的数据来发现损坏,等等。
是否有这样的工具既可用于本地 FS(如 ext*),也可用于网络协议(protocol)(如 NFS/CIFS)?
提前致谢。
最佳答案
让我们专注于您问题的具体部分。将为以下 Linux 文件系统提供工具和套件:ext4、CIFS、NFS。
通用测试套件(用于正确性和健壮性)
- xfstests - http://git.kernel.org/cgit/fs/xfs/xfstests-dev.git/tree/
- Linux 测试项目 (LTP) https://github.com/linux-test-project/ltp/tree/master/testcases/kernel/io , https://github.com/linux-test-project/ltp/tree/master/testcases/kernel/fs (xfstests 有时在此文件夹中有测试的较新副本)
- pjdfstest(POSIX 文件系统测试套件)- http://sourceforge.net/p/ntfs-3g/pjd-fstest/ci/master/tree/ (原作者版本参见https://github.com/pjd/pjdfstest)
"stress and load testing suites"
- fsx - https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/ltp/fsx.c是 fsx 的现代 Linux 版本(但也请参阅 Dave Jones 迷人的 fsx history(archive.org 链接)页面以了解此工具的背景)
- dbench - http://dbench.samba.org/
- crefi - https://github.com/vijaykumar-koppad/Crefi
- xdd - https://github.com/bws/xdd
- mtd-utils(包含断电测试)- http://git.infradead.org/mtd-utils.git/tree/HEAD:/tests
- fsync 断电测试 - https://gist.github.com/bradfitz/3172656
- 查看下面的 I/O 练习器(dt、fio、vdbench)
"find corruptions by validating the data"
- dt(I/O 练习器和验证器)- https://github.com/RobinTMiller/dt
- fio(I/O 练习器和验证器)- https://github.com/axboe/fio
- vdbench(I/O 练习器和验证器)- https://www.oracle.com/downloads/server-storage/vdbench-downloads.html
CIFS
- smbtorture(仅限后端)- https://git.samba.org/?p=samba.git;a=tree;f=source4/torture;hb=HEAD
- 参见下面的 Connectathon
网络文件系统
- Connectathon - http://git.linux-nfs.org/?p=steved/cthon04.git;a=tree
- Pynfs - http://git.linux-nfs.org/?p=bfields/pynfs.git;a=tree
- NFS 测试套件 - http://git.linux-nfs.org/?p=mora/nfstest.git;a=tree
- SGI NFS 测试工具 - https://web.archive.org/web/20090514072259/http://oss.sgi.com/projects/nfs/testtools/ (archive.org 链接,因为 HP 很久以前就关闭了 oss.sgi.com)
- Linux 测试项目 (LTP) NFS 测试 https://github.com/linux-test-project/ltp/tree/master/testcases/network/nfs , https://github.com/linux-test-project/ltp/tree/master/testcases/network/nfsv4
来源
关于linux - 文件系统测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565865/