Экс-инженер Google разработал новую файловую систему для Linux, которая должна ускорить процедуру сохранения данных на сервере и повысить ее эффективность.

«По прошествии нескольких лет разработку Bcache File System (Bcachefs) можно считать в основном завершенной. Ничего важного я, как мне кажется, не упустил», – указал автор проекта Кент Оверстрит в электронном письме, направленном в Linux Kernel Mailing List.

В настоящее время у Linux имеется целый ряд работающих файловых систем, но ни одну из них нельзя считать подходящей на все случаи жизни.

Основная цель разработчика Bcachefs заключалась в том, чтобы дополнить скорость традиционных файловых систем Linux повышенной устойчивостью и масштабируемостью.

Новая технология предоставляет операционной системе интерфейс для хранения файлов на диске.

Наиболее популярными файловыми системами у пользователей Linux остаются представители семейства Gnu/Linux Extended Filesystem, известные уже десятки лет, и последняя его версия Ext4. Но многие организации и пользователи отдают предпочтение другим файловым системам, в частности Btrfs и XFS, позволяющим оперировать большими объемами данных и использовать передовые технологии, гарантирующие целостность информации.

Файловая система Bcachefs проектировалась на основе технологий, созданных Оверстритом в Google, где он на протяжении двух лет, с 2011-го по 2013 год, работал в качестве инженера-программиста над средствами кэширования.

Bcachefs обладает всеми необходимыми современной операционной системе функциями, включая вычисление контрольных сумм для обеспечения целостности данных, сжатие в целях экономии пространства, кэширование для быстрого отклика и копирование данных при сохранении без перезаписи их предыдущих версий, что позволяет сразу нескольким пользователям одновременно манипулировать одним файлом.

В будущем у файловой системы появятся и другие современные функции, в том числе получение моментальных снимков и предоставление операционной системе возможности автоматически создавать резервные копии данных.

Еще одной функцией станет дублирование записываемой информации на диске, с тем чтобы в случае разрушения данных и появления нечитаемых битов их можно было собрать заново.

У нового программного обеспечения имеется и ряд ограничений. Для функционирования файловой системы требуется примерно 20% общего объема пространства на диске. Кроме того, на ее монтирование уходит довольно много времени, и ждать приходится дольше, чем при использовании других файловых систем.

В дальнейшем Оверстрит надеется устранить оба эти недостатка.

Файловая система была создана им в свободное от основной работы время и без внешнего финансирования. В настоящее время автор занят поиском администраторов и других разработчиков, которые протестировали бы систему и внесли свой вклад в процесс ее проектирования.

В целом появление Bcachefs было воспринято профессионалами Linux на форуме Hacker News со сдержанным оптимизмом. Правда, один из них, обращаясь к Оверстриту, сказал: «Надеюсь, парень, что на твоем банковском счету много денег. Ведь всем известно, что доведение файловой системы до ума – это очень долгий процесс».

Поделитесь материалом с коллегами и друзьями