JFS

JFS
Разработчик IBM и др.
Файловая система IBM Journaled File System
Дата представления 1990 и 1999 (JFS1 в AIX 3.1 и JFS с OS/2 4.5)
Метка тома 0x35 (MBR)
Структура
Содержимое папок B+ дерево
Размещение файлов Битовая карта/экстенты
Ограничения
Максимальный размер файла 4 ПБ (4 × 10245 байт)
Максимум файлов No limit defined
Максимальная длина имени файла 255 байт
Максимальный размер тома 32 ПБ (32 × 10245 байт)
Допустимые символы в названиях Any Unicode except NULL
Возможности
Свойства Modification (mtime), Attribute modification (ctime), Access (atime)
Точность хранения даты 1ns
Потоки метаданных Да
Атрибуты Да
Права доступа POSIX, ACL
Фоновая компрессия Только в JFS1 на AIX
Фоновое шифрование Нет (обеспечивается на уровне блочного устройства)
Поддерживается ОС AIX, OS/2, Linux

Journaled File System или JFSжурналируемая файловая система с открытым исходным кодом, созданная IBM для использования на серверах и доступная под лицензией GNU GPL[1].

Enhanced Journaled File System или JFS2 — второе поколение JFS, оно отличается внедрением B-дерева каталогов (в JFS была использована линейная организация дерева каталогов) и увеличенными максимальными размерами тома и хранимых файлов[2]. В отличие от JFS, JFS2 спроектирована для работы на 64-битных ядрах Linux[3].

В операционной системе AIX существует два поколения JFS, называемых JFS и JFS2 соответственно[3]. В других операционных системах, таких как OS/2 и Linux, существует только второе поколение, которое называется просто JFS.[источник не указан 859 дней]

Существует ещё одна файловая система с названием JFS — когда корпорация HP внедряла файловую систему VxFS компании Veritas Software в свою ОС HP-UX, она присвоила название «JFS» своему варианту VxFS, тем самым внеся путаницу (вероятно, это было сделано сотрудниками HP сознательно, как и в случае с HFS)[4].

История

JFS была разработана корпорацией IBM для операционной системы AIX[3].

JFS второго поколения была разработана IBM для ОС Warp Server for e-Business.[источник не указан 859 дней] Позже она была перенесена IBM в AIX и Linux. Целью разработчиков было обеспечить высокую производительность, надёжность и масштабируемость для многопроцессорных компьютеров.[источник не указан 859 дней]

JFS2 стала использоваться по умолчанию в AIX, начиная с версии 6.1[2].

Возможности

Особенности JFS[2]:

  • максимальный размер файловой системы — от 128 Гб при размере блока 512 байт до 1 Тб при размере блока 4 Кбайта;
  • максимальный размер файла — приблизительно 63,876 Гб;
  • количество i-node (записей о размещении файлов) задаётся при создании файловой системы (форматировании тома);
  • линейная организация дерева каталогов;
  • встроенное сжатие файлов;
  • дисковые квоты;
  • протоколирование ошибок.

Особенности JFS2[2]:

  • максимальный размер файловой системы — от 4 Тб при размере блока 512 байт до 4 Пб при размере блока 4 Кбайта;
  • минимальный размер файловой системы — 16 Мб;
  • максимальный размер файла — 4 Пб;
  • динамическое размещение записей о размещении файлов (i-node), ограниченное свободным местом в файловой системе;
  • организация дерева каталогов в виде двоичного дерева;
  • дисковые квоты;
  • протоколирование ошибок.

Журналирование

И JFS, и JFS2 — журналируемые файловые системы, в которых используется технология ведения базы данных журнала для поддержания согласованности структуры (консистентности) файловой системы, что позволяет избежать фатального повреждения файловой системы при аварийном завершении работы операционной системы[5].

В отличие от ext3, в которую поддержка журналирования была добавлена, JFS изначально была журналируемой. JFS ведёт журнал только метаданных, поддерживая структуру файловой системы целостной, но не обязательно сохраняет данные. Отключение питания или крах системы может привести к сохранению устаревших копий файлов, однако сами файлы останутся пригодными к использованию. Журналирование JFS похоже на журналирование XFS, которая журналирует только части inode.[источник не указан 859 дней]

B+ деревья

B+ деревья используются для ускорения поиска в больших каталогах.[источник не указан 859 дней]

JFS в Linux

Исходный код JFS был открыт IBM в 1999 году[источник не указан 859 дней].

Исходный код JFS включен в код ядра Linux, начиная с версии 2.4.18-pre9-ac4[1][6]. Большинство дистрибутивов Linux обеспечивает поддержку JFS, если только она не была специально удалена из-за ограничений на объём дистрибутива или иных проблем.[источник не указан 859 дней]

Для управления разделами диска в формате JFS был выпущен набор утилит под названием JFSutils.[источник не указан 859 дней]

Примечания

  1. 1 2 JFS for Linux (англ.). Дата обращения: 16 мая 2010. Архивировано 27 сентября 2019 года.
  2. 1 2 3 4 AIX7.2, 2022.
  3. 1 2 3 AIX7.3, 2023.
  4. Nemeth, 2010, p. 162, 256.
  5. File system types. — In: AIX 7.3 : [англ.] // IBM Documentation. — 2023. — 24 March.
  6. Cox, A. Alan Cox: Linux 2.4.18pre9-ac4 : [англ.] : [арх. 20 июля 2011] // Linux Today. — internet.com, 2002. — 14 February.

Литература

  • JFS and JFS2 functions : [арх. 13 марта 2022]. — In: AIX : [англ.] // IBM Documentation. — 2022. — 7 April.
  • JFS and JFS2. — In: AIX 7.3 : [англ.] // IBM Documentation. — 2023. — 3 November.
  • Уинстон, К. 30 дней с JFS : [арх. 11 апреля 2009] = 30 days with JFS / Пер. с  [англ.]: Александр Тарасов aka oioki // LinuxShare. — 2007. — 1 октября.
  • Winston, K. 30 days with JFS : [англ.] : [арх. 17 сентября 2007] // Linux.com. — 2007. — 14 September.
  • Nemeth, E. Ch. 6. The Filesystem; Ch. 8. Storage // Unix and Linux System Administration Handbook : [англ.] / E. Nemeth, G. Snyder, T. R. Hein … [et al.]. — 4th ed. — 2010. — P. 162–163,255–257. — 1344 p. — ISBN 978-0-13-211736-4.

Ссылки

  • JFS for Linux project. — Sourceforge.
  • JRescuer, утилита восстановления файлов для JFS
  • JFSRec, a console program that performs a read only extraction of files and directories from a damaged JFS filesystem

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.