Interested Article - NILFS

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

Поддержка ОС

Дистрибутив Состояние поддержки
Debian NILFS внедрена начиная с Debian 5.0.
Ubuntu NILFS внедрена начиная с Ubuntu 9.10.
CentOS x86 и x86_64 for CentOS 5/6 доступны на сайте разработчика от 4 июня 2009 на Wayback Machine .
Fedora Сборка и установка NILFS-Utils-2.1 требуется для того, чтобы использовать NILFS в Fedora 14 ~ 16. Начиная с Fedora 15, пользователю также необходимо собрать NILFS2-модуль ядра с подтверждением действий.
openSUSE i586 и x86_64 для openSUSE и SUSE Linux Enterprise доступны на openSUSE Build Service.
Gentoo NILFS внедрена в Gentoo Linux. Boot-cd с NILFS доступен на PrRescue: от 18 апреля 2013 на Wayback Machine
Arch NILFS внедрена в Arch Linux.
Linux Mint NILFS внедрена в Linux Mint.

NILFS была внедрена в ядро Linux начиная с версии 2.6.30 . Начиная с версии 2.6.30 ядра Linux , понадобится (?возможно) загрузить только утилитный пакет с сайта разработчика от 28 июня 2018 на Wayback Machine . Отдельно, BSD лицензированная реализация, в настоящее время ограниченная read-only , включена в NetBSD .

Возможности

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

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

Эти «мгновенные состояния» — «контрольные точки», которые 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 ) для контроля целостности данных и метаданных (для групп блоков, для отдельных сегментов)
    • Запись данных и метаданных в правильном порядке
    • Резервные копии
  • Блоки файлов и inode-ов управляются B-tree структурой
  • 64-битные внутренние данные
  • Поддержка больших файлов (8 Эксабайт )
  • Размер блоков меньше размера страницы (напр., 1 кб или 2 кб)
  • Online resizing (начиная с Linux-3.x и nilfs-utils 2.1)

Примечания

  1. . Дата обращения: 24 ноября 2012. 6 октября 2012 года.
  2. . Дата обращения: 24 ноября 2012. 15 февраля 2012 года.
  3. . Архивировано из 30 марта 2012 года.

См. также

Ссылки

  • от 1 октября 2015 на Wayback Machine (англ.)
  • . Архивировано из 3 января 2013 года. (англ.)
  • от 1 января 2010 на Wayback Machine — краткий обзор системы (рус.)
  • от 22 мая 2013 на Wayback Machine
Источник —

Same as NILFS