Развитие XFS

В недавнем докладе инженера компании Google, Michael Rubin, о файловых системах будущего, который активно обсуждался в русскоязычной линукс-блогосфере, прозвучало упоминание о XFS, как о файловой системе ближайшего будущего. Среди прочих упоминались btrfs, ext4 и другие современные файловые системы, так-что упоминание системы из 1993 года, которую портировали на Linux больше 10 лет назад, как системы ближайшего будущего, у многих вызвало усмешки и/или недоумение.

Свои разъяснения (внимание, статья находится за paywall) дал разработчик XFS, работник Red Hat, Dave Chinner. Оказывается, уже очень давно, в XFS есть операции, линейно масштабирующиеся по количеству потоков, чего не смогла до сих пор достигнуть ни ext4, ни btrfs (у нее проблемы начинаются уже с 4-8 потоков). Единственное, где она проигрывала, это запись журнала. И эта операция не только не масштабировалась, но и порождала огромное количество действий при совершенно небольших изменениях (распаковка тарболла с исходниками ядра Linux, например, где XFS была в 20-50 раз медленнее ext4), чем ухудшала общие показатели, практически прекращая масштабирование производительности после 4 потоков.

Эту ситуацию пытались поправить уже несколько раз в прошлом, но, из--за сложности реализации этой системы, все эти попытки успехом не увенчались. И вот, Дэйв сообщил, что добился серьезного прогресса. С версии 3.3 ядра в XFS будет включен механизм отложенной записи операций с журналом, позаимствованный из ext3. Теперь система почти линейно масштабируется, и она показывает в несколько раз более лучшие результаты, чем ext4 при количестве потоков более 4.

Дэйв также обрисовал дальнейший фронт работы. Это онлайн-проверки самой системы, исправление ошибок и обнаружение проблем с жестким диском.

Что до конкурентов, то ни ext4, ни btrfs не в состоянии теперь показать сколь-нибудь превосходящие показатели в каких-либо тестах по сравнению с XFS. Начиная с версии 3.3 в Linux ядре у нас новый король ФС.