Экс-инженер 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 со сдержанным оптимизмом. Правда, один из них, обращаясь к Оверстриту, сказал: «Надеюсь, парень, что на твоем банковском счету много денег. Ведь всем известно, что доведение файловой системы до ума – это очень долгий процесс».