Назад | Перейти на главную страницу

Как испортить файловую систему

Я собираюсь протестировать xfs_repair на некоторых больших файловых системах (около 50 ТБ), поскольку в прошлом использование памяти было высоким. Хотя я мог тестировать программу только на правильных файловых системах, было бы хорошо протестировать их на поврежденной системе.

Итак, как лучше всего испортить файловую систему. Дополнительный балл, если метод постоянно дает одно и то же повреждение каждый раз ....

Чтобы дать людям представление о том, что я имею в виду, в 2006 году

"Чтобы успешно проверить или запустить восстановление в файловой системе с несколькими терабайтами, вам необходимо:

xfs_repair обычно использует меньше памяти, но эти числа дают вам приблизительную цифру для восстановления большой файловой системы, заполненной> 80%.

FWIW, в прошлый раз, когда это возникло внутренне, рассматриваемая файловая система 29 ТБ потребовала ~ 75 ГБ ОЗУ + подкачка для восстановления ".

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 блокирует устройство, на котором находится файловая система. Вы можете написать сценарий, чтобы он повторялся. Просто несколько случайных блоков в случайных местах, а затем двигайтесь дальше.

Вы можете попробовать перезаписать первые 512 байтов (MBR и таблицу разделов) блочного устройства.

Сначала сделайте резервную копию:

dd if=/dev/device bs=512 count=1 of=backup.bin

И обнуляем позже:

dd if=/dev/zero bs=512 count=1 of=/dev/device

После этого ваша машина не должна загружаться, вы можете протестировать восстановление XFS с помощью live CD.