There is little about the general topic of disasters and
disaster recovery that has a direct bearing on any specific
operating system. After all, the computers in a flooded data center
will be inoperative whether they run Red Hat Enterprise Linux or
some other operating system. However, there are parts of Red Hat
Enterprise Linux that relate to certain specific aspects of
disaster recovery; these are discussed in this section.
As a software vendor, Red Hat does have a number of support
offerings for its products, including Red Hat Enterprise Linux. You
are using the most basic support tool right now by reading this
manual. Documentation for Red Hat Enterprise Linux is available on
the Red Hat Enterprise Linux Documentation CD (which can also be
installed on your system for fast access), in printed form, and on
the Red Hat website at https://www.redhat.com/docs/.
Self support options are available via the many mailing lists
hosted by Red Hat (available at https://www.redhat.com/mailman/listinfo). These mailing
lists take advantage of the combined knowledge of Red Hat's user
community; in addition, many lists are monitored by Red Hat
personnel, who contribute as time permits. Other resources are
available from Red Hat's main support page at https://www.redhat.com/apps/support/.
More comprehensive support options exist; information on them
can be found on the Red Hat website.
Red Hat Enterprise Linux comes with several different programs
for backing up and restoring data. By themselves, these utility
programs do not constitute a complete backup solution. However,
they can be used as the nucleus of such a solution.
|
Note |
|
As noted in Section
8.2.6.1 Restoring From Bare Metal, most computers based
on the standard PC architecture do not possess the necessary
functionality to boot directly from a backup tape. Consequently,
Red Hat Enterprise Linux is not capable of performing a tape boot
when running on such hardware.
However, it is also possible to use your Red Hat Enterprise
Linux CD-ROM as a system recovery environment; for more information
see the chapter on basic system recovery in the Red Hat Enterprise Linux System Administration
Guide.
|
The tar utility is well known among
UNIX system administrators. It is the archiving method of choice
for sharing ad-hoc bits of source code and files between systems.
The tar implementation included with Red
Hat Enterprise Linux is GNU tar, one of
the more feature-rich tar
implementations.
Using tar, backing up the contents of a
directory can be as simple as issuing a command similar to the
following:
tar cf /mnt/backup/home-backup.tar /home/
|
This command creates an archive file called home-backup.tar in /mnt/backup/. The archive contains the contents of
the /home/ directory.
The resulting archive file will be nearly as large as the data
being backed up. Depending on the type of data being backed up,
compressing the archive file can result in significant size
reductions. The archive file can be compressed by adding a single
option to the previous command:
tar czf /mnt/backup/home-backup.tar.gz /home/
|
The resulting home-backup.tar.gz
archive file is now gzip
compressed.
There are many other options to tar; to
learn more about them, read the tar(1) man
page.
The cpio utility is another traditional
UNIX program. It is an excellent general-purpose program for moving
data from one place to another and, as such, can serve well as a
backup program.
The behavior of cpio is a bit different
from tar. Unlike tar, cpio reads the names
of the files it is to process via standard input. A common method
of generating a list of files for cpio is
to use programs such as find whose output
is then piped to cpio:
find /home/ | cpio -o > /mnt/backup/home-backup.cpio
|
This command creates a cpio archive
file (containing the everything in /home/) called home-backup.cpio and residing in the /mnt/backup/ directory.
|
Tip |
|
Because find has a rich set of file
selection tests, sophisticated backups can easily be created. For
example, the following command performs a backup of only those
files that have not been accessed within the past year:
|
find /home/ -atime +365 | cpio -o > /mnt/backup/home-backup.cpio
|
There are many other options to cpio
(and find); to learn more about them read
the cpio(1) and find(1) man pages.
The dump and restore programs are Linux equivalents to the UNIX
programs of the same name. As such, many system administrators with
UNIX experience may feel that dump and
restore are viable candidates for a good
backup program under Red Hat Enterprise Linux. However, one method
of using dump can cause problems. Here is
Linus Torvald's comment on the subject:
From: Linus Torvalds
To: Neil Conway
Subject: Re: [PATCH] SMP race in ext2 - metadata corruption.
Date: Fri, 27 Apr 2001 09:59:46 -0700 (PDT)
Cc: Kernel Mailing List <linux-kernel At vger Dot kernel Dot org>
[ linux-kernel added back as a cc ]
On Fri, 27 Apr 2001, Neil Conway wrote:
> > I'm surprised that dump is deprecated (by you at least ;-)). What to
> use instead for backups on machines that can't umount disks regularly?
Note that dump simply won't work reliably at all even in 2.4.x: the buffer
cache and the page cache (where all the actual data is) are not
coherent. This is only going to get even worse in 2.5.x, when the
directories are moved into the page cache as well.
So anybody who depends on "dump" getting backups right is already playing
Russian roulette with their backups. It's not at all guaranteed to get the
right results - you may end up having stale data in the buffer cache that
ends up being "backed up".
Dump was a stupid program in the first place. Leave it behind.
> I've always thought "tar" was a bit undesirable (updates atimes or
> ctimes for example).
Right now, the cpio/tar/xxx solutions are definitely the best ones, and
will work on multiple filesystems (another limitation of "dump"). Whatever
problems they have, they are still better than the _guaranteed_(*) data
corruptions of "dump".
However, it may be that in the long run it would be advantageous to have a
"filesystem maintenance interface" for doing things like backups and
defragmentation..
Linus
(*) Dump may work fine for you a thousand times. But it _will_ fail under
the right circumstances. And there is nothing you can do about it.
|
Given this problem, the use of dump/restore on mounted
file systems is strongly discouraged. However, dump was originally designed to backup unmounted
file systems; therefore, in situations where it is possible to take
a file system offline with umount,
dump remains a viable backup
technology.
AMANDA is a client/server based backup application produced by
the University of Maryland. By having a client/server architecture,
a single backup server (normally a fairly powerful system with a
great deal of free space on fast disks and configured with the
desired backup device) can back up many client systems, which need
nothing more than the AMANDA client software.
This approach to backups makes a great deal of sense, as it
concentrates those resources needed for backups in one system,
instead of requiring additional hardware for every system requiring
backup services. AMANDA's design also serves to centralize the
administration of backups, making the system administrator's life
that much easier.
The AMANDA server manages a pool of backup media and rotates
usage through the pool in order to ensure that all backups are
retained for the administrator-dictated retention period. All media
is pre-formatted with data that allows AMANDA to detect whether the
proper media is available or not. In addition, AMANDA can be
interfaced with robotic media changing units, making it possible to
completely automate backups.
AMANDA can use either tar or dump to do the actual backups (although under Red
Hat Enterprise Linux using tar is
preferable, due to the issues with dump
raised in Section
8.4.2.3 dump/restore: Not Recommended for Mounted File
Systems!). As such, AMANDA backups do not require AMANDA in
order to restore files — a decided plus.
In operation, AMANDA is normally scheduled to run once a day
during the data center's backup window. The AMANDA server connects
to the client systems and directs the clients to produce estimated
sizes of the backups to be done. Once all the estimates are
available, the server constructs a schedule, automatically
determining the order in which systems are to be backed up.
Once the backups actually start, the data is sent over the
network from the client to the server, where it is stored on a
holding disk. Once a backup is complete, the server starts writing
it out from the holding disk to the backup media. At the same time,
other clients are sending their backups to the server for storage
on the holding disk. This results in a continuous stream of data
available for writing to the backup media. As backups are written
to the backup media, they are deleted from the server's holding
disk.
Once all backups have been completed, the system administrator
is emailed a report outlining the status of the backups, making
review easy and fast.
Should it be necessary to restore data, AMANDA contains a
utility program that allows the operator to identify the file
system, date, and file name(s). Once this is done, AMANDA
identifies the correct backup media and then locates and restores
the desired data. As stated earlier, AMANDA's design also makes it
possible to restore data even without AMANDA's assistance, although
identification of the correct media would be a slower, manual
process.
This section has only touched upon the most basic AMANDA
concepts. To do more research on AMANDA, start with the amanda(8) man page.