НИЛЬФЫ - NILFS
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Разработчики) | Nippon Telegraph and Telephone Кибер-космические лаборатории |
---|---|
Полное имя | Новая реализация файловой системы с лог-структурой |
Введено | 2005Ядро Linux 2.6.13 | с участием
Структуры | |
Размещение файлов | B-дерево |
Пределы | |
Максимум. размер тома | 8 EiB |
Максимум. размер файла | 8 EiB |
Максимум. длина имени файла | 255 байт |
особенности | |
Даты записаны | время (запланировано) |
Разрешение даты | 64-битные метки времени на диске |
Атрибуты | POSIX с планами расширенных атрибутов |
Разрешения файловой системы | POSIX, с планами ACL[1] |
Прозрачное сжатие | Нет |
Прозрачное шифрование | Нет |
Копирование при записи | да |
Другой | |
Поддерживается операционные системы | Ядро Linux, (Только чтение для NetBSD ) |
НИЛЬФЫ или NILFS2 (Nфу яреализация Log-структурированный File Sсистема) это файловая система с лог-структурой реализация для Ядро Linux. Его разрабатывают Nippon Telegraph and Telephone Corporation (NTT) Киберпространственные лаборатории и сообщество со всего мира. NILFS был выпущен на условиях Стандартная общественная лицензия GNU (GPL).
дизайн
«NILFS - это файловая система с журнальной структурой, в которой носитель данных рассматривается как кольцевой буфер, и новые блоки всегда записываются до конца. […] Файловые системы с журнальной структурой часто используются для флэш-носителей, поскольку они естественным образом изнашиваются. leveling; […] NILFS делает упор на моментальные снимки. Подход с лог-структурой - это особая форма поведения копирования при записи, поэтому он, естественно, поддается созданию моментальных снимков файловой системы. Разработчики NILFS говорят о создании «непрерывных моментальных снимков». который можно использовать для восстановления после проблем с файловой системой, инициированных пользователем […]. "[2]
С помощью копирование при записи Метод, известный как «ничто в жизни не является бесплатным», NILFS записывает все данные в непрерывном журнальном формате, который только добавляется, но никогда не перезаписывается. Этот подход разработан для сокращения время поиска, а также минимизировать вид потеря данных это происходит после сбоя в обычных файловых системах. Например, потеря данных происходит на ext3 файловые системы, когда система аварии во время операции записи. Когда система перезагружается, то журнал отмечает, что запись не завершена, и любые частичные записи данных потеряны.
Некоторые файловые системы, например файловые системы на основе UFS, используемые Операционная система Solaris и BSD, обеспечить снимок функция, которая предотвращает[нужна цитата ] такая потеря данных, но конфигурация моментального снимка может занять много времени в больших файловых системах. NILFS, напротив, может «постоянно и автоматически [сохранять] мгновенные состояния файловой системы без прерывания обслуживания», согласно NTT Labs.[3]
«Мгновенные состояния», которые NILFS постоянно сохраняет, могут быть фактически смонтированы в режиме «только для чтения» в то же время, когда фактическая файловая система монтируется для чтения и записи - возможность, полезная для восстановления данных после сбоев оборудования и других сбоев системы. Команда "lscp" (список контрольных точек) интерактивной утилиты NILFS "inspect" сначала используется для поиска адреса контрольной точки, в данном случае "2048":
# inspect / dev / sda2 ... nilfs> listcp 1 6 Вт 12 июля, 14:55:57 2005 MajorCP | LogiBegin | LogiEnd2048 2352 Вт 12 июля 14:55:58 2005 MajorCP | LogiEnd ... nilfs> выйти
Адрес контрольной точки затем используется для монтирования контрольной точки:
# mount -t nilfs -r -o cp = 2048 / dev / sda2 / nilfs-cp # dfFilesystem Используется 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 реализует онлайн-сборку мусора для освобождения дискового пространства с сохранением нескольких снимков.
Другие функции NILFS включают:
- B-дерево на основе управления файлами и индексными дескрипторами.
- Немедленное восстановление после сбоя системы.
- 64-битные структуры данных; поддержка множества файлов, больших файлов и дисков.
- 64-битные метки времени на диске, которые не содержат проблема 2038 года.
Текущее состояние
Поддерживаемые функции
- Основные функции файловой системы POSIX
- Снимки
- Принимаются автоматически и непрерывно
- Нет ограничений на количество снимков до заполнения тома
- Возможность монтирования как файловые системы только для чтения
- Возможность монтирования одновременно с монтированием с возможностью записи (удобно для создания согласованных резервных копий во время использования)
- Быстрый список
- Фоновая сборка мусора
- Может поддерживать несколько снимков
- Выбираемая политика GC, которая предоставляется демоном пользователя.
- Быстрое восстановление после сбоя на креплении
- Упреждающее чтение файлов метаданных, а также файлов данных
- Размеры блоков меньше размера страницы (например, 1 КБ или 2 КБ)
- Изменение размера онлайн (начиная с Linux-3.x и nilfs-utils 2.1)
- Сопутствующие коммунальные услуги (предоставлено Джиро СЕКИБА)
- grub2
- util-linux (монтирование blkid, libblkid, uuid)
- удиски, палимпсест
- Метка файловой системы (nilfs-tune)
Дополнительные возможности
- Быстрая запись и восстановление
- Минимальный ущерб файловым данным и целостности системы при отказе оборудования
- 32-битный контрольные суммы (CRC32 ) по данным и метаданным для обеспечения целостности (для каждой группы блоков в сводке по сегментам) [4] [5]
- Правильно упорядоченные данные и запись метаданных
- Избыточный суперблок
- Внутренние данные обрабатываются в формате слова шириной 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 в Fedora 14 ~ 16 требуется сборка и установка nilfs-utils-2.1. Для 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.[6]
- В дистрибутивах, где NILFS доступен прямо из коробки, пользователю необходимо загрузить пакет nilfs-utils (или nilfs-tools), следуя инструкциям из [2].
Отдельный, BSD лицензионная реализация, в настоящее время с только чтение поддержка, входит в NetBSD.[7]
Относительная производительность
В презентации в январе 2015 г. SD-карты и файловые системы для встроенные системы в Linux.conf.au, было сказано:[8]
Если у вас есть рабочая нагрузка, чувствительная к задержкам, вы можете использовать NILFS. Если у вас есть тот, который чувствителен к пропускной способности, вы можете использовать F2FS.
— Питер Чабб
NILFS2 работает намного лучше с большим количеством мелких файлов, чем F2FS или EXT4.
— Питер Чабб
Лицензия
Утилиты файловой системы NILFS2 доступны по лицензии GNU Public License версии 2, за исключением библиотек lib / nilfs и их файлов заголовков, которые доступны по лицензии GNU Lesser General Public License версии 2.1.
Разработчики
Основные японские авторы и основные участники nilfs-utils
которые работали или работают в лабораториях NTT Corporation:
- Рюсукэ Кониси (основной сопровождающий, 02/2008-настоящее время)
- Кодзи Сато
- Нарухико Камимура
- Сейджи Кихара
- Ёсидзи Амагай
- Хисаши Хифуми и
- Сатоши Мориаи.
Другие основные участники:
- Андреас Ронер [9]
- Дэн МакГи
- Дэвид Арендт
- Дэвид Смид
- Dexen deVries
- Дмитрий Смирнов
- Эрик Сандин
- Дзиро СЕКИБА
- Маттео Фриго
- Хитоши Митаке
- Такаши Иваи
- Вячеслав Дубейко
Смотрите также
- ZFS
- Btrfs
- Список файловых систем
- Сравнение файловых систем
- Файловая система с лог-структурой (BSD)
- Операционная система Sprite
использованная литература
- ^ «Текущий статус NILFS».
- ^ https://lwn.net/Articles/238923/
- ^ «Статья о НИЛФ». Получено 2008-07-28.
- ^ NILFS версия 1: обзор
- ^ не проверяет: Re: Проверяет ли nilfs2 контрольную сумму всех данных?; ядро 4.4.38-v7 + тоже не проверяет.
- ^ Ядро Linux 2.6.30 отсутствует, включает файловую систему NILFS2
- ^ NiLFS (2) исходный коммит
- ^ Питер Чабб. «SD-карты и файловые системы для встраиваемых систем». Linux.conf.au.
- ^ https://www.complang.tuwien.ac.at/Diplomarbeiten/rohner18.pdf
внешние ссылки
- Официальный веб-сайт
- «Статья с описанием функций высокого уровня». Архивировано из оригинал на 2013-01-03.
- «Крупнейшая в мире компания TELCO присоединяется к лабораториям разработки с открытым исходным кодом». Архивировано из оригинал 27 января 2013 г.
- NILFS: файловая система, заставляющая SSD кричать
- Учебник Manjaro NILFS: файловая система, разработанная для минимизации вероятности [sic] потери данных.