how to make my RAID device WORM(write once and read many)

Александр Деревянко aeder at list.ru
Mon Apr 18 11:15:49 PDT 2005


prasadam kumar wrote:

>hai,
>
>Thanks for responding to my query,
>actually it is a raid5 storage device it contains
>firewire and usb ports, through this
>interface a user can store data to the  raid5 device
>irrespective of file system.
>once he copied data to the device it should be
>immutable(i.e cannot be modify and delete).
>Can u suggest any approach to achieve this task.
>
>bye
>ppk
>
>--- Александр Деревянко
><aeder at list.ru> wrote:
>  
>
>>prasadam kumar wrote:
>>
>>    
>>
>>>hai,
>>>
>>>I am working Raid5 storage device and i want to
>>>      
>>>
>>make
>>    
>>
>>>my device WORM(write once and read many) and
>>>undeleatable. I formated the target device in vfat,
>>>when 
>>>i am mounting the device in host machine it should 
>>>behavie like WORM. To achive this feature whether i
>>>      
>>>
>>>have to change in host machine or target machine,
>>>which one is better approach and plz tell me how to
>>>achive this.
>>>
>>>bye
>>>ppk
>>>
>>>
>>>		
>>> 
>>>
>>>      
>>>
>>The first question is: for which purpose do you need
>>this feature ? In 
>>any case, you will need to have backup for this
>>RAID.
>> From my point of view, it looks like some version
>>control management 
>>system. May be, it will be wiser to use it ?
>>
>>As i understand, you can't get this feature from
>>plain filesystem. Even 
>>if you hack vinum to allow write only once in every
>>block, usual 
>>filesystem will not work on such device. You can
>>make something like 
>>database with add-only interface (MySQL + some
>>scripting) and allow 
>>access from Web interface.
>>
>>Take a look on some SCM solutions, it may be what
>>you want.
>>
>>-- 
>>Best Regards,
>>Alexander Derevianko
>>
>>_______________________________________________
>>freebsd-questions at freebsd.org mailing list
>>
>>    
>>
If users can't delete files, it indeed means that any attempt to open 
file for writing must create a new version of the file.
Or any user can put garbish (or zero length file) into any available to 
him.

Another approach will be to change permissions such that nobody can open 
again once created file. It seems for me, that it must be possible  to 
obtain such functionality via ACL permissions. But unfortunelly i don't 
have expirience with ACL permissions in latest FreeBSD's.

In any case, something like CVS repository with only last revision 
visible from user side will be best solution.
Where is some SCM systems based on versioning filesystem, you can take a 
look on them. For example, here http://www.daveeaton.com/scm/CMFAQ.html

But it seems for me that most of them are commercial. If you don't want 
to pay for it and have much spare time, you can make own
NFS server which will work under plain filesystem layer and will 
implement versioning.

Think deep about you task, and try to imagine how users will use this 
feature.

-- 
Best Regards,
Alexander Derevianko



More information about the freebsd-questions mailing list