Как протестировать исправление файловой системы, сделанное fsck

Если Ваша система или просто приложение, которое Вы хотите записать, направляет свой вывод к звуковому серверу, изучите запись возможностей для того звукового сервера. Например, на Ubuntu, официальным звуковым сервером является PulseAudio, который идет parec команда (от pulseaudio-utils пакет Установите pulseaudio-utils http://bit.ly/software-small). Вы, возможно, должны преобразовать вывод из parec во что-то применимое с SoX (Ubuntu: sox Носки установки http://bit.ly/software-small).

parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg

4
05.03.2011, 14:59
2 ответа

Fsck возвращает Вашу файловую систему согласованному состоянию. Это - не обязательно “последнее” состояние файловой системы, потому что то состояние, возможно, было потеряно в катастрофическом отказе. На самом деле, если были полузаписанные файлы во время катастрофического отказа, то файловую систему не оставили в согласованном состоянии, и это точно, что fsck разработан для восстановления. Другими словами, после выполнения fsck, Ваша файловая система так актуальна, как это может добраться.

Если Ваше приложение потребует обратной связи относительно того, что хранится на диске в случае катастрофического отказа, то необходимо будет сделать больше работы, чем просто запись в файл. Необходимо звонить sync, или лучше fsync, после операции записи, чтобы гарантировать, что та конкретная запись посвятила себя диску (но если Вы заканчиваете тем, что делали это много, Ваша производительность будет выпадающий, и Вы захотите переключиться на механизм базы данных). Вам будет нужна журналируемая файловая система, настроенная для максимального выживания катастрофического отказа (в противоположность максимальной скорости).

Свойство, что операция (такая как запись на диск), который был выполнен, не может быть отменена (даже в случае системного катастрофического отказа) называют длительностью. Это - одно из четырех фундаментальных свойств баз данных (ACID). При необходимости в том свойстве читайте на транзакциях.

Хотя файловые системы являются своего рода базой данных, они обычно не разрабатываются для преуспевания относительно свойств ACID: у них есть больше акцента на гибкость. Вы получите лучшую длительность от выделенного механизма базы данных. Затем рассмотрите то, что происходит в случае, если Ваш диск и не Ваша система отказывает: для высокой длительности Вам также нужна репликация.

3
27.01.2020, 20:54
  • 1
    Gilles - Спасибо за ответ. Да, это точно, что я считал. Реальный вопрос - Как удостовериться или протестировать это - файловая система последовательна НЕ, просто полагаясь на o/p fsck. Успех fsck означает, что FS в хорошем состоянии, каждый раз? Я хотел бы услышать о любых методах или инструментах, который проверяет fsck или любит его. Поскольку KerxPhilo упомянул, что-N опции были хорошим началом для меня для записи инструмента для проверки данных/метаданных путем создания копии из него прежде, чем выполнить fsck и затем сравнить результаты после fsck. –  user4858 06.03.2011, 09:29
  • 2
    , Если fsck делает свое задание, он приносит файловую систему к согласованному состоянию. Вы пытаетесь проверить fsck, т.е. удостовериться, что это не багги? (Это не то, что я понял от Вашего вопроса, таким образом, мой ответ не обращается к этому.) Если так, первый шаг должен, конечно, для хранения копии pre-fsck состояния файловой системы. –  Gilles 'SO- stop being evil' 06.03.2011, 13:23

- N не выполняют, просто показывают то, что было бы сделано.

Снова, Вы просто сделали бы что-то вроде: shell> fsck -N /dev/sda1

2
27.01.2020, 20:54
  • 1
    Моя репутация является также маленькой как Ваша. Таким образом, я не могу проголосовать за этот ответ.-N кажется хорошим началом для меня.Спасибо. –  user4858 06.03.2011, 09:33

Теги

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