openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #02632
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,
Rostik
Follow ups