From Fedora Project Wiki
Line 13: Line 13:
== Current status ==
== Current status ==
* Targeted release: ?
* Targeted release: 15
* Last updated: 2010-11-12
* Last updated: 2010-11-12
* Percentage of completion: 0%
* Percentage of completion: 0%
== Detailed Description ==
== Detailed Description ==
Line 29: Line 27:
== Scope ==
== Scope ==
LessFS adds functionallity that allows de-duplicated file systems.   
LessFS adds functionallity that allows de-duplicated file systems.   
== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
A good "how to test" should answer these four questions:
0. What special hardware / data / etc. is needed (if any)?
1. How do I prepare my system to test this feature? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the feature is
working like it's supposed to?
3. What are the expected results of those actions?
No special hardware requirements.
No special hardware requirements.
Line 81: Line 64:
* See [[Talk:Features/LessFS]]
* See [[Talk:Features/LessFS]]
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: -->
<!-- A pretty picture of the page category usage is at: -->

Revision as of 17:11, 16 November 2010

All sections of this template are required for review by FESCo. If any sections are empty it will not be reviewed

Feature Name



LessFS is a filesystem deduplication project. The aim is to reduce disk usage where filesystem blocks are identical by only storing 1 block and using pointers to the original block for copies. This method of storage is becoming popular in Enterprise solutions for reducing disk backups and minimising virtual machine storage in particular.


  • Email: duncan AT innes DOT net

Current status

  • Targeted release: 15
  • Last updated: 2010-11-12
  • Percentage of completion: 0%

Detailed Description

Data deduplication is often used for backup purposes and for virtual machine image storage. lessfs can determine if data is redundant by calculating an unique (192 bit) tiger hash of each block of data that is written. When lessfs has determined that a block of data needs to be stored it first compresses the block with LZO or QUICKLZ compression. The combination of these two techniques results in a very high overall compression rate for many types of data. Multimedia files like mp3, avi or jpg files can not be compressed by lessfs when they are only stored once on the filesystem.

Benefit to Fedora

This will bring an as yet unavailable enterprise tool to Fedora. Storage is becoming the biggest consumer of energy in the datacentre. De-duplication will help bring that power and cost requirement down. Inclusion of LessFS (even as a technology preview) will improve the coverage of Fedora and help to push forward an open source method of de-duplication.


LessFS adds functionallity that allows de-duplicated file systems.

How To Test

No special hardware requirements.

A Package Review Request is currently sitting in Bugzilla ( but appears to have stalled.

Once the package is installed, a filesystem can then be created.


Create a filesystem /data/orig as a normal partition. Create a filesystem /data/less as a de-duplicated fuse filesystem using LessFS.

Create a directory & file structure in /data/orig that uses multiple copies of a few large files. Renamed file copies in the same directory and same-name copies in different directories. Files should be multiple blocks in size for optimum testing. Data can be from /dev/random or similar to allow good LZ compression. Once the /data/orig filesystem is of a good size for testing (multiple Gb will be better, but not entirely necessary) copy all the data to /data/less.

An rsync should show that the /data/orig and /data/less filesystems are identical, but checking the /data/less directory will show less disk space usage.

In my view, this package is not aimed at filesystems requiring maximum read/write speed, but is more ideally suited to filesystems with low rate of change. Filesystems with high capacity requirements benefit the most.

User Experience

De-duplication will be noticeable to target users by greatly reducing the disk space requirements for backups to disk and for virtual machine storage. Greater reductions are seen where many images/backups share a common data set.



Contingency Plan

None necessary - this is a new feature and does not change any current part of Fedora


Release Notes

  • Filesystem for FUSE that allows for high performance inline data de-duplication using tokyocabinet for the database.

Comments and Discussion