Linux
如何破壞文件系統
我將在一些大型文件系統(大約 50 TB)上測試“xfs_repair”,因為過去記憶體使用率很高。雖然我只能在正確的文件系統上測試程序,但最好在損壞的系統上測試它們。
那麼破壞文件系統的最佳方法是什麼。如果該方法每次都重複給出相同的損壞,則額外的功勞……
讓人們了解我在 2006 年的意思
“要在多 TB 文件系統上成功檢查或執行修復,您需要:
- 64位機器
- 一個 64 位 xfs _ 修復/xfs _ 檢查二進制
- 每 TB 文件系統約 2GB RAM
- 文件系統中每百萬 inode 需要 100-200MB RAM。
xfs_repair 通常會使用比這更少的記憶體,但這些數字為您提供了一個大概的數字,即超過 80% 已滿的大型文件系統可能需要修復。
FWIW,上次內部出現這種情況時,有問題的 29TB 文件系統需要大約 75GB 的 RAM +交換來修復。”
xfs_db 有一個選項 blocktrash
垃圾隨機選擇的文件系統元數據塊。對所選塊中隨機選擇的位進行破壞。此命令僅在 xfs_db 的調試版本中可用。它對於測試
xfs_repair(8)
和xfs_check(8)
.例如
xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/xfstest/testfs
dd 塊到文件系統所在的設備。您可以編寫此腳本,使其可重複。只是隨機位置的幾個隨機塊,然後繼續。