|
Backup in computer engineering refers to the copying of data for the purpose of having a second copy of an original source, in case of damage to the original data source. The "data" in question may be either data as such, or stored program code, both of which are treated the same by the backup software.
The word may be used as a noun, e.g., "have you remembered to move the backup to a safe place?", or as a verb, "he didn't back up the data, so we lost last week's work". Also common are various combinations, such as backup copy, backup software (the applications that are used for performing the backing up of data, i.e., the systematic generation of backup copies), backup policy (an organisation's procedures and rules for ensuring that adequate amounts and types of backups are made, including suitably frequent testing of the process for restoring the original (production) system from the backup copies).
As of 2004, backups are most often made from hard disk based production systems to large capacity magnetic tape storage, or optical disk WORM media like CD-R and DVD-R and similar formats. During the period 1975–95, most personal/home computer users associated backup mostly with copying floppy disks.
Backing up active databases requires highly-specialized software
that must be integrated with the database system in order to
prevent data corruption. Suppose for example that I access the
website of my bank and transfer money from one of my accounts
to another while a backup is running. Such a transaction will
affect multiple places on the hard disks of the bank's systems.
At minimum, the amount of the transfer will be subtracted
from the balance of one account, and added to the balance
of the other account. If there is then a disk
crash and restore, it is important to ensure that the database
holding my account balances gets restored correctly. If the
subtraction part is restored correctly but the addition part
isn't, then I am unhappy. If the addition part is restored
correctly but the subtraction part isn't, then the bank is
unhappy.
There are four primary metrics relating to data backup:
- Recovery Point Objective (RPO) is the point in time that the restarted infrastructure will reflect. Essentially, this is the roll-back that will be experienced as a result of the recovery. Reducing RPO requires increasing synchronicity or frequency of copying the data to be protected.
- Backup Window is the amount of time that taken to copy a given data set to the backup device. Most traditional backup systems require a data set to be frozen for hours while the entire content of a filesystem is copied to magnetic tape. Newer techniques use a mirror or snapshot of a set of data as the backup source, effectively reducing the required backup window.
- Restore Time is the amount of time required to bring a desired data set back from the backup media.
- Retention Time is the amount of time in which a given set of data will remain available for restore. Some backup products rely on daily copies of data and measure retention in terms of days. Others retain a number of copies of data changes regardless of the amount of time.
Computer backups are useful primarily for two purposes, the first and most obvious is to restore a computer to an operational state following a disaster also called disaster recovery. This includes loss of a hard disc or the file system becoming so badly corrupted it cannot be read. The second use, often overlooked but probably more common, is to facilitate the recovery of a single file or set of files when they are accidentally deleted or corrupted by the user or a program.
Proper backup procedures require redundancy of the backup to a remote location and rotation schemes such as the GFS method (Grandfather-Father-Son Backup). Storing the copy near the original is unwise, since many disasters such as fire, flood and electrical surges are likely to cause damage to the backup at the same time. The 2001
attacks on the World Trade Center presented many organizations
with unprecedented disaster recovery scenarios, due to its scope.
A few years earlier, during a fire at the headquarters of a major
bank in Paris, system administrators ran into the burning building
to rescue backup tapes because they didn't have offsite copies.
A backup is only as useful as its associated recovery strategy. Having a complete set of backup tapes is of no use if the only copy of the software required to read them is on one of the tapes. It is also possible for backup software to run successfully for several months, only to fail when it is needed most due to read errors on the backup media. Magnetic tapes in particular should be read-tested on a regular basis.
Many backup programs make use of checksums or hashes. These
offer several advantages. First, they allow data integrity to
be verified without reference to the original file: if the file
as stored on the backup medium has the same checksum as the saved
value, then it is very probably correct. Second, some backup
programs can use checksums to avoid making redundant copies
of files, to improve backup speed. This is particularly useful
when multiple workstations, which may contain duplicates of
the same file, are backed up over a network: if the backup
software detects several copies of a file having the same
size, datestamp, and checksum, it can put one copy of the data
onto a backup medium, along with metadata listing all places
where copies of this file were found. Also, checksums can
improve performance of the verification pass for backups
across a network, by computing checksums independently on
each computer, then sending only the checksum over the network
so that checksums can be compared instead of actual data.
|