Журнал Системный Администратор, Август 2006

Журнал Системный Администратор

Август 2006

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Как устроена файловая система JFS

Андрей Пешеходов

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

Истоки технологии JFS

IBM представила свою файловую систему для UNIX как JFS с первым релизом AIX v3.1 в 1990 году. Эта ФС, известная сейчас как JFS1, была основной для AIX в течение 10 лет. Пять лет спустя была начата работа по ее усовершенствованию с целью улучшения масштабируемости и реализации эффективной поддержки SMP-систем. Также ставилась задача улучшения переносимости ФС для обеспечения ее портирования и в другие операционные системы (код JFS1 был очень тесно привязан к менеджеру памяти AIX, и вряд ли смог бы эффективно работать в OS/2 или Linux).

Новая Journaled File System, на которой основана Linux-версия JFS, была впервые представлена с OS/2 Warp Server в апреле 1999 года, после нескольких лет проектирования и тестирования. В OS/2 Warp Client она была включена в октябре 2000 года. Параллельно с этими усилиями в 1997 году часть разработчиков JFS вернулась в команду сопровождения AIX и занялась адаптацией кода новой JFS к этой ОС. К маю 2001 года Enhanced Journaled File System (называемая JFS2) была доступна для AIX 5L. В декабре 1999 года был сделан срез (snapshot) оригинального дерева кода JFS, и началась работа по ее переносу в Linux.

Портирование

К декабрю 1999 года уже существовали 3 перспективные ФС, только разрабатываемые или переносимые в Linux. ext2 была в процессе добавления журналирования (ext3), SGI начала перенос своей файловой системы XFS с IRIX, и Hans Reiser разрабатывал reiserfs. Ни одна из указанных ФС не была полностью функциональна в Linux в 1999 году, и IBM решила, что JFS является достаточно сильной технологией и добавит вес набирающему силу Linux.

Программисты из IBM посоветовались с основными разработчиками файловых систем Linux на счет возможности добавления еще одной журналируемой ФС. Одно из основных положений философии Linux: выбор – это хорошо, поэтому идея еще одной ФС была встречена с энтузиазмом.

IBM воспользовалась поддержкой сообщества Open Source. Команда JFS последовала совету сообщества: «release early and release often» (дословно: «выпустить рано и выпускать часто»), и привлекла множество сторонних разработчиков к переносу JFS в Linux. Всего через 3 месяца после начала работ (в феврале 2000) был выпущен первый Linux-релиз JFS. Он включал в себя функции mount/unmount и поддержку программы ls.

Рассмотрим особенности устройства и реализации JFS более подробно.

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке