Сообщение об ошибке размещенное в трекер Ubuntu версии 9.04 (Jaunty
Jackalope) описывает массовые проблемы потери данных при использовании
Ext4, будущего стандарта файловой системы для Linux, которая в качестве
опции используется при установке Ubuntu 9.04. В докладе описывается
крушение вскоре после загрузки KDE 4, что приводит к потере всех
данных, в том числе многих конфигурационных файлов KDE.

  В ответе разработчика Ext4 Теда Тео (Ted Ts’o) раскрыта суть
проблемы. Как и другие современные файловые системы, например, XFS,
Ext4 реализует задержку записи новых данных, что может занять до 60
секунд. Это повышает производительность и обеспечивает оптимизацию
размещения данных на жестком диске.

  KDE и GNOME часто производят чтение и запись небольших объемов
информации (например, конфигурационных файлов для персональных
настроек). В случае аварии, системе может не хватить времени для
передачи данных на файловую систему под ext4, информация в файлах может
быть усечена. Это объясняется задержками с распределением данных. Когда
новый файл создан, это изменение отмечается в журнале, но данные при
этом, все еще не записаны на диск в течении 45 — 150 секунд. После
чего, файловая система «догоняет» выделение места для новых файлов и
записи данных. Технические подробности (которые, в основном, касаются
системных вызовов ftruncate () и rename()), можно найти в ответе
разработчика Ext4 на сообщение об ошибке.

  Тэо описывает способы точно определить возможность такого случая и
не допускать задержки с распределением, но указывает на то, что другие
современные файловые системы, как, например, XFS и новая Btrfs имеют
подобные проблемы. Патчи не будут включены в предстоящий релиз ядра
2.6.29
, и ставятся в очередь на ядре 2.6.30.

 Тэо говорит, что проблема должна быть исправлена после устранения
записи и перезаписи небольших файлов. Он сообщает, что «это больше
проблема проектирования, чем всего остального
«. Программисты привыкли и
зависят от поведения Ext3, которое подразумевает синхронизацию каждые 5
секунд и режим журналирования по умолчанию «data=ordered.» Для Ext3
режим journalling по умолчанию означает, что метаданные для журнала
записываются упорядоченно, поэтому любые связанные данные будут
записаны на диск в первую очередь.

Источник

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34