Backup

Summary

The default Ubuntu desktop install is currently lacking a good backup solution that is easy to use and provides the functionality required. This spec describes what we plan to do about that.

Release Note

TBD

Rationale

Backup/Restore is a important part of the system maintenance. By having a good default we help the user to protect her data against disk failures, accidental deletion and other disasters.

Use Cases

  1. Bob has a ubuntu laptop. His harddisk died. With the recovery tool and a set of current backups he is able to restore most of his data.
  2. While exploring the wonders of the commandline Janet accidentally delted her almost finished term paper. She is able to restore it.

Design

We concentrate on desktop system backups with the focus on the user data and (some) essential system data. The key requirement is ease of use to encourage the user to actually use the system. The goal is not to reinvent the wheel but instead use as much available components as possible. We evaluate the available GUI solutions and try to ensure that they work with different backend formats. The initial focus will be local media (external harddisk, dvd writer) but the software design should not limit us to expand to use the network/internet. The initial set of goals is (intentionally) relatively small and in time for 9.04 it is ok if its not in the default install yet. We will use this time to gain experience.

Implementation

We explore the existing solutions out there:

  • sbackup
  • hubackup
  • dejadup

and explore which one fits the above requirements best. This is used a the base and in close cooperation with upstream we work towards getting it into ubuntu and close to the default install.

Test/Demo Plan

TBD

BoF agenda and discussion

The agenda notes from the discussion at UDS:

  • various GUI tools available: sbackup, hubackup
  • there is also: michael terry works on a UI for duplicity (written vala)
    • http://mterry.name/deja-dup/

    • only runs in the user session, no cron (problems with encryption password) - problem with ~/Private when its not mounted
    • encryption might not be a issue with ~/Private (no diff backups will work anymore with it though)
    • some progress now in duplicity that can be displayed in the UI
    • needs to provide "backup essential system data" option (that backs up dpkg --get-selections, sources.list and partition table information, see sbackup)
  • provide application specific backup hooks in addition to a directory centric view ("backup/restore my firefox bookmarks)
  • look into conduit to figure out what application specific dirs is there
  • think about the problem of large media files:
    • exclude by default?
    • there are media files that are valuable (wedding video, photos of the kids) and which are not (dvd backups, random downloaded funny videos) - there is no automatic way to figure out which are which
    • problem with excluding of media files is that it might be releated to e.g. research/wedding etc - but not exclude by default
    • possilbe solution: guided backup selection foo (baobob based to be able to exlucde some stuff)
    • possible solution: make the decision automatically based on the size of the medium available
    • possible solution: divide non-media/media into different backup sets and offer the user to write them individually
  • make it obvious in the UI that the first backup takes a long time
  • network backup needs to be careful about stuff like expensive 3G connections
  • provide a layered approach for the backup, first into a different HDD folder, then a external medium (like dvd or external hdd)
  • warn about if a backup has not been put onto something else than the local harddisk and offer to burn/write it
  • offer to scale network speed backup down (trickle) - maybe: some users want the backup to be finished as soon as possible
  • use ionice to make the searching for the backup data less slow
  • needs to upper bound of a backup set (based on the size of the medium) so that it can be burned to DVD or written to a tape drive
  • plugin architecture for backend (duplicity, tar, dar)
  • plugin architecure for application specific backups


CategorySpec

FoundationsTeam/Specs/Backup (last edited 2009-01-09 21:26:39 by mvo)