diff options
author | Niels de Vos <ndevos@redhat.com> | 2014-05-11 01:10:31 -0300 |
---|---|---|
committer | Niels de Vos <ndevos@redhat.com> | 2014-05-11 03:40:24 -0700 |
commit | 29a5a7642d1762f2336ef8e89b81039e25810e1a (patch) | |
tree | b04e8d9ce96155c99cbc01064f627637f7873e75 | |
parent | 4fbbbcf72a0de6df19b14f2af9da653c6190dfe2 (diff) |
doc: Adding user documentation for WORM feature
Cherry picked from commit 03813a6ec08405c815b993551d16f07075efd467:
> Change-Id: Ic31c8305254dd00eae986fbb322cac3761b5d330
> BUG: 1086760
> Signed-off-by: Kasturi Narra <knarra@redhat.com>
> Reviewed-on: http://review.gluster.org/7530
> Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
> Reviewed-by: Niels de Vos <ndevos@redhat.com>
> Reviewed-by: Lalatendu Mohanty <lmohanty@redhat.com>
> Tested-by: Gluster Build System <jenkins@build.gluster.com>
Change-Id: I5897ad47ae995ec55418dca0308dd97f00e1a1e0
BUG: 1086760
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/7732
-rw-r--r-- | doc/features/worm.md | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/doc/features/worm.md b/doc/features/worm.md new file mode 100644 index 00000000000..dba99777da5 --- /dev/null +++ b/doc/features/worm.md @@ -0,0 +1,75 @@ +#WORM (Write Once Read Many) +This features enables you to create a `WORM volume` using gluster CLI. +##Description +WORM (write once,read many) is a desired feature for users who want to store data such as `log files` and where data is not allowed to get modified. + +GlusterFS provides a new key `features.worm` which takes boolean values(enable/disable) for volume set. + +Internally, the volume set command with 'feature.worm' key will add 'features/worm' translator in the brick's volume file. + +`This change would be reflected on a subsequent restart of the volume`, i.e gluster volume stop, followed by a gluster volume start. + +With a volume converted to WORM, the changes are as follows: + +* Reads are handled normally +* Only files with O_APPEND flag will be supported. +* Truncation,deletion wont be supported. + +##Volume Options +Use the volume set command on a volume and see if the volume is actually turned into WORM type. + + # features.worm enable +##Fully loaded Example +WORM feature is being supported from glusterfs version 3.4 +start glusterd by using the command + + # service glusterd start +Now create a volume by using the command + + # gluster volume create <vol_name> <brick_path> +start the volume created by running the command below. + + # gluster vol start <vol_name> +Run the command below to make sure that volume is created. + + # gluster volume info +Now turn on the WORM feature on the volume by using the command + + # gluster vol set <vol_name> worm enable +Verify that the option is set by using the command + + # gluster volume info +User should be able to see another option in the volume info + + # features.worm: enable +Now restart the volume for the changes to reflect, by performing volume stop and start. + + # gluster volume <vol_name> stop + # gluster volume <vol_name> start +Now mount the volume using fuse mount + + # mount -t glusterfs <vol_name> <mnt_point> +create a file inside the mount point by running the command below + + # touch <file_name> +Verify that user is able to create a file by running the command below + + # ls <file_name> + +##How To Test +Now try deleting the above file which is been created + + # rm <file_name> +Since WORM is enabled on the volume, it gives the following error message `rm: cannot remove '/<mnt_point>/<file_name>': Read-only file system` + +put some content into the file which is created above. + + # echo "at the end of the file" >> <file_name> +Now try editing the file by running the commnad below and verify that the following error message is displayed `rm: cannot remove '/<mnt_point>/<file_name>': Read-only file system` + + # sed -i "1iAt the beginning of the file" <file_name> +Now read the contents of the file and verify that file can be read. + + cat <file_name> + +`Note: If WORM option is set on the volume before it is started, then volume need not be restarted for the changes to get reflected`. |