NILFS | это... Что такое NILFS? (original) (raw)

Есть более полная статья
NILFS
Разработчик Nippon Telegraph and Telephone Cyber Space Laboratories
Файловая система New Implementation of a Log-structured File System
Дата представления ()
Структура
Размещение файлов B-tree
Ограничения
Максимальный размер файла 8 Эксабайт
Максимальная длина имени файла 255 байт
Допустимые символы в названиях Все байты кроме NUL и '/'
Возможности
Атрибуты POSIX
Права доступа POSIX, ACL
Поддерживается ОС Linux, (ReadOnly для NetBSD)

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 (lenny, squeeze, wheezy, and sid).
Ubuntu NILFS внедрена начиная с Ubuntu 9.10.
CentOS x86 и x86_64 for CentOS 5/6 доступны на сайте разработчика http://www.nilfs.org.
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: http://prrescue.prnet.org/index.php/Main_Page
Arch NILFS внедрена в Arch Linux.
Linux Mint NILFS внедрена в Linux Mint.

NILFS была внедрена в ядро Linux начиная с версии 2.6.30[1]. Начиная с версии 2.6.30 ядра Linux, понадобиться (?возможно) загрузить только утилитный пакет с сайта разработчика http://www.nilfs.org. Отдельно, BSD лицензированная реализация, в настоящее время ограниченая read-only, включена в NetBSD[2].

Возможности

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

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

Эти «мгновенные состояния» — «контрольные точки», которые 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

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

Примечания

  1. Linux Kernel 2.6.30 Is Out, Includes the NILFS2 Filesystem
  2. NiLFS(2) source commit
  3. 1 2 Официальная документация о NILFS. Архивировано из первоисточника 31 марта 2012.

См. также

Ссылки

Просмотр этого шаблона Файловые системы (списоксравнение)
Дисковые ADFSAdvFSBeFSBtrfsEFSextext2ext3ext3cowNext3ext4FAT • FATX • VFAT • FFS • Files-11 • GFS • HFSHFS Plus • XFSX • HPFSISO 9660JFS • LFS • MFS (Macintosh) • MFS (Tivo) • Minix • MUFS • NWFS • NILFSNSSNTFSProtogon (В разработке) • PFS • Qnx4fs • Qnx6fs • ReiserFSReiser4SFS • SpadFS • UFS • UFS2 • UDFVxFSWinFSWAFLXFSZFSБольше... Оптические диски ISO 9660UDF Флеш-память/SSD FATexFAT (FAT64) • TFAT • FFS2 • JFFS • JFFS2 • LogFS • NVFS • UDFYAFFS Кластерные Files-11 • GFS • OCFS • QFSXsanБольше...
Распределённые(сетевые) AFS • OpenAFS • AFPCephDFSGlusterFSGPFSGoogle File SystemLustreNCPNFSPOHMELFSHadoopKosmosHAMMERSMB (CIFS)Больше...
Специальные cramfsFUSESquashfsUMSDOSUnionFSБольше... Псевдо- и виртуальные configfs • devfs • procfs • specfs • sysfstmpfsWinFS Шифрованные EncFSEFS • FSFS • SSHFS • SolFS • ZFS