НИЛФС

НИЛФС
Разработчик(и)Лаборатории киберпространства Nippon Telegraph and Telephone
Полное имяНовая реализация файловой системы с журнальной структурой
Введено2005 ; 20 лет назад с ядром Linux 2.6.13 ( 2005 )
Структуры
Распределение файловB-дерево
Пределы
Максимальный размер тома8 ЭйБ
Максимальный размер файла8 ЭйБ
Максимальная длина имени файла255 байт
Функции
Даты записанывремя (запланировано)
Разрешение даты64-битные временные метки на диске
АтрибутыPOSIX, с планами по расширенным атрибутам

Разрешения файловой системы
POSIX, с планами по ACL [1]
Прозрачное
сжатие
Нет
Прозрачное
шифрование
Нет
Копирование при записиДа
Другой
Поддерживаемые
операционные системы
Ядро Linux (только для чтения для NetBSD )

NILFS или NILFS2 ( N ew I mplementation of a Log-structured File S ystem )реализация файловой системы с журнальной структурой для ядра Linux . Она была разработана Nippon Telegraph and Telephone Corporation (NTT) CyberSpace Laboratories и сообществом со всего мира. NILFS была выпущена на условиях GNU General Public License (GPL).

Дизайн

«NILFS — это файловая система с журнальной структурой, в которой носитель информации рассматривается как кольцевой буфер, а новые блоки всегда записываются в конец. […] Файловые системы с журнальной структурой часто используются для флэш-носителей, поскольку они естественным образом выполняют выравнивание износа; […] NILFS делает акцент на моментальных снимках. Подход с журнальной структурой — это особая форма поведения копирования при записи, поэтому он естественным образом подходит для создания моментальных снимков файловой системы. Разработчики NILFS говорят о создании «непрерывных моментальных снимков», которые можно использовать для восстановления после проблем файловой системы, инициированных пользователем […]». [2]

Используя метод копирования при записи, известный как файловая система с логической структурой , NILFS записывает все данные в непрерывном формате, похожем на журнал, который только добавляется, но никогда не перезаписывается, подход, разработанный для сокращения времени поиска , а также минимизации потери данных , которая происходит после сбоя в обычных файловых системах. Например, потеря данных происходит в файловых системах ext3 , когда система дает сбой во время операции записи. Когда система перезагружается , журнал отмечает, что запись не была завершена, и любые частичные записи данных теряются.

Некоторые файловые системы, такие как файловые системы, производные от UFS , используемые операционной системой Solaris и BSD , предоставляют функцию моментального снимка , которая предотвращает [ требуется ссылка ] такую ​​потерю данных, но конфигурация моментального снимка может быть длительной на больших файловых системах. NILFS, напротив, может «непрерывно и автоматически [сохранять] мгновенные состояния файловой системы, не прерывая обслуживание», согласно NTT Labs. [3]

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

# проверить /dev/sda2...nilfs> списокcp 1 6 Вт Июл 12 14:55:57 2005 MajorCP|LogiBegin|LogiEnd2048 2352 Вт Июл 12 14:55:58 2005 MajorCP|LogiEnd...nilfs> выйти

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

# монтировать -t nilfs -r -o cp=2048 /dev/sda2 /nilfs-cp# дфФайловая система 1K-блоков Использовано Доступно Use% Смонтировано на/dev/sda2 70332412 8044540 62283776 12% /nilfs/dev/sda2 70332412 8044540 62283776 12% /nilfs-cp

Функции

NILFS обеспечивает непрерывное создание моментальных снимков. В дополнение к возможности управления версиями всей файловой системы пользователи могут даже восстанавливать файлы, ошибочно перезаписанные или удаленные в недавнее время. Поскольку NILFS может сохранять согласованность, как и обычная LFS, она обеспечивает быстрое восстановление после сбоев системы.

Большинство файловых систем не поддерживают непрерывное создание снимков , включая те, которые поддерживают создание снимков на определенный момент времени (например, Btrfs ).

NILFS создает несколько контрольных точек каждые несколько секунд или на основе синхронной записи (если нет никаких изменений). Пользователи могут выбирать значимые версии среди непрерывно создаваемых контрольных точек и могут изменять их в моментальные снимки, которые будут сохраняться до тех пор, пока они не будут изменены обратно на контрольные точки.

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

Возможные варианты использования NILFS включают управление версиями, обнаружение несанкционированного доступа, регистрацию соответствия SOX , восстановление данных при потере данных.

Текущая основная версия NILFS — версия 2, называемая NILFS2. NILFS2 реализует онлайн-сборку мусора для освобождения дискового пространства, сохраняя при этом несколько снимков.

Другие функции NILFS включают в себя:

  • Управление файлами и инодами на основе B-дерева .
  • Немедленное восстановление после сбоя системы.
  • 64-битные структуры данных; поддержка большого количества файлов, больших файлов и дисков.
  • 64-битные дисковые метки времени, не имеющие проблемы 2038 года .

Текущий статус

Проблемы

По состоянию на 2023 год в NILFS отсутствует специальная утилита проверки согласованности (fsck), и поэтому она не может восстанавливаться после серьезных ошибок, из-за которых не удается найти допустимую контрольную точку. [4] [5]

Поддерживаемые функции

  • Основные функции файловой системы POSIX
  • Снимки
    • Автоматически и непрерывно принимается
    • Нет ограничений на количество снимков до заполнения тома
    • Монтируется как файловая система только для чтения
    • Возможность одновременного монтирования с возможностью записи (удобно для создания последовательных резервных копий во время использования)
    • Быстрый листинг
  • Фоновая сборка мусора (GC)
    • Может поддерживать несколько снимков
    • Выбираемая политика GC, которая задается демоном пользовательского пространства.
  • Быстрое восстановление после сбоя на месте
  • Упреждающее чтение файлов метаданных, а также файлов данных
  • Размеры блоков меньше размера страницы (например, 1 КБ или 2 КБ)
  • Изменение размера в режиме онлайн (начиная с Linux-3.x и nilfs-utils 2.1)
  • Сопутствующие коммунальные услуги (автор Дзиро СЕКИБА)

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

  • Быстрое время записи и восстановления
  • Минимальный ущерб файловым данным и целостности системы при сбое оборудования
  • Внутренние данные обрабатываются в формате слова размером 64 бита.
  • Может создавать и хранить огромные файлы (8 ЭБ )

Совместимость

NILFS доступен в различных дистрибутивах GNU/Linux , таких как Arch Linux , [8] Debian [9] (начиная с версии 5.0), Fedora , Gentoo , [10] Linux Mint , NixOS , Ubuntu (начиная с версии 9.10) и т. д. Чтобы использовать его, пользователям обычно необходимо установить пакет nilfs-utils или nilfs-tools. Загрузочный компакт-диск с NILFS также доступен на PrRescue.

Он также поддерживается приложениями для редактирования разделов, такими как GParted . [11]

Отдельная реализация, лицензированная BSD , в настоящее время поддерживающая только чтение , включена в NetBSD . [12]

Относительная производительность

В презентации SD-карт и файловых систем для встраиваемых систем, состоявшейся в январе 2015 года на Linux.conf.au , было заявлено: [13]

Если у вас есть рабочая нагрузка, чувствительная к задержке, вы можете использовать NILFS. Если у вас есть нагрузка, чувствительная к пропускной способности, вы можете использовать F2FS .

—  Питер Чабб

NILFS2 работает гораздо лучше в случае большого количества мелких файлов, чем F2FS или EXT4.

—  Питер Чабб

Лицензия

Утилиты файловой системы NILFS2 предоставляются по лицензии GNU General Public License версии 2, за исключением библиотек lib/nilfs и их заголовочных файлов, которые предоставляются по лицензии GNU Lesser General Public License версии 2.1.

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

Основными японскими авторами и основными участниками, которые nilfs-utilsработали или работают в лабораториях корпорации NTT, являются:

  • Рюсукэ Кониси (Основной сопровождающий, 02/2008–настоящее время)
  • Кодзи Сато
  • Нарухико Камимура
  • Сэйдзи Кихара
  • Ёсидзи Амагай
  • Хисаши Хифуми и
  • Сатоши Мориаи.

Другими основными участниками являются:

  • Андреас Ронер [14]
  • Дэн Макги
  • Дэвид Арендт
  • Дэвид Смид
  • Дексен ДеВрис
  • Дмитрий Смирнов
  • Эрик Сэндин
  • Дзиро СЭКИБА
  • Маттео Фриго
  • Хитоши Митаке
  • Такаши Иваи
  • Вячеслав Дубейко

Смотрите также

Ссылки

  1. ^ «Текущий статус NILFS».
  2. ^ «BTRFS и NILFS [LWN.net]».
  3. ^ "Статья о NILFS" . Получено 28 июля 2008 г.
  4. ^ Поврежденный раздел NILFS2 (/var) — Есть ли мнения о лучшей файловой системе для /var?
  5. ^ Архивы ядра: Невозможно смонтировать nilfs - ошибка поиска super root.
  6. ^ NILFS версия 1: обзор
  7. ^ не проверяет: Re: Выполняет ли nilfs2 контрольную сумму всех данных?; ядро ​​4.4.38-v7+ тоже не проверяет.
  8. ^ "Arch Linux - nilfs-utils 2.2.9-1 (X86_64)".
  9. ^ "Debian -- Подробная информация о пакете nilfs-tools в bullseye".
  10. ^ «Sys-fs/Nilfs-utils – Пакеты Gentoo».
  11. ^ "GParted -- Возможности".
  12. ^ NiLFS(2) исходный код фиксации
  13. ^ Питер Чабб. "SD-карты и файловые системы для встраиваемых систем". Linux.conf.au.
  14. ^ https://www.complang.tuwien.ac.at/Diplomarbeiten/rohner18.pdf [ пустой URL-адрес PDF ]
  • Официальный сайт
  • «Статья, описывающая высокоуровневые функции». Архивировано из оригинала 2013-01-03.
  • «Крупнейшая в мире телекоммуникационная компания присоединяется к лабораториям разработки ПО с открытым исходным кодом». Архивировано из оригинала 27.01.2013.
  • NILFS: Файловая система, которая заставит SSD-накопители кричать [узурпировано]
  • Учебник Manjaro NILFS: Файловая система, разработанная для минимизации вероятности [sic] потери данных Архивировано 06.01.2017 на Wayback Machine
Взято с "https://en.wikipedia.org/w/index.php?title=NILFS&oldid=1265872217"