Как я вызываю ext3 раздел к “ошибочному” состоянию?

Необходимо, вероятно, сравнить его с помощью тех же аппаратных средств в непродуктивной среде.

Я сделал это на умеренно умном массиве (Dell PowerVault MD3000) и нашел, что noop планировщик разбил значение по умолчанию cfq значимым битом на моей рабочей нагрузке.

Это определенно зависит от Вашей рабочей нагрузки и не может иметь никакого значения на некоторых. Из того, что я слышу, noop планировщик лучше для устройств, которые любой "умны" (RAID-контроллеры с большим количеством шпинделей и т.д.) или очень быстры (SSD)

7
задан 30 June 2011 в 13:33
2 ответа

Ну, здесь это: debugfs-w-R "ssv указывают 2"/dev/sda1

debugfs является частью e2fsprogs пакета, предназначенного для низкоуровневого доступа к ext2/3 файловым системам.

-w - work in r/w;
-R - run one command and exit;
ssv - set superblock value, self-describing;
state - just a name of the field containing state of filesystem.

Коды:

0 - not clean
1 - clean
2 - not clean with errors
10
ответ дан 2 December 2019 в 23:23

Я играл с этим кратко в VM. Моя начальная буква думала, должен был уничтожить основной суперблок раздела. Выполнение так не заставляет dumpe2fs сообщать о "состоянии файловой системы" "ошибки", но это действительно (очевидно), повреждает Ваш раздел ("Плохое магическое число в суперблоке")... поэтому, возможно, это - все, в чем Вы нуждаетесь для своего тестирования. Выполнение fsck против раздела в этом состоянии и осмотр значения $? сообщит состояние 8 (операционная ошибка).

Так или иначе это опасно, и я не советовал бы делать его в любой системе, где у Вас есть данные, Вы заботитесь о. Попробуйте его в VM как, я сделал.

Можно получить некоторую информацию о файловой системе как это:

dumpe2fs /dev/sda1 | egrep "state|superblock|Block size"

Вы будете видеть, что файловая система имеет основной суперблок и некоторое количество резервных суперблоков. Если Вы готовы повредить вещи, примите во внимание несколько вещей в том выводе:

  • "Размер блока: X": примите во внимание X
  • "Основной суперблок в Y": возьмите примечание Y
  • "Резервный суперблок в Z": примите во внимание по крайней мере один Z

Теперь уничтожьте свой основной суперблок:

dd if=/dev/zero of=/dev/sda1 bs=X count=1 seek=Y

Поздравляю! Ваша файловая система теперь повреждается.

Размонтируйте его, если это смонтировано:

umount /dev/sda1

Затем выполненный fsck определение местоположения одного из резервных суперблоков отметил ранее:

fsck -b Z /dev/sda1

Теперь смонтируйте/dev/sda1 где-нибудь, и необходимо вернуться в бизнесе.

4
ответ дан 2 December 2019 в 23:23

Теги

Похожие вопросы