← Back to team overview

openstack team mailing list archive

suggestion for data backup/recovery in swift


As far as I see swift does not support data backup/recovery. Sometimes 
backup/recovery might prevent damages from unwanted data overwrites, which is 
why I suppose that many users would like to see this functionality in OpenStack.

It looks like backup/recovery can be easily added to swift without many changes 
in the source code. After successful file upload via PUT method, stored file 
receives name equal to timestamp and all the previous versions of the file are 
deleted by DiskFile#unlinkold method (swift/obj/server.py). If one wants to 
allow keeping up to N backup versions (can be configurable value), 
DiskFile#unlinkold method can be modified to keep last N versions of a file and 
delete all the others. Afterwards,  recovery would mean deleting last version of 

the file based on timestamp and will be allowed up to depth N-1 (this will not 
allow "recovery from recovery" though). Of course, modifications to 
ObjectController will be necessary to allow dedicated HTTP call to recover 
object to 

its previous version.

Best Regards,

Follow ups