Krasorion.ru

Упаковочные материалы

NILFS

NILFS
Разработчик

Nippon Telegraph and Telephone Cyber Space Laboratories

Файловая система

New Implementation of a Log-structured File System

Дата представления

()

Структура
Размещение файлов

B-tree

Ограничения
Максимальный размер файла

8 Эксабайт

Максимальная длина имени файла

255 байт

Допустимые символы в названиях

Все байты кроме NUL и '/'

Возможности
Атрибуты

POSIX

Права доступа

POSIX, ACL

Поддерживается ОС

Linux

NILFS (англ. New Implementation of a Log-structured File System — Новая реализация журнально-структурированной файловой системы) — журнально-структурированная файловая система, реализованная для ядра Linux. Разработка была начата компанией Nippon Telephone and Telegraph CyberSpace Laboratories (часть Nippon Telegraph and Telephone Corporation), которая впоследствии выпустила её под лицензией GNU GPL.

NILFS включена в ядро Linux начиная с версии 2.6.30.

Содержание

Возможности

Будучи журнально-структурированной файловой системой (одна из разновидностей технологии «копирования-при-записи»), NILFS записывает данные в специальные журнало-подобные файлы, при этом никогда их не перезаписывая, что позволяет минимизировать время поиска информации и избежать возможной потери данных, характерной для других файловых систем. Для примера, такая потеря может произойти на файловой системе ext3 при крахе компьютера в момент, когда производилась запись: после перезагрузки запись в журнале будет отменена и частично записанные данные потеряются.

Некоторые файловые системы, такие как UFS и ZFS, использующиеся в FreeBSD и ОС Solaris, предоставляют возможность делать мгновенные снимки данных для предотвращения их потери или для резервного копирования, при этом замедления работы операций с файлами (чтение, запись), в отличие от снапшотов LVM, не происходит. NILFS позволяет непрерывно и автоматически «сохранять» мгновенные состояния файловой системы без прерывания работы, в соответствии с документацией NTT Labs [1]. При этом вместо резервного копирования старых данных используется запись новых в другие блоки, что позволяет экономить ресурсы системы по сравнению с технологией мгновенных снимков.

Эти «мгновенные состояния» — «контрольные точки», которые NILFS непрерывно сохраняет, могут быть примонтированы в режиме только для чтения, в то же самое время, когда актуальная файловая система примонтирована в режиме чтения и записи. Эта возможность может оказаться полезной для восстановления данных после краха системы, вызванного неисправностями оборудования или программными ошибками. Команда «lscp» («list checkpoint» — «список контрольных точек») интерактивной утилиты «inspect» для NILFS используется для получения адреса нужной контрольной точки, в данном примере «2048»:

# inspect /dev/sda2
...
nilfs> listcp
   1     6 Tue Jul 12 14:55:57 2005 MajorCP|LogiBegin|LogiEnd
2048  2352 Tue Jul 12 14:55:58 2005 MajorCP|LogiEnd
...
nilfs> quit

Затем адрес контрольной точки используется для монтирования:

# mount -t nilfs -r -o cp=2048 /dev/sda2 /nilfs-cp
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2             70332412   8044540  62283776  12% /nilfs
/dev/sda2             70332412   8044540  62283776  12% /nilfs-cp

Дополнительные возможности

  • Малое время записи и восстановления данных
  • Минимальные повреждения файловых данных и целостности системы при аппаратных сбоях.
    • 32-битные контрольные суммы (CRC32) для контроля целостности данных и метаданных (для групп блоков, для отдельных сегментов) [1]
    • Запись данных и метаданных в правильном порядке
    • Резервные копии суперблока
  • Блоки файлов и inode-ов управляются B-tree структурой
  • 64-битные внутренние данные
  • Поддержка больших файлов (8 Эксабайт)
  • Размер блоков меньше размера страницы (напр. 1 кб. или 2 кб.)

Примечания

  1. ↑ Официальная документация о NILFS. Архивировано из первоисточника 31 марта 2012.

См. также

Ссылки

  • Официальный сайт  (англ.)
  • Статья, раскрывающая высокоуровневые возможности  (англ.)
  • NILFS выходит из тени — краткий обзор системы  (рус.)


NILFS.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93