Патчи для поддержки журналирования в UFS добавлены во FreeBSD-CURRENT

В основную ветку разработки FreeBSD-CURRENT, которая станет основой следующего стабильного релиза FreeBSD 9.0, были добавлены патчи, которые реализуют поддержку журналирования Soft Updates для основной для FreeBSD файловой системы UFS. Всего было добавлено 11 тысяч строк кода и 2 тысячи было удалено. Максимальный размер журнала составляет 32 Мб, и он хранит записи о последнем миллионе операций (одна операция = 32 байта). Работа по добавлению этой возможности была спонсирована компаниями iXsystems, Yahoo! и Juniper.

Журналирование метаданных, изменяемых при работе Soft Updates (SU+J), позволит отказаться от необходимости фонового запуска fsck после некорректного размонтирования файловой системы. SU+J позволяет достичь очень высокой скорости восстановления состояния файловой системы при очень малом объеме журнала, при этом система полностью обратно совместима с нежурналируемым вариантом softupdates. Например, процесс восстановления после экстренного отключения заполненного на 80% дискового раздела, размером 250 Гб, с использованием SU+J занял менее секунды, в то время как без SU+J обычный fsck восстанавливал целостность данных 24 минуты.

Ранее журналирование для FreeBSD активировалось при помощи GEOM-класса gjournal и было доступно только на уровне GEOM провайдеров. Основное отличие gjournal от SU+J в том, что первый работает на уровне блочного устройства, в то время как второй манипулирует данными только на уровне мета-данных файловой системы. Как следствие gjournal требует для хранения журнала больше памяти и уступает в быстродействии.

Подробнее о ходе разработки, можно прочитать в блоге автора проекта.

©  OpenNet