SAC:Backups

= Backups =

backup.osgeo.org
This was the OSUOSL VM used for backups starting in 2010/04 and is now upgraded to dedicated hardware (very) early in 2014. It is used for Bacula backups of OSU OSL VMs and Rsync backups of the public space at "download.osgeo.org".
 * Admins: Frank Warmerdam (rsync), Martin Spott (bacula), Sandro Santilli (bacula)
 * access is via SAC shell group.
 * download.osgeo.org rsync mirroring runs nightly and is externally available at download2.osgeo.org.
 * /backup/bacula/ contains the Bacula storage device
 * /backup/rsync/ is for rsync backups
 * /backup/longterm/ is for long term backups of static material (ie conference web sites)
 * /backup/pgdump/ contains PostgreSQL dumps of the Bacula director database
 * /etc/bacula contains Bacula configuration, is under local git repo

OS installation

 * Create an empty partition at the beginning of every hard drive, use "Reserved BIOS boot area" on GPT-partitioned disks (typical with 2 GByte disks or bigger) or just "Unused" on DOS-type partition tables. By tradition I reserve 10 MByte on each disk, maybe 1 MByte would be sufficient as well, but these 9 MByte of difference don't cost that much and you're on the safe side ....
 * Create a second partition on every disk - for use by MD - allocating all the remaining disk space
 * Create an MD RAID5 over all the 'second' partitions for use by LVM
 * Create a LVM volume group on top of the MD physical volume
 * Create volumes "boot" (256 MByte, Ext2, /boot/), "root" (20 GByte, XFS, /root/), "swap" (8 GByte), "var" (20 GByte, XFS, /var/)
 * Install the base operating system, don't forget to set up SSH ;-)
 * Add volumes "backup" (2 TByte, XFS, /backup/), "mirror" (1 TByte, XFS, /mirror/)

Bacula
Configuration as of June, 2011

A Full copy is made every Sat. with incremental backups nightly.

This consists of the following directories: File = /boot File = /etc File = /var/www File = /osgeo File = /var/lib/mysql File = /var/lib/postgresql File = /var/lib/dpkg File = /var/lib/aptitude/pkgstates From each of the following machines:
 * wiki,secure,web,webextra,backup,qgis,projects,adhoc

Trac currently gets trac_backup.zip which is generated during the daily backup cycle

Administration
General configuration is managed in /etc/bacula/bacula-dir.conf.

To review the backups and perform a restore you can use the bconsole application: sudo bconsole

Specific configuration of the file/tape storage is in the Storage director /etc/bacula/bacula-sd.conf
 * Bacula uses the hard drive as a series of Tape drives.
 * Each Volume is a predetermined size (~500MB currently), when a volume fills bacula makes the next one.
 * Volumes older than a certain date or when volume increments have reach a configured maximum can be recycled into the available disk pool.

Recovery
Job { Name = "RestoreFiles" Type = Restore Client = backup.osgeo.osuosl.org-fd FileSet = "Full Set" Storage = File Pool = Default Messages = Standard Where = /tmp/bacula-restores } sudo bconsole *restore Then follow the prompts, using the above linked guide to help find the files you want.
 * If you use bconsole to recover data bacula does the work of finding the files you want and pulling them out of the various volumes.
 * Directory for recovered files is set in the bacula-dir.conf under:
 * Directions for how to restore

current cron jobs for backups
/etc/cron.d/backup.cron

# 05 2 * * * root /root/scripts/daily.sh 45 */3 * * * root /root/scripts/backup_svn_incremental.sh 39 * * * * root /root/scripts/drupal_cron.sh
 * 1) Backup cron jobs
 * 2) min hour day month dayofweek user command
 * 1) 2am: Daily rsync to /home/back
 * 1) Every 3 hours
 * 2) /etc/mysql-zrm
 * 3) 33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/
 * 4) /var/lib/mysql-zrm
 * 5) 34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/
 * 6) call backup_trac_svn.sh to backup
 * 7) subversion /var/www/svn/repos
 * 8) trac /var/www/trac
 * 1) 45 */3 * * * root /root/scripts/trac_backup.pl
 * 2) 45 */3 * * * root /root/scripts/backup_trac_svn.sh
 * 3) Thisdoes some hourly drupal/mysql optimization

backup script are in /root/scripts

osgeo3 & osgeo4
See: Infrastructure Transition Plan 2010

download.osgeo.org
As noted in Download Server the contents of download.osgeo.org are rsync'ed to osgeo2.

ProjectsVM
Bacula - we need details.

??? How does it work?

svn.osgeo.org
As noted in Subversion the subversion repository is mirrored using svn mirroring and does not need to be backed up otherwise.