#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 start the volume created by running the command below. # gluster vol start 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 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 stop # gluster volume start Now mount the volume using fuse mount # mount -t glusterfs create a file inside the mount point by running the command below # touch Verify that user is able to create a file by running the command below # ls ##How To Test Now try deleting the above file which is been created # rm Since WORM is enabled on the volume, it gives the following error message `rm: cannot remove '//': Read-only file system` put some content into the file which is created above. # echo "at the end of the file" >> Now try editing the file by running the commnad below and verify that the following error message is displayed `rm: cannot remove '//': Read-only file system` # sed -i "1iAt the beginning of the file" Now read the contents of the file and verify that file can be read. cat `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`.