Backup strategy

Revision as of 00:19, 12 December 2019 by (talk | contribs)

A few weeks ago several hard drives in NCI's data centre failed, meaning the Vayu supercomputer and DCC had to be brought offline while repairs were made. Thankfully no data was lost due to the use of redundant components, however one more failed drive would have meant the loss of the /short filesystem. Model output generally goes to this filesystem, and because of its size NCI doesn't perform backups. This means that if you aren't performing backups yourself there is a possibility of losing data, so it's important to make plans to avoid this.

A large amount of a researcher's time is spent in the production and manipulation of data. We make measurements, run simulations & perform analyses that make use of a vast amount of computer storage, and create programs and scripts to help us do things in a consistent and reproducible way. Modern research is heavily invested in making use of computers, which has caused an explosion in the amount of data that researchers can make use of.

No technology is perfect, and sometimes disasters can happen, from a fire destroying your computer, a hard drive failing or just deleting the wrong directory. No-one wants to lose all of their data, results can be costly or even impossible to reproduce. It's important to have some idea of how you could recover if something were to happen to your files.

The first thing to think about for backups is which part of your data is essential to have, especially when you have a lot of it. You may want to preserve output files from a 10,000 hour simulation, but not care about the log files once you've verified your results. Or perhaps you have performed observations of an unusual weather system which couldn't be easily reproduced, or scripts to create all the plots used in your latest paper. Also think about who else might be making use of your files, are other people using your results as input to their own simulations? Alternately, are you making use of files in other people's directories? Don't depend on other people keeping files in the same place.

The next thing to consider is how big your data is. Your home directory can easily be backed up to a portable hard drive or to Dropbox, this is not really an option when you have terabytes of model output however. NCI provides a data archive called MDSS to archive large files, most institutions also have their own archives for important data created by their researchers.

You should also think about how often the data changes. Model output is unlikely to change, but programs are often improved with time. If you wanted to reproduce old results using a script you wrote some time ago, then you'd need to recover the state of the file at the time you first ran it. Revision control software like subversion and git is designed for this use case, there are a variety of hosting services available on the web that help you to manage software development.

Not all backup solutions provide the same protection. Creating a copy of a file in a separate directory on your computer provides a measure of protection against accidental deletion, however it could be lost if your hard drive fails. On the other end of the scale you could store copies of your data on archival tapes in different cities, so that it could still be recoverable in the case of natural disasters. Generally the latter is costly for a large data set, the amount of protection needed should be balanced against the value of your data.

Knowing all of this, what are the best options to use? The first thing to do is to protect your workstation. Check what is already being backed up by your local IT support, they may have an existing backup strategy. For instance NCI backs up user home directories on Vayu. Get an external hard drive at least as big as is in your computer, then either set up a cron job to automatically rsync your internal and external hard drives on linux or enable time machine if you use a mac. This gets you a backup of your whole workstation that you can use to recover all your installed programs and local data if a hard drive fails. You can also use a service like dropbox to automatically back up your home directory, these services limit the space you can use, however they provide a remote backup and allow you to access files from anywhere.

Ask the CMS team or your institution's data services about archiving services available to store large data sets. These services have their own data management plans in place to ensure the integrity of data, you may need to provide a data management plan describing the value of the data & how long it needs to be stored for.

  • How essential is the data - does it have to be backed up?
    • Intermediate output, run logs
      • Not useful once an experiment is finished
    • Processing scripts
      • Useful to reproduce an experiment but could be redone
    • Model input
      • Essential to reproduce an experiment
    • Ease of reproducing the data
      • Difficult to obtain weather readings vs. reproducable model output
    • Published results
      • Research standards require archiving
    • Number of people accessing the data
      • Just you, your group, people from around the world
  • How big is the data?
    • Text files - Source code, scripts, configuration files
      • Sizes < 1 MB
      • Not suitable for archives unless bundled into a tar file
    • Data files - NetCDF &c
      • 10MB to 100's of GB
      • Archive systems like MDSS designed for this
  • How much history do you need?
    • Unchanging once produced - e.g. model output
      • Tape archives
    • Continually changing - source code under development
      • Revision control system - subversion, git
  • How safe is the backup system?
    • What happens if...
      • You delete a file
        • Have backups
      • The local file system fails
        • Back up on a different file system
      • Your storage provider goes bankrupt
        • Multiple backup providers
      • A fire destroys a building
        • Offsite backups
      • A flood/earthquake damages a city
        • Offsite backups with a wide separation
    • Have you checked that you actually can recover?
  • Options
    • /home at NCI/University workstation
      • Limited space
      • Backed up - Institutions will have their own strategies
    • MDSS/University archives
      • Designed for archiving large and/or important data sets
      • Will have their own backup strategies - e.g. MDSS is duplicated to two separate buildings at ANU
    • USB hard drive
      • Simple way to have a separate backup, cheap
      • Can manage history manually or with something like time machine
      • Not suitable for long-term storage - disks have limited lifetimes
    • Cloud storage, e.g. Dropbox, Github
      • Can access from anywhere
      • Offsite backup
      • Can set up folders to automatically be backed up
      • Is the service still going to be there in 5 years?