This page describes the procedure for accessing and using our off-site backups. Only admins can do this -- if you want to get some file or directory back from the dead and are not an admin, please [[https://bugzilla.hcoop.net/enter_bug.cgi|open a Bugzilla bug]]. {{{#!wiki note The backup/restore procedure below is slated to be replaced with [[http://liw.fi/obnam/|obnam]], a backup manager that can perform incremental backups while simultaneously keeping the backup encrypted. }}} <> = Backups of AFS Volumes = == Navigating the available backups == Using backup-manager: {{{ backup-manager list backup-manager list YYYY.MM.DD }}} == Retrieving a backup == (NOTE: $VOLNAME is not simply username, it is .USERNAME) Using backup-manager: {{{ backup-manager get YYYY.MM.DD $VOLNAME.dump.gz.aescrypt }}} == Restoring the volume dump to a volume with a new name == Using backup-manager: {{{ backup-manager restore YYYY.MM.DD $VOLNAME.dump.gz.aescrypt $VOLNAME.restored }}} Manually: {{{ cat /vicepa/hcoop-backups/restored/YYYY.MM.DD-$VOLNAME.dump.gz.aescrypt | \ ccrypt -cdk /etc/backup-encryption-key | \ gunzip | \ vos restore deleuze /vicepa $VOLNAME.restored }}} == Mounting the newly restored volume onto the filesystem == {{{ fs mkm /afs/hcoop.net/.old/tmp-mount $VOLNAME.restored vos release old }}} == Restoring a particular file == {{{ # examine /afs/hcoop.net/.old/tmp-mount }}} == Unmounting the restored volume == {{{ fs rm /afs/hcoop.net/.old/tmp-mount vos release old }}} == Renaming the restored volume so it takes the place of the damaged/corrupted/erased volume == Do this if you want to restore an entire volume. This deletes the old volume and replaces it with the backup. {{{ vos remove $VOLNAME vos rename $VOLNAME.restored $VOLNAME }}} == Removing the restored volume == If you only wanted to restore a few files from the volume, you should remove the local copy of the backup volume when done. {{{ vos remove -id $VOLNAME.restored }}} = Database Backups = {{{ cd /vicepa/hcoop-backups/restored mkdir YYYY.MM.DD-db cd YYYY.MM.DD-db cat ../YYYY.MM.DD-databases.tar.gz.aescrypt | \ ccrypt -cdk /etc/backup-encryption-key | \ gunzip | \ tar -xvzf - }}} = Proposal for New Backup System = by -- ClintonEbadi <> The current backup system has a serious deficiency in that it does a full volume backup every few days. This is untenable; we use ~4Mbit/s out of a 5Mbit/s allocation each month just for backups! More than ~150 members and we're toast. It also doesn't backup the local system data of any machines other than deleuze! Requirements: * Encrypted backups * Incremental backups * Plays nicely with AFS Thus, obnam. Things that might seem unobvious for anyone setting it up: * afs backup volumes should be vos dumped (despite space waste locally) and backed up as a whole unit so that ACLs are preserved in the case of restoration Basic setup: * Each machine has its own obnam repository + key for local files (adapting current scripts to gripe about annoying files and generate the list of things that need backing up) * Database dumps have a separate obnam repo * Daily afs volume dumps also get a repository * In an ideal world, we could teach obnam about afs acls and just mount the `$user.backup` volumes (i.e. not double the local space requirements for volumes!) and backup from those. This would also allow users to control what data gets backed up via ACLs. However, something is better than nothing in the near term. ---- CategorySystemAdministration