我将在一些大型文件系统(大约50 TB)上测试’xfs_repair’,因为过去内存使用率很高.虽然我只能在正确的文件系统上测试程序,但在腐败的系统上测试它们会很好.
那么什么是破坏文件系统的最佳方法.如果该方法每次重复给出相同的损坏,则额外信用….
让人们了解我在2006年的意思是什么
“要在多TB文件系统上成功检查或运行修复,您需要:
> 64位机器
>一个64位xfs _ repair / xfs _ check二进制文件
每TB文件系统大约2GB RAM
>文件系统中每百万个inode> 100-200MB RAM.
xfs_repair通常会使用比这更少的内存,但是这些数字可以为您提供大型文件系统的大概数据. 80%满可以要求修理.
FWIW,上次内部出现这个问题,29TB文件系统需要大约75GB的RAM交换才能修复.“
解决方法
xfs_db有一个选项blocktrash
Trash randomly selected filesystem Metadata blocks. Trashing occurs to randomly selected bits in the chosen blocks. This command is available only in debugging versions of xfs_db.
It is useful for testingxfs_repair(8)
andxfs_check(8)
.
例如
xfs_db -x -c blockget -c“blocktrash -s 512109 -n 1000”/ dev / xfstest / testfs