Linux

如何破壞文件系統

  • July 23, 2009

我將在一些大型文件系統(大約 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 塊到文件系統所在的設備。您可以編寫此腳本,使其可重複。只是隨機位置的幾個隨機塊,然後繼續。

引用自:https://serverfault.com/questions/40302