В основном согласен со всем этим. Просто немного разные акценты: * некоторые дистрибутивы busybox-в основу, но не обязательно реализуются (я использую один, альпийские). (Конечно, ответ *нет* сказать "почти всегда".) * BSD-систем являются большие классу Unix-подобных систем, где вы не можете предположить, по умолчанию bash. * тире может делать почти все, что bash может, просто иногда требует больше ухода. * Если вам нужен более сложный язык, да Perl и Python являются наиболее распространенных вариантов, но awk-это даже более распространено и является достаточным для многих целей. Это также, как правило, недооценивают. Но она легче весом, чем Perl и Python. Спасибо Фонг - думал о том же. Буду делать полную резервную копию телефона при помощи iTunes, а затем снова включить iCloud синхронизации и выключения.

Тема

Если файловая система успешно отремонтировать с помощью e2fsck, это гарантирует, что она находится в согласованном (чистое) состояние. Однако, это не так легко оценить надежность самих файлах, после ремонта.

Этот вопрос направлен на критерии, позволяющие судить о целостности данных, хранящихся в ext2 и ext4 файловые системы, которые были восстановлены после повреждения в конкретном случае отказа.


Фон

Я использую файловую систему ext2 на внешний USB жесткий диск (т. е. на основе голубой каемочкой, без вспышки) для резервного копирования нескольких машин с Linux. За это я смонтировать диск вручную с нужным РВ, режиме (В общего), поэтому нет синхронизации параметр используется.

Совсем недавно, после большой резервного копирования (несколько 100 ГБ) из дистрибутива openSUSE 13.1 системы (ядро Linux 3.11.6-4) и после того, как все записи на жесткий диск USB были закончены, я был не в состоянии отключить этот диск: в размонтировать командой заблокировали и не вернули. То же самое относится и к впоследствии издан синхронизации команды, который вступил бесперебойного сна (ПС государство D).

Это было когда я отключил жесткий диск USB, который не выпускал блоки.

Попытка выключить питание машины, затем стандартными средствами (ТЧ-utils версии) тоже застрял. Чтобы выключить машину, я использовал SysRq салют р, е, я, ы, ю, б. Но и там запросы с (синхронизация) и у (перемонтировать для чтения) не удастся: согласно документации для ядра sysrq.с (sysrq.txt) эти запросы не были завершены, прежде чем они явно объявить, что, что никто из них не сделал в этом случае. Поэтому никто из смонтированных файловых системах было подтверждено, чтобы быть правильно отмонтирована, когда SysRq б (перезагрузка) хит, который наконец-то инициирует полную перезагрузку.

Просмотрев все задействованные файловые системы (ext4 на корневой раздел и ext2 на USB-HDD) с e2fsck, я, к счастью, нашли корневую файловую систему в чистоте, и файловая система на USB-HDD только показал неправильно подсчитывает количество свободных блоков и свободных индексных дескрипторов, которое может быть отремонтировано с помощью e2fsck.

Журнал systemd в машины, который был использован здесь не показывают какую-либо запись, связанная с блокированием размонтировать и синхронизирует. В частности, не было никаких записей, связанных с проблемами ввода-вывода. Мероприятия по USB отключите и остальные мои меры не только SysRqs были должным образом зарегистрированы.

С. М. А. Р. Т. и badblocks тесты, которые проводились на USB-HDD после этого инцидента, не выявила каких-либо аномалий. Диск, который находится примерно в 5 месяцев, кажется, работает нормально сейчас.


Варианты

Я столкнулся с такой же сценарий несколько раз в последние годы с различных USB накопителей (ни один из них не старше 16 месяцев) и на разных машинах с ОС Linux различных версий ядра. Единственное отклонение в моем лечении было то, что иногда я использовал кнопку питания вместо SysRq, чтобы выключить машину.

На каждом из этих инцидентов, я проверил все возможные соответствующие файловые системы (все в ext2 и ext4) с e2fsck, находя их все в одно из следующее сообщение об ошибке гласит:

  1. Очистить файловую систему.

  2. Нечистый файловая система, которая e2fsck может отремонтировать только воспроизведение журнала (в ext4).

  3. Файловая система показывает неправильные подсчет свободных блоков и свободных индексных дескрипторов, которые могут быть исправлены с помощью e2fsck.

  4. Файловая система, содержащая сирых иноды, которые e2fsck подключен к потерял+нашли.

  5. Файловая система, содержащая умножить-заявил индексных дескрипторов (претендуют несколько файлов), которые были клонированы с помощью e2fsck.


Актуальный вопрос

В ext2 или ext4 разделов, которое пострадало в результате описанного выше сценария, а затем был успешно восстановлен с помощью e2fsck, безусловно, в соответствии (чистое) состояние.

А что насчет содержимого и метаданных из файлов в файловой системе?

Есть однозначная корреляция между повреждениями файловой системы найдено e2fsck и повреждения данных? Например, такие как:

Если нет других повреждений, чем неправильно рассчитывает были найдены в файловой системе, сам файл данных-это нормально.

Или:

Если файловая система содержит умножить-утверждал иноды, содержание в крайней мере один файл поврежден.

Или это наоборот: файловая система и файл данных независимого настолько, насколько не можем заключить от повреждений от одной к другой—по крайней мере без точных знаний о том, что вызвало повреждение на уровне коммуникационных устройств?

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

Существуют ли какие-либо значения опыт или обоснованные критерии, которые могут быть приняты для оценки целостности файлов в зависимости от ошибки файловой системы, которые были найдены по e2fsck?

В этом контексте ответ Жиля к "Как проверить файловую систему коррекции проделанной работы fsck" хорошо читать.

Различие между файловой системой и целостность данных также рассматривается в разделе "Режим передачи данных" в ядре документации в ext4 файловой системы. В последнем, я указал выбором ответа из Микель в "не журналируемые файловые системы гарантия против коррупции после сбоя питания?", который также очень актуален в этой теме.


Подозреваю, что и влияние

Systemd не предлагает сервисный модуль (шаблон) [email protected] по умолчанию "прихорашивается" файловые системы выбран пейсн в /etc/fstab или во время загрузки. По описанию -п параметр в MAN-странице e2fsck(8), чистили "автоматически исправлять[Эс] любая файловая система проблем, которые могут быть надежно закреплен без человеческого вмешательства". К сожалению в описании НЕ указано, является ли "спокойно" относится только целостность файловой системы или она также включает в себя содержание и метаданные из файлов.

Однако, поскольку эта служба systemd не инициирует чистили в пути, который является полностью прозрачным для пользователя, есть хоть какие-то специалисты, которые в достаточной степени доверять результатам соответствующей файловой системы ремонта.

Итак, основываясь на смутное ощущение (!), Я бы сказал, что для очистки файловой системы (состояние 1 ошибка описанная выше), и такие, которые могут быть отремонтированы только воспроизведение журнала (состояние ошибки 2) можно с уверенностью предположить, что сами файлы не повреждены, даже после такого инцидента.

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

Так зачем вся эта суета? Договорились: в случае стандартного дома или корневую файловую систему, я бы просто сравнить его содержание относительно самой поздней резервной копии. Но в данном случае, эти резервные копии на пораженный сами жесткие диски USB. Если есть какие-то сомнения в их целостности, несколько машин должны быть немедленно опять засорился, кроме того, это делает старые резервные копии, которые были накоплены во вращающейся стратегию резервного копирования на этом диске, и которые в противном случае могли бы быть использованы в качестве снимков соответствующих данных, бессмысленно.

Поэтому было бы весьма полезно иметь несколько аргументированных и достоверных критериев о том, как далеко мы можем доверять данные на ext2 или ext4 разделов, который был восстановлен после воздействия описанному сценарию.


Дальнейшие выводы

Пытаясь решить эту проблему на мой собственный, я нашла эту чудесную главу о fsck в оракулы Администрирование системы руководство для Солнца. Хотя он описывает ГСФ версия проверки, общие идеи применяются также e2fsck. Но также это очень подробный документ ориентирован на использование fsck и саму файловую систему, а не считая последнего груза.

В ответ на "что для fsck -Р (покрасоваться) сделать на ext4?", Ноя размещен список ошибок файловой системы, который может быть обработан автоматически с помощью блока чистит файловую систему EXT4, а те, что не может быть. Было бы здорово иметь такой список ошибок файловой системы, которая указывает, какие из них подразумевает помимо повреждения файла с данными, а какие нет—если, конечно, такая корреляция существует...

Это его ответ, Майкл Prokopec отметил важность схрона пишешь на этот вопрос. В этой связи, я нашел в ответ на высокий Джеффа "SATA дисками, которые обрабатывают кэширование записи правильно?" что по крайней мере большинство дисков SATA кэширования записи включена по умолчанию. Однако, по данным той же должности, диски пытаются избавиться от этих тайников так же быстро, как они могут. Но, конечно, нет никаких гарантий...