path: root/doc
diff options
authorM. Mohan Kumar <>2013-11-13 22:44:42 +0530
committerAnand Avati <>2013-11-13 11:38:28 -0800
commit15a8ecd9b3eedf80881bd3dba81f16b7d2cb7c97 (patch)
tree856377a3f077ac4ea5cb9db2950210c8d9f30fb1 /doc
parentc1109ed6c6c7bff0df22c304158e9f392f83cf59 (diff)
bd_map: Remove bd_map xlator
Remove bd_map xlator and CLI related changes. Change-Id: If7086205df1907127c1a1fa4ba603f1c48421d09 BUG: 1028672 Signed-off-by: M. Mohan Kumar <> Reviewed-on: Tested-by: Gluster Build System <> Reviewed-by: Anand Avati <>
Diffstat (limited to 'doc')
2 files changed, 2 insertions, 151 deletions
diff --git a/doc/features/bd.txt b/doc/features/bd.txt
deleted file mode 100644
index c1ba006ef..000000000
--- a/doc/features/bd.txt
+++ /dev/null
@@ -1,130 +0,0 @@
-1. Introduction
-2. Advantages
-3. Creating BD backend volume
-4. BD volume file
-5. Using BD backend gluster volume
-6. Limitations
-7. TODO
-1. Introduction
-Block Device translator(BD xlator) represented as storage/bd_map in
-volume file adds a new backend 'block' to GlusterFS. It enables
-GlusterFS to export block devices as regular files to the client.
-Currently BD xlator supports exporting of 'Volume Group(VG)' as
-directory and Logical Volumes(LV) within that VG as regular files to the
-The eventual goal of this work is to support thin provisioning,
-snapshot, copy etc of VM images seamlessly in GlusterFS storage
-The immediate goal of this translator is to use LVs to store
-VM images and expose them as files to QEMU/KVM. Given VG is represented
-as directory and its logical volumes as files.
-BD xlator uses lvm2-devel APIs for getting the list of VGs and LVs in
-the system and lvm binaries (such as lvcreate, lvresize etc) to perform
-the required LV operations.
-2. Advantages
-By exporting LVs as regular files, it becomes possible to:
-* Associate each VM to a LV so that there is no file system overhead.
-* Use file system commands like cp to take copy of VM images
-* Create linked clones of VM by doing LV snapshot at server
-* Implement thin provisioning by developing a qcow2 translator
-3. Creating BD backend volume
-New parameter "device vg" in volume create command is used to create BD
-backend gluster volumes.
-For example
- $ gluster volume create my-volume device vg hostname:/my-vg
-creates gluster volume 'my-volume' with BD backend which uses the VG
-'my-vg' to store data. VG 'my-vg' should exist before creating this
-gluster volume.
-4. BD volume file
-BD backend volume file specifies which VG to export to the client. The
-section in the volume file that describes BD xlator looks like this.
-volume my-volume-bd_map
-type storage/bd_map
-option device vg
-option export volume-group
-option device=vg specifies that it should use VG as block backend. option
-export=volume-group specifies that it should export VG "volume-group"
-to the client.
-5. Using BD backend gluster volume
- $ mount -t glusterfs hostname:/my-volume /media/bd
- $ cd /media/bd
-From the mount point:
-* Creating a new file (ie LV) involves two steps
- $ touch lv1
- $ truncate -s <size> lv1
- or
- $ qemu-img create -f <format> gluster:/hostname/my-volume/path-to-image <size>
-* Cloning an LV
- $ ln lv1 lv2
-* Snapshotting an LV
- $ ln -s lv1 lv1-ss
-* Passing it to QEMU as one of the drives
- $ qemu -drive file=<mount>/<file>,if=<if-type>
-* GlusterFS is one of the supported QEMU block drivers, the URI format
- is
- gluster[+transport]://[server[:port]]/my-volume/image[?socket=...]
- ie
- $ qemu -drive file=gluster:/hostname/my-volume/path-to-image,if=<if-type>
-Using Gluster CLI:
-* To create a new image of required size
- $ gluster bd create my-volume:/path-to-image <size>
-* To delete an existing image
- $ gluster bd delete my-volume:/path-to-image
-* To clone (full clone) an image
- $ gluster bd clone my-volume:/path-to-image new-image
-* To take a snapshot of an image
- $ gluster bd snapshot my-volume:/path-to-image snapshot-image <size>
-All gluster BD commands need size to specified in terms of KB, MB, etc.
-6. Limitations
-* No support to create multiple bricks
-* Image creation should be used with truncate to get proper size or use
- qemu-img create
-* cp command can't be used to copy images, instead use ln command or
- gluster bd clone command
-* ln -s command throws an error even if snapshot is successful
-* When ln command used on BD volumes, target file's inode is different
- from target's
-* Creation/deletion of directories, xattr operations, mknod and readlink
- operations are not supported.
-7. TODO
-Add support for exporting LUNs also as a regular files.
-Add support for xattr and multi brick support
-Include support for device mapper thin targets
diff --git a/doc/gluster.8 b/doc/gluster.8
index b23e2c891..3c78fb8b1 100644
--- a/doc/gluster.8
+++ b/doc/gluster.8
@@ -8,7 +8,7 @@
.\" cases as published by the Free Software Foundation.
-.TH Gluster 8 "Gluster command line utility" "22 November 2012" "Gluster Inc."
+.TH Gluster 8 "Gluster command line utility" "07 March 2011" "Gluster Inc."
gluster - Gluster Console Manager (command line utility)
@@ -36,11 +36,9 @@ The Gluster Console Manager is a command line utility for elastic volume managem
\fB\ volume info [all|<VOLNAME>] \fR
Display information about all volumes, or the specified volume.
-\fB\ volume create <NEW-VOLNAME> [device vg] [stripe <COUNT>] [replica <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK> ... \fR
+\fB\ volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK> ... \fR
Create a new volume of the specified type using the specified bricks and transport type (the default transport type is tcp).
To create a volume with both transports (tcp and rdma), give 'transport tcp,rdma' as an option.
-device vg parameter specifies volume should use block backend instead of regular posix backend. In this case NEW-BRICK should specify an existing Volume Group and there can be only one brick for Block backend volumes. \fR
-Refer Block backend section for more details
\fB\ volume delete <VOLNAME> \fR
Delete the specified volume.
@@ -59,9 +57,6 @@ Set the volume options.
\fB\ volume help \fR
Display help for the volume command.
-.SS "Block backend"
-By specifying "device vg" in volume create, a volume capable of exporting block devices(ie Volume Groups (VG)) is created. As of now exporting only VG is supported. While creating block backend volume the "VG" (mentioned in NEW-BRICK) must exist (ie created with vgcreate). VG is exported as a directory and all LVs under that VG will be exported as files. Please refer BD commands section for Block backend related commands
.SS "Brick Commands"
@@ -110,20 +105,6 @@ Display the status of peers.
\fB\ peer help \fR
Display help for the peer command.
-.SS "BD commands"
-\fB\ bd create <VOLNAME:/path-to-image> <size> \fR
-Creates a new image of given size in the volume. Size can be suffixed with MB, GB etc, if nothing specified MB is taken as default.
-\fB\ bd delete <VOLNAME:/path-to-image> \fR
-Deletes a image in the volume
-\fB\ bd clone <VOLNAME:/path-to-image> <new-image> \fR
-Clones an existing image (full clone)
-\fB\ bd snapshot <VOLNAME:/path-to-image> <new-image> <size> \fR
-Creates a linked clone of an existing image with given size. Size can be suffixed with MB, GB etc, if nothing specified MB is taken as default.
.SS "Other Commands"
\fB\ help \fR