BackupPC Notes

From New IAC Wiki
Jump to navigation Jump to search

BackupPC Docs

Web Interface

The webpage that hold status messages for BackupPC is The address will change as the system goes live.

Adding a client for rsync

rsync-over-ssh method

  1. On the windows box
    1. Install cygwin
      1. Make sure to unhide obsolete packages and start from All->uninstall
      2. admin - cygrunsrv
      3. base - all
      4. net - rsync
      5. net - openssh
    2. Configure cygwin server: ssh-host-config -y
      1. If the config script asks for a password for a cyg_server account, supply one
    3. Start ssh service: cygrunsrv -S sshd
    4. Look for a user to log in as.
      1. Windows 7 - Admin
      2. Windows XP - Administrator
      3. Any version - any other user with admin privileges
    5. Copy to ~/.ssh/authorized_keys (make sure ~ is the right home dir for the above user)
    6. Set the firewall
      1. open port 22 TCP with the scope,
      2. In Windows 7, create an exception for the port, then go to properties and change the scope to
      3. allow ping
        1. (advanced - ICMP in Windows XP)
        2. Windows 7 firewall setup for ping
    7. Disable power saving
  2. On vienna
    1. Log in manually once to accept ssh key and test
    2. Edit /etc/BackupPC/hosts to add new entry
    3. In /etc/BackupPC/pc copy to a new file matching name in hosts file
    4. In the new file, change
      1. $Conf{ClientNameAlias} = __; to match the address
      2. $Conf{XferMethod} = 'rsync';
      3. $Conf{RsyncShareName} = ['/cygdrive/c/'];
      4. $Conf{RsyncClientCmd} = '$sshPath -q -x -l iacuser $host $rsyncPath $argList+' where iacuser is the user found above
    5. Change ownership of new file: chown backuppc

===rsyncd method=== (depreciated)

  1. On winnebago (or other Linux box):
    1. make a new password with makepasswd --chars=128
    2. update rsyncd.secrets file: echo backuppc:DW045wp1vFY4b22ng53dwbi082Ve8CdsM0m5QpDyEuPvAxLtp2Xc3Q16PwSAwc2XWaj2T5eANN1Yfc1uXvMpoAmmWRV6Wo1FXDuwxMjKQhxhBndh96VI0Np9IWioSYJn > rsyncd.secrets
  2. On vienna
    1. edit /etc/BackupPC/hosts to add new entry
    2. in /etc/BackupPC/pc copy to a new file matching name in hosts file
    3. run ./ to find a free rsync redirection port
    4. change port, ip, and rsyncpassword in new .pl file
    5. change ownership of new file: chown backuppc
  3. On the client computer:
    1. Install cygwin w/ rsync on the client with the following packages
      1. admin - cygrunsrv
      2. base - all
      3. net - rsync
      4. net - openssh
      5. utils - bzip2
    2. install rsyncd service: cygrunsrv -I rsyncd -e CYGWIN=nontsec -p c:/cygwin/bin/rsync.exe -a "--daemon --no-detach"
    3. download rsyncd.conf and rsyncd.secrets file
    4. start rsyncd service: cygrunsrv -S rsyncd
    5. Set the firewall
      1. open port 873 TCP with the scope,
      2. allow ping (advanced ICMP)

Config Files

Most of the configuration for BackupPC is in /etc/backuppc/ Many of the options can be over-ridden with host-specific files, but the should be edited to give a good default for Windows machines. Most importantly $Conf{BackupFilesExclude} or $Conf{RsyncArgs} need to be configured to exclude the followng items:

  • Windows clients
    • hiberfil.sys holds RAM contents during hibernation
    • Temporary Internet Files IE cache
    • Firefox Internet Cache
    • RECYCLER Recyle Bin
    • pagefile.sys Swap file
    • System Volume Information System Restore files
    • NTUSER.DAT Can cause problems with being in use??
    • TEMP
  • Linux clients
    • /temp
    • /dev
    • /proc
    • /sys
    • /mnt
    • /media Ubuntu mounts for removable media
    • Firefox internet cache
    • Other caches??
    • Parts of /var??

Backup Method

rsync directly over ssh was rejected because of incompatibilities with rsync daemons launched via the ssh process. Instead the preferred method is rsync connected to a persistent rsyncd through an ssh tunnel. This tunnel can either be set up to the machine directly, or through an intermediary such at the IAC nat firewall box. ssh authentication is taken care of through authorized_keys and rsync authentication uses a password that is randomly generated when the client is first set up for backups.

Operating system specific configuration parameters (such as excluded files) are handled in separate files (such as /etc/BackupPC/ included from host files.

Storage Setup on Vienna

Vienna has 4x1TB and 2x2TB drives set up under Solaris10 with a ZFS filesystem. The RAID level for the OS is RAID1 and the RAID level for the datapool is RAID10. Compression is disabled in BackupPC and is handled by ZFS instead.

Devices must have at least 1000204885504 bytes. Many 1TB drives do not.

Notes on booting Vienna

The hostname isn't set correctly on boot so apache won't start. BackupPC also doesn't start by default.

hostname [-s] vienna
svcadm enable '*apache*'
/etc/init.d/backuppc start

And the webserver is restricted to the local interface, so you need to log in and ssh forward the connection:

ssh -L 8080:localhost:80

Things we need to think about

  • Open files (Outlook) (shadow drives?)
  • Thousands of small files can take very long to index (Pulse Recording can accumulate >60k)
  • checksum seeding
  • User notification policy??