Обновление файловой системы Reiser4 c поддержкой различных транзакционных моделейЭдуард Шишкин объявил о доступности патчей с реализацией файловой системы Reiser4 для ядра Linux 3.14. Новый выпуск примечателен добавлением поддержки различных транзакционных моделей, позволяющих сочетать в одной реализации ФС несколько режимов обеспечения целостности, оптимальных для разных типов носителей. Обычно файловые системы поддерживают только одну, жестко интегрированную транзакционную модель. Это либо только журналирование (как в ReiserFS (v3), ext4, XFS), либо только Write-Anywhere (более известная как Copy-on-Write), как в ZFS и Btrfs. Однако, журналируемые файловые системы не лучший выбор для SSD-дисков из-за двойных записей (все модифицированные блоки записываются сначала в журнал, потом на штатное место на диске). И, наоборот, CoW-файловые системы плохо работают с накопителями на основе вращающихся дисков (в этой модели модифицированные данные всегда записываются на новое место на диске, что приводит к фрагментации, к которой НЖМД особо чувствительны). В Reiser4 удалось совместить обе техники. Теперь пользователь может задать желаемую транзакционную модель во время монтирования файловой системы. Помимо классических журналирования и CoW, Reiser4 также поддерживает и гибридную транзакционную модель, в которой часть модифицированных блоков перезаписывается с использованием журнала на старое место на диске, а другая часть - при помощи техники Copy-on-Write переносится на новое место. Решения о перезаписи или перемещении блока принимаются исходя из попыток минимизировать фрагментацию. Поддерживаемые режимы обработки транзакций: Журналирование ("txmod=journal") - классическая модель, подразумевающая помещение данных об изменении в журнал перед фактической перезаписью метаданных. Рекомендуется для накопителей с вращающимися дисками в случае, если при использовании гибридного режима наблюдаются проблемы с фрагментацией; Copy-on-Write ("txmod=wa") - модель, при которой изменения не приводят к перезаписи данных, вместо этого новое состояние записывается в новое место, после чего меняется указатель актуального состояния. Реализация модели Copy-on-Write в Reiser4 применима только для SSD-накопителей, так как может приводить к излишней фрагментации на НЖМД из-за отсутствия активных действий по дефрагментации; Гибридная модель ("txmod=hybrid"), используется по умолчанию и рассчитана на системы с НЖМД, на которых не выполняется огромное число операций случайной перезаписи. В гибридной модели используется концепция составных контрольных точек ("compound checkpoints") при которой часть изменений обрабатывается через журнал, а другая часть через технику Copy-on-Write. По сравнению с журналированием гибридная модель инициирует относительно небольшой объём операций ввода/вывода, при этом не приводит к такому существенному росту фрагментации, как в модели Copy-on-Write. Дополнительно можно отметить, подготовку для openSUSE готовых для установки пакетов с ядром Linux 3.14, в которые интегрирована поддержка Reiser4. Кроме того, для Reiser4 предложен патч с реализацией поддержки опции монтирования "discard" для информирования SSD-накопителей о не используемых в ФС блоках, что позволяет повысить производительность при работе с SSD-накопителями и увеличить срок их службы.
Распечатано с HostDB.ru.
|