Эдуард Шишкин объявил (http://www.spinics.net/lists/reiserfs-devel/msg03884.html) о доступности патчей (http://sourceforge.net/projects/reiser4/files/reiser4-for-li.../) с реализацией файловой системы Reiser4 (https://reiser4.wiki.kernel.org/index.php/) для ядра Linux 3.14. Новый выпуск примечателен добавлением поддержки (http://marc.info/?l=reiserfs-devel&m=139449965000686&w=2) различных транзакционных моделей, позволяющих сочетать в одной реализации ФС разных режимов обеспечения целостности, оптимальных для разных типов носителей.
Обычно файловые системы поддерживают только одну, жестковкодированную транзакционную модель. Это либо только журналирование (как в 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.
URL: http://www.phoronix.com/scan.php?page=news_item&px=MTY4MzA
Новость: http://www.opennet.ru/opennews/art.shtml?num=39804