Re: [Burp-users] Electric power loss during burp backup
Brought to you by:
grke
|
From: Graham K. <ke...@sp...> - 2012-03-20 15:54:38
|
On Tue, Mar 20, 2012 at 03:54:23PM +0100, jacques champliaud wrote: > <bur...@li...> > How can I resume ( fix ? ) a backup after an electic shut down. > This situation didn't occured to me but the way a burp server is working > brings this question. > > I do not mean an electric power loss while a client is backing up but a > loss of power while the server is re-arranging/moving files in the backup > ( to be clear: when a link named "finishing" exists on the backup and > eventually a lockfile link still exists too. ) > > burp handles the situation of a power down during the backup ( > resume/delete option in client config file ) but what happens if the loss > of power occurs after the client achieved its work ? > > 2012-03-20 14:35:29: burp[29958] End phase2 (receive file data) > 2012-03-20 14:35:29: burp[29958] Begin phase3 (merge manifests) > 2012-03-20 14:37:11: burp[29958] End phase3 (merge manifests) > 2012-03-20 14:37:11: burp[29958] Backup ending - disconnect from client. > 2012-03-20 14:37:12: burp[29958] Begin phase4 (shuffle files) > 2012-03-20 14:37:12: burp[29958] Duplicating current backup. > 2012-03-20 15:07:44: burp[29958] do not need to hardlink archive > 2012-03-20 15:07:44: burp[29958] not doing hardlinked archive > 2012-03-20 15:07:44: burp[29958] will generate reverse deltas > 2012-03-20 15:07:44: burp[29958] Doing the atomic data jiggle... > > ...Power loss... If you have a 'finishing' symlink, the next time a client connects, the server will check the backup storage directory for that client, find the 'finishing' symlink, and will attempt to finish off the remaining work before starting a new backup. By the time you have a 'finishing' symlink, it is committed to finishing off the backup and rearranging the existing files, which can involve dismantling the last current backup. So, there is not a configuration option to control it. Once it has started 'finishing', the only way is forward. Hence, I have written the 'atomic data jiggle' so that at any moment, it should be able to discover where it is at if it has to start the jiggle again. You are welcome to test this for yourself, by pulling the power, or killing the server during the 'atomic data jiggle' section. |