[dm-devel] [PATCH RFC 10/10] dm-dedup: documentation

Vasily Tarasov tarasov at vasily.name
Mon Apr 28 15:26:52 UTC 2014


Description of the Dmdedup target in Documentation.

Signed-off-by: Vasily Tarasov <tarasov at vasily.name>
---
 Documentation/device-mapper/dm-dedup.txt |   51 ++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/device-mapper/dm-dedup.txt

diff --git a/Documentation/device-mapper/dm-dedup.txt b/Documentation/device-mapper/dm-dedup.txt
new file mode 100644
index 0000000..11bb7c2
--- /dev/null
+++ b/Documentation/device-mapper/dm-dedup.txt
@@ -0,0 +1,51 @@
+* DMDEDUP
+
+Dmdedup is a device-mapper deduplication target.  Every write coming to the
+Dmdedup instance is deduplicated against previously written data.  For
+datasets that contain many duplicates scattered across the disk (e.g.,
+virtual machine disk images collection and backups) deduplication provides a
+significant amount of space savings.
+
+To quickly identify duplicates, Dmdedup maintains an index of hashes for all
+written blocks.  The block is a user-configurable unit of deduplication with
+a default block size equal to 4KB.  Dmdedup index, along with other
+deduplication metadata, resides on a separate block device, which we refer
+to as metadata device.  Although the metadata device can be on any block
+device, e.g., an HDD or its partition, for higher performance we recommend
+to use SSD devices to store metadata.
+
+To create a new Dmdedup instance, a user can use the standard dmsetup tool:
+
+echo "0 $DMDEDUP_DEV_SIZE dedup data_dev=$DATA_DEV metadata_dev=$META_DEV \
+	mdbackend=cowbtree reconstruct=no" | dmsetup create mydedup
+
+where
+	- $DMDEDUP_DEV_SIZE	is the logical block device size in sectors;
+	- $DATA_DEV		is the block device where the data will reside
+				(e.g., /dev/hdb);
+	- $META_DEV 		is the block device where the metadata
+				will reside (e.g., /dev/hdc).
+
+The mdbackend parameter specifies the metadata backend that should be used
+for storing metadata.  Supported backends are "cowbtree" and "inram."
+Cowbtree uses the device-mapper's persistent API to store metadata. The
+inram backend stores all meta-data in RAM as a hash table.
+
+The "reconstruct= parameter specifies if one wants to reconstruct a
+previously created Dmdedup target (e.g., after a reboot).  Specifying
+"reconstruct=no" reinitializes a metadata device with an empty device.
+
+* AUTHORS
+
+Dmdedup was developed in the File system and Storage Lab (FSL) at Stony
+Brook University Computer Science Department, in collaboration with Harvey
+Mudd College and EMC.
+
+Key people involved in the project were Vasily Tarasov, Geoff Kuenning,
+Sonam Mandal, Karthikeyani Palanisami, Philip Shilane, Sagar Trehan, and
+Erez Zadok.
+
+We also acknowledge the help of several students involved in the
+deduplication project: Teo Asinari, Deepak Jain, Mandar Joshi, Atul
+Karmarkar, Meg O'Keefe, Gary Lent, Amar Mudrankit, Ujwala Tulshigiri, and
+Nabil Zaman.
-- 
1.7.1




More information about the dm-devel mailing list