September 26, 2005


"NILFS" -A New Linux File System for Prevention of Data Loss
-Development of a file system that allows restoration of a past state at any time-


NTT (headquartered in Chiyoda-ku, Tokyo with Norio Wada as President) has developed NILFS (New Implementation of a Log-structured File System), a new file system for the Linux (*1) operating system that is designed to improve reliability by continuously and automatically saving instantaneous states (snapshots (*2)) of the file system without interrupting service. Today, we have released NILFS as open source software (*3).
When a Linux computer system with a conventional file system crashed, a great deal of time and effort is required to restore the data to the state just prior to failure and then restart the system, and data could be lost because the writing of data is not guaranteed on some conditions. Furthermore, although Solaris (*4) and other operating systems provide a data snapshot function, the file system service must be temporarily suspended when that function is executed.
NILFS greatly improves the reliability of Linux systems, thus accelerating the growth and adoption of Linux in business enterprise systems and other computer systems that require management of file changes.


1. Development
NTT Cyber Space Laboratories (referred to as simply NTT Labs below) are making positive use of open source software in order to serve as the mainstay system for enterprises. We have been focusing on improving the reliability and functionality of operating systems, database management systems, and other such middleware. In February of 2004, we joined Open Source Development Labs, Inc. (OSDL) (*5) to take part in establishing technical specifications, and we are researching on the systems based on the technical specifications.
Specifically, "OSDL Data Center Linux Capabilities 1.1" (*6) published by OSDL in February of this year adopted the functional requirements of the reliable file system that were proposed, mainly by NTT Labs. We also proposed NILFS as a file system that satisfies those requirements of the reliable file system to reduce various operational costs, and we have been developing the core components of NILFS.


2. Special features of NILFS (see appendix)
NILFS has the features listed below.
(1) Changes or additions to data are appended with their checksums in an empty area of the disk without overwriting existing data (*7)
The probability of data corruption is tremendously reduced and write performance is highly improved. Therefore, this is best suited for saving files such as log output on a database server.
(2) When a series of data writes (i.e., a transaction) has been completed, a time-stamped snapshot is taken, so recovery from a failure is possible without a consistency check. In addition, the state of the data at any time in the past can be restored, limited only by the disk capacity.
(3) The snapshots can be taken continuously and automatically without disturbing the file service.
(4) The B-tree (*8) is used for managing the file system to achieve efficient processing for large files or large numbers of files.
(5) Ordinary personal computers can be used without adding special hardware, so this file system can be used on desktop Linux systems as well as enterprise servers.


3. Distribution
NILFS is free software, available with full source code under the GNU General Public License (GPL) (*9) Version 2.0 at the URL listed below as of today.
NILFS project Web site: http://www.nilfs.org/


4. Plans for the future
In future work, we will continue open source development of NILFS to contribute even more to the information society by further improving function, performance and quality to accelerate the adoption of Linux.


Terminology
*1:  Linux
Linux is an operating system kernel developed by Linus Torvalds in 1991 while he was studying at Helsinki University in Finland. The code was released as open source software under the GNU GPL and under continuous improvement by volunteer developers around the world. Linux is a registered trademark of Linus Torvalds.

*2: 

Snapshot
Snapshot is a whole image of the file system at the specific point in time.

*3: 

Open source software
This is software for which the source code is published on the Internet or other media so that anyone can improve or redistribute the code. The term "open source" attracted much attention and its meaning had come to depend on who was using it, so the Open Source Initiative (OSI) has proposed "The Open Source Definition" (OSD).

*4: 

Solaris
Solaris is an operating system developed by Sum Microsystems, Inc. It is a registered trademark of Sun Microsystems, Inc.

*5: 

Open Source Development Labs, Inc. (OSDL)
This is a non-profit organization founded in 2000 with the purpose of accelerating the growth and adoption of Linux in the enterprise. Linus Torvalds, the creator of Linux, is also a member.
(See URL http://www.osdl.org/ (English) http://www.osdl.jp/ (Japanese))

*6: 

OSDL Data Center Linux Capabilities Ver. 1.1 (DCL 1.1)
DCL 1.1 define the functions required for Linux to cope with the security, storage and performance that are required by the enterprise market.
(See URL http://osdl.jp/newsroom/press_releases/2005/2005_02_09_beaverton.html)

*7: 

Checksum
This is one technique for detecting errors in data that employs simple computation such as summing up all of the data. The value of the checksum is stored along with the data. When the data is read, the same computation is performed and the result is compared with the stored checksum value. The difference of these values means corruption in the data.

*8: 

B-tree
This is a method for rapid search of dynamically changing data. It has been used widely in database systems since it was reported in 1972, and its use in the recent file systems is increasing.

*9: 

GNU General Public License (GPL)
This is an open source software license that emphasizes guaranteed freedom of software.
(See URL http://www.gnu.org/licenses/gpl.html)



- Appendix 1  NILFS Features (1)
- Appendix 2  NILFS Features (2)




Send inquiries to:
Kawano/Yamashita, Public Relations, Planning Division
NTT Cyber Communication Laboratories
TEL:  046-859-2032
E-mail:  ckoho@lab.ntt.co.jp


NTT NEWS RELEASE

Copyright (c) 2005 Nippon telegraph and telephone corporation