Оценка методов противостояния потере данных в ФС при крахе системы

Дэн Лу (Dan Luu), опубликовал заслуживающий внимания разбор ситуации с фиксацией изменений в различных файловых системах (ext2/¾, xfs, btrfs). В случае краха системы без применения определённых обходных путей при записи файлов достаточно велика вероятность нарушения целостности или порядка записи данных. Проблема состоит в том, что для разных ФС нужно использовать разные методы обхода проблем, что выливается в достаточно сложные и неочевидные конструкции. 0_1450169520.png

Единый способ отказоустойчивой записи файлов не выработан, а разработчики часто применяют методы обхода проблем, специфичные для определённых ФС. Например, некоторые программы надёжно работающие в ext3/ext4 начинают сталкиваться с проблемами после перехода на Btrfs, из-за того, что в программе не учтены особенности поведения Btrfs во время возникновения внештатных ситуаций. В качестве примера приложения, корректно обрабатывающего сбои на разных ФС, отмечается SQLite. Неплохие показатели у PostgreSQL. Одни из худших показателей выявлены в Git и Mercurial.

0_1450170423.png

©  OpenNet