В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Разработчик(и) | Лаборатории киберпространства Nippon Telegraph and Telephone |
---|---|
Полное имя | Новая реализация файловой системы с журнальной структурой |
Введено | 2005 ядром 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 включают в себя:
По состоянию на 2023 год в NILFS отсутствует специальная утилита проверки согласованности (fsck), и поэтому она не может восстанавливаться после серьезных ошибок, из-за которых не удается найти допустимую контрольную точку. [4] [5]
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, являются:
Другими основными участниками являются: