NILFS

редактировать
NILFS
Разработчик (и) Nippon Telegraph and Telephone Cyber ​​Space Laboratories
Полное имяНовая реализация файловой системы с лог-структурой
Представлена ​​2005 г.; 15 лет назад (2005 г.) с ядром Linux 2.6.13
Структуры
Размещение файловB-дерево
Пределы
Макс. размер тома8 EiB
Макс. размер файла8 EiB
Макс. длина имени файла255 байтов
Другие
Поддерживаемые операционные системы ядро ​​Linux, (Только для чтения для NetBSD )

NILFS или NILFS2 (New I реализация L og-структурированного F файла S системы) является лог-структурой реализация файловой системы для ядра Linux. Он разрабатывается Nippon Telegraph and Telephone Corporation (NTT) CyberSpace Laboratories и сообществом со всего мира. NILFS был выпущен на условиях Стандартной общественной лицензии GNU (GPL).

Содержание
  • 1 Дизайн
  • 2 Характеристики
    • 2.1 Текущее состояние
      • 2.1.1 Поддерживаемые функции
    • 2.2 Дополнительные функции
  • 3 Совместимость с ОС
  • 4 Относительная производительность
  • 5 Лицензия
  • 6 Разработчики
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
Дизайн

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

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

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

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

# inspect / dev / sda2... nilfs>listcp 1 6 Вт 12 июля, 14:55:57 2005 MajorCP | LogiBegin | LogiEnd 2048 2352 Вт 12 июля 14:55:58 2005 MajorCP | LogiEnd... nilfs>quit

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

# mount -t nilfs -r -o cp = 2048 / dev / sda2 / nilfs-cp # df Файловая система Используется 1K-блоков Доступно Использование% Установлено на / 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 реализует онлайн-сборку мусора для восстановления дисковое пространство остроумие h сохранение нескольких снимков.

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

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

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

  • Базовый Особенности файловой системы POSIX
  • Снимки
    • Автоматически и непрерывно делаются
    • Нет ограничений на количество снимков, пока том не заполнится
    • Возможность монтирования только для чтения файловые системы
    • Монтируются одновременно с монтированием с возможностью записи (удобно для создания согласованных резервных копий во время использования)
    • Быстрый список
  • Фоновая сборка мусора
    • Может поддерживать несколько снимков
    • Выбираемая политика GC, которая предоставляется демоном пользовательского уровня.
  • Быстрое восстановление после сбоя при монтировании
  • Упреждающее чтение для файлов метаданных, а также файлов данных
  • Размеры блоков меньше размера страницы (например, 1 КБ или 2 КБ)
  • Изменение размера в режиме онлайн (начиная с Linux-3.x и nilfs-utils 2.1)
  • Связанные утилиты (при участии Jiro SEKIBA)
    • grub2
    • util-linux (blkid, libblkid, uuid mount)
    • udisks, palimpsest
    • Fil метка esystem (nilfs-tune)

Дополнительные функции

  • Быстрое время записи и восстановления
  • Минимальное повреждение файловых данных и целостность системы при отказе оборудования
    • 32-битные контрольные суммы (CRC32 ) для данных и метаданных для обеспечения целостности (для каждой группы блоков, в сводке по сегменту)
    • Правильно упорядоченные данные и записи метаданных
    • Избыточный суперблок
  • Внутренние данные обрабатываются с размером слова 64 бита
  • Может создавать и хранить огромные файлы (8 EiB )
Совместимость с ОС
РаспространениеОписание
Debian NILFS доступен в Debian 5.0 и новее.
Ubuntu NILFS доступен в Ubuntu 9.10 и новее.
CentOS x86 и x86_64 для CentOS 6 и x86_64 для Centos 7 доступны на [1].
Fedora Сборка и установка nilfs-utils-2.1 требуется для использования NILFS в Fedora 14 ~ 16. Для Fedora 15 и новее пользователю также необходимо собрать модуль ядра NILFS2 с объясненными шагами.
openSUSE i586 и x86_64 для openSUSE и SUSE Linux Enterprise доступны в службе сборки openSUSE.
Gentoo NILFS доступен в Gentoo Linux. Загрузочный компакт-диск с NILFS доступен в PrRescue
Arch Linux NILFS доступен в Arch Linux.
Linux Mint NILFS доступен в Linux Mint.
NixOS NILFS доступен в NixOS.
  • NILFS была объединена с ядром Linux 2.6.30.
  • В дистрибутивах, где NILFS доступна "из коробки", пользователю необходимо загрузить пакет nilfs-utils (или nilfs-tools)., следуя инструкциям из [2].

В NetBSD.

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

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

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

— Peter Chubb

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

— Peter Chubb
Лицензия

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

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

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

  • Ryusuke Konishi (Primary сопровождающий, 02/2008-настоящее время)
  • Кодзи Сато
  • Нарухико Камимура
  • Сейджи Кихара
  • Йошиджи Амагай
  • Хисаши Хифуми и
  • Сатоши Мориаи.

Другие основные участники:

  • Андреас Ронер
  • Дэн МакГи
  • Дэвид Арендт
  • Дэвид Смид
  • dexen deVries
  • Дмитрий Смирнов
  • Эрик Сандин
  • Дзиро СЕКИБА
  • Маттео Фриго
  • Хитоши Митаке
  • Такаши Iwai
  • Вячеслав Дубейко
См. Также
  • Портал бесплатного и открытого программного обеспечения
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 07:01:28
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте