openafs/doc/html/AdminGuide/auagd011.htm
Derrick Brashear d7da1acc31 initial-html-documentation-20010606
pull in all documentation from IBM
2001-06-06 19:09:07 +00:00

2558 lines
138 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
<HTML><HEAD>
<TITLE>Administration Guide</TITLE>
<!-- Begin Header Records ========================================== -->
<!-- /tmp/idwt3570/auagd000.scr converted by idb2h R4.2 (359) ID -->
<!-- Workbench Version (AIX) on 2 Oct 2000 at 11:42:14 -->
<META HTTP-EQUIV="updated" CONTENT="Mon, 02 Oct 2000 11:42:13">
<META HTTP-EQUIV="review" CONTENT="Tue, 02 Oct 2001 11:42:13">
<META HTTP-EQUIV="expires" CONTENT="Wed, 02 Oct 2002 11:42:13">
</HEAD><BODY>
<!-- (C) IBM Corporation 2000. All Rights Reserved -->
<BODY bgcolor="ffffff">
<!-- End Header Records ============================================ -->
<A NAME="Top_Of_Page"></A>
<H1>Administration Guide</H1>
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auagd002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auagd010.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Bot_Of_Page"><IMG SRC="../bot.gif" BORDER="0" ALT="[Bottom of Topic]"></A> <A HREF="auagd012.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auagd026.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
<HR><H1><A NAME="HDRWQ248" HREF="auagd002.htm#ToC_270">Configuring the AFS Backup System</A></H1>
<P>The AFS Backup System helps you to create backup copies of
data from AFS volumes and to restore data to the file system if it is lost or
corrupted. This chapter explains how to configure the Backup
System. For instructions on backing up and restoring data and
displaying dump records, see <A HREF="auagd012.htm#HDRWQ283">Backing Up and Restoring AFS Data</A>.
<HR><H2><A NAME="HDRWQ249" HREF="auagd002.htm#ToC_271">Summary of Instructions</A></H2>
<P>This chapter explains how to perform the following tasks by
using the indicated commands:
<BR>
<TABLE WIDTH="100%">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Determine tape capacity and filemark size
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>fms</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Define Tape Coordinator entry in Backup Database
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup addhost</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Remove Tape Coordinator entry from Backup Database
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup delhost</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display Tape Coordinator entries from Backup Database
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup listhosts</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Create volume set
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup addvolset</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Add volume entry to volume set
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup addvolentry</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">List volume sets and entries
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup listvolsets</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Delete volume set from Backup Database
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup delvolset</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Delete volume entry from volume set
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup delvolentry</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Define dump level
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup adddump</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Change expiration date on existing dump level
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup setexp</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Delete dump level from dump hierarchy
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup deldump</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display dump hierarchy
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup listdumps</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Label tape
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup labeltape</B>
</TD></TR><TR>
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Read label on tape
</TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>backup readlabel</B>
</TD></TR></TABLE>
<HR><H2><A NAME="HDRWQ251" HREF="auagd002.htm#ToC_272">Introduction to Backup System Features</A></H2>
<A NAME="IDX6805"></A>
<P>The AFS Backup System is highly flexible, enabling you to control most
aspects of the backup process, including how often backups are performed,
which volumes are backed up, and whether to dump all of the data in a volume
or just the data that has changed since the last dump operation. You
can also take advantage of several features that automate much of the backup
process.
<P>To administer and use the Backup System most efficiently, it helps to be
familiar with its basic features, which are described in the following
sections. For pointers to instructions for implementing the features as
you configure the Backup System in your cell, see <A HREF="#HDRWQ257">Overview of Backup System Configuration</A>.
<P><H3><A NAME="HDRWQ252" HREF="auagd002.htm#ToC_273">Volume Sets and Volume Entries</A></H3>
<A NAME="IDX6806"></A>
<A NAME="IDX6807"></A>
<A NAME="IDX6808"></A>
<A NAME="IDX6809"></A>
<A NAME="IDX6810"></A>
<P>When you back up AFS data, you specify which data to include in terms of
complete volumes rather than individual files. More precisely, you
define groups of volumes called <I>volume sets</I>, each of which includes
one or more volumes that you want to back up in a single operation. You
must include a volume in a volume set to back it up, because the command that
backs up data (the <B>backup dump</B> command) does not accept individual
volume names.
<P>A volume set consists of one or more <I>volume entries</I>, each of
which specifies which volumes to back up based on their location (file server
machine and partition) and volume name. You can use a wildcard notation
to include all volumes that share a location, a common character string in
their names, or both.
<P>For instructions on creating and removing volume sets and volume entries,
see <A HREF="#HDRWQ265">Defining and Displaying Volume Sets and Volume Entries</A>.
<P><H3><A NAME="Header_274" HREF="auagd002.htm#ToC_274">Dumps and Dump Sets</A></H3>
<A NAME="IDX6811"></A>
<A NAME="IDX6812"></A>
<A NAME="IDX6813"></A>
<A NAME="IDX6814"></A>
<A NAME="IDX6815"></A>
<A NAME="IDX6816"></A>
<A NAME="IDX6817"></A>
<A NAME="IDX6818"></A>
<A NAME="IDX6819"></A>
<A NAME="IDX6820"></A>
<P>A <I>dump</I> is the collection of data that results from backing up a
volume set. A <I>full dump</I> includes all of the data in every
volume in the volume set, as it exists at the time of the dump
operation. An <I>incremental dump</I> includes only some of the
data from the volumes in the volume set, namely those files and directory
structures that have changed since a specified previous dump operation was
performed. The previous dump is referred to as the incremental
dump's <I>parent dump</I>, and it can be either a full dump or an
incremental dump itself.
<P>A <I>dump set</I> is a collection of one or more dumps stored together
on one or more tapes. The first dump in the dump set is the
<I>initial dump</I>, and any subsequent dump added onto the end of an
existing dump set is an <I>appended dump</I>. Appending dumps is
always optional, but maximizes use of a tape's capacity. In
contrast, creating only initial dumps can result in many partially filled
tapes, because an initial dump must always start on a new tape, but does not
necessarily extend to the end of the tape. Appended dumps do not have
to be related to one another or to the initial dump (they do not have to be
dumps of the same or related volume sets), but well-planned appending can
reduce the number of times you have to change tapes during a restore
operation. For example, it can make sense to append incremental dumps
of a volume set together in a single dump set.
<P>All the records for a dump set are indexed together in the Backup Database
based on the initial dump (for more on the Backup Database, see <A HREF="#HDRWQ256">The Backup Database and Backup Server Process</A>). To delete the database record of an appended dump,
you must delete the initial dump record, and doing so deletes the records for
all dumps in the dump set. Similarly, you cannot recycle just one tape
in a dump set without deleting the database records of all tapes in the dump
set.
<P>For instructions on creating an initial dump, see <A HREF="auagd012.htm#HDRWQ296">Backing Up Data</A>, and to learn how to append dumps, see <A HREF="auagd012.htm#HDRWQ299">Appending Dumps to an Existing Dump Set</A>.
<P><H3><A NAME="Header_275" HREF="auagd002.htm#ToC_275">Dump Hierarchies, Dump Levels and Expiration Dates</A></H3>
<A NAME="IDX6821"></A>
<A NAME="IDX6822"></A>
<A NAME="IDX6823"></A>
<A NAME="IDX6824"></A>
<A NAME="IDX6825"></A>
<A NAME="IDX6826"></A>
<P>A <I>dump hierarchy</I> is a logical structure that defines the
relationship between full and incremental dumps; that is, it defines
which dump serves as the parent for an incremental dump. Each
individual component of a hierarchy is a <I>dump level</I>. When
you create a dump by issuing the <B>backup dump</B> command, you specify a
volume set name and a dump level name. The Backup System uses the dump
level to determine whether the dump is full or incremental, and if
incremental, which dump level to use as the parent.
<P>You can associate an <I>expiration date</I> with a dump level, to
define when a dump created at that level expires. The Backup System
refuses to overwrite a tape until all dumps in the dump set to which the tape
belongs have expired, so assigning expiration dates automatically determines
how you recycle tapes. You can define an expiration date either in
absolute terms (for example, 13 January 2000) or relative terms (for example,
30 days from when the dump is created). You can also change the
expiration date associated with a dump level (but not with an actual dump that
has already been created at that level).
<P>For instructions on creating dump hierarchies, assigning expiration dates,
and establishing a tape recycling schedule, see <A HREF="#HDRWQ267">Defining and Displaying the Dump Hierarchy</A>.
<A NAME="IDX6827"></A>
<A NAME="IDX6828"></A>
<A NAME="IDX6829"></A>
<A NAME="IDX6830"></A>
<A NAME="IDX6831"></A>
<A NAME="IDX6832"></A>
<P><H3><A NAME="HDRWQ253" HREF="auagd002.htm#ToC_276">Dump Names and Tape Names</A></H3>
<P>When you create a dump, the Backup System creates a Backup
Database record for it, assigning a name comprising the volume set name and
the last element in the dump level pathname:
<PRE> <VAR>volume_set_name</VAR><B>.</B><VAR>dump_level_name</VAR>
</PRE>
<P>For example, a dump of the volume set <B>user</B> at the dump level
<B>/sunday/friday</B> is called <B>user.friday</B>. The
Backup System also assigns a unique <I>dump ID</I> number to the dump to
distinguish it from other dumps with the same name that possibly exist.
<P>The Backup System assigns a similar <I>AFS tape name</I> to each tape
that contains a dump set, reflecting the volume set and dump level of the dump
set's initial dump, plus a numerical index of the tape's position in
the dump set, and a unique dump ID number:
<PRE> <VAR>volume_set_name</VAR><B>.</B><VAR>dump_level_name</VAR><B>.</B><VAR>tape_index</VAR> (<VAR>dump ID</VAR>)
</PRE>
<P>For example, the second tape in a dump set whose initial dump is of the
volume set <B>uservol</B> at the dump level <B>/sunday/friday</B> has
AFS tape name like <B>uservol.friday.2</B>
(<B>914382400</B>).
<P>In addition to its AFS tape name, a tape can have an optional
<I>permanent name</I> that you assign. Unlike the AFS tape name,
the permanent name does not have to indicate the volume set and dump level of
the initial (or any other) dump, and so does not change depending on the
contents of the tape. The Backup System does not require a certain
format for permanent names, so you need to make sure that each tape's
name is unique. If a tape has a permanent name, the Backup System uses
it rather than the AFS tape name when referring to the tape in prompts and the
output from most <B>backup</B> commands, but still tracks the AFS tape
name internally.
<P><H3><A NAME="HDRWQ254" HREF="auagd002.htm#ToC_277">Tape Labels, Dump Labels, and EOF Markers</A></H3>
<A NAME="IDX6833"></A>
<A NAME="IDX6834"></A>
<A NAME="IDX6835"></A>
<A NAME="IDX6836"></A>
<P>Every tape used in the Backup System has a magnetic label at the beginning
that records the tape's name, capacity, and other information. You
can use the <B>backup labeltape</B> command to write a label, or the
<B>backup dump</B> command creates one automatically if you use an
unlabeled tape. The label records the following information:
<UL>
<P><LI>The tape's permanent name, which you can assign by using the
<B>-pname</B> argument to the <B>backup labeltape</B> command.
It can be any string of up to 32 characters. If you do not assign a
permanent name, the Backup System records the value <TT>&lt;NULL></TT> when
you use the <B>backup labeltape</B> command to assign an AFS tape name, or
when you use the <B>backup dump</B> command to write a dump to the
tape.
<P><LI>The tape's AFS <I>tape name</I>, which can be one of three types
of values:
<UL>
<P><LI>A name that reflects the volume set and dump level of the dump set's
initial dump and the tape's place in the sequence of tapes for the dump
set, as described in <A HREF="#HDRWQ253">Dump Names and Tape Names</A>. If the tape does not have a permanent name, you can
assign the AFS tape name by using the <B>-name</B> argument to the
<B>backup labeltape</B> command.
<P><LI>The value <TT>&lt;NULL></TT>, which results when you assign a permanent
name, or provide no value for the <B>backup labeltape</B> command's
<B>-name</B> argument.
<P><LI>No AFS tape name at all, indicating that you have never labeled the tape
or written a dump to it.
</UL>
<P>If a tape does not already have an actual AFS tape name when you write a
dump to it, the Backup System constructs and records the appropriate AFS tape
name. If the tape does have an AFS tape name and you are writing an
initial dump, then the name must correctly reflect the dump's volume set
and dump level.
<P><LI>The capacity, or <I>size</I>, of the tape, followed by a letter that
indicates the unit of measure (<TT>k</TT> or <TT>K</TT> for kilobytes,
<TT>m</TT> or <TT>M</TT> for megabytes, <TT>g</TT> or <TT>G</TT> for
gigabytes, or <TT>t</TT> or <TT>T</TT> for terabytes). The
tape's manufacturer determines the tape's capacity. For
further discussion of how the Backup System uses the value in the capacity
field, see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
</UL>
<P>For information about labeling tapes, see <A HREF="#HDRWQ272">Writing and Reading Tape Labels</A>.
<P>In addition to the tape label, the Backup System writes a <I>dump
label</I> on the tape for every appended dump (the tape label and dump label
are the same for the initial dump). A dump label records the following
information:
<UL>
<P><LI>The name of the tape containing the dump
<P><LI>The date and time that the dump operation began
<P><LI>The cell to which the volumes in the dump belong
<P><LI>The dump's size in kilobytes
<P><LI>The dump's dump level
<P><LI>The dump's dump ID
</UL>
<P>The Backup System writes a <I>filemark</I> (also called an End-of-File
or EOF marker) between the data from each volume in a dump. The tape
device's manufacturer determines the filemark size, which is typically
between 2 KB and 2 MB; in general, the larger the usual capacity of the
tapes that the device uses, the larger the filemark size. If a dump
contains a small amount of data from each of a large number of volumes, as
incremental dumps often do, then the filemark size can significantly affect
how much volume data fits on the tape. To enable the Backup System to
factor in filemark size as it writes a dump, you can record the filemark size
in a configuration file; see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
<P><H3><A NAME="HDRWQ255" HREF="auagd002.htm#ToC_278">Tape Coordinator Machines, Port Offsets, and Backup Data Files</A></H3>
<A NAME="IDX6837"></A>
<A NAME="IDX6838"></A>
<A NAME="IDX6839"></A>
<A NAME="IDX6840"></A>
<P>A <I>Tape Coordinator machine</I> is a machine that drives one or more
attached tape devices used for backup operations. It must run the AFS
client software (the Cache Manager) but reside in a physically secure location
to prevent unauthorized access to its console. Before backup operations
can run on a Tape Coordinator machine, each tape device on the machine must be
registered in the Backup Database, and certain files and directories must
exist on the machine's local disk; for instructions, see <A HREF="#HDRWQ262">To configure a Tape Coordinator machine</A>.
<P>Each tape device on a Tape Coordinator machine listens for backup requests
on a different UNIX port. You pick the port indirectly by assigning a
<I>port offset number</I> to the tape device. The Backup System
sets the device's actual port by adding the port offset to a base port
number that it determines internally. For instructions on assigning
port offset numbers, see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
<P>For a tape device to perform backup operations, a Backup Tape Coordinator
(<B>butc</B>) process dedicated to the device must be running actively on
the Tape Coordinator machine. You then direct backup requests to the
device's Tape Coordinator by specifying its port offset number with the
<B>-portoffset</B> argument to the <B>backup</B> command.
<P>In addition to writing backup data to tape, you can direct it to a
<I>backup data file</I> on the local disk of a Tape Coordinator
machine. You can then to transfer the data to a data-archiving system,
such as a hierarchical storage management (HSM) system, that you use in
conjunction with AFS and the Backup System. A backup data file has a
port offset like a tape device. For instructions on configuring backup
data files, see <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A>.
<P><H3><A NAME="HDRWQ256" HREF="auagd002.htm#ToC_279">The Backup Database and Backup Server Process</A></H3>
<A NAME="IDX6841"></A>
<A NAME="IDX6842"></A>
<P>The <I>Backup Database</I> is a replicated administrative database
maintained by the <I>Backup Server</I> process on the cell's database
server machines. Like the other AFS database server processes, the
Backup Server uses the Ubik utility to keep the various copies of the database
synchronized (for a discussion of Ubik, see <A HREF="auagd007.htm#HDRWQ52">Replicating the AFS Administrative Databases</A>).
<P>The Backup Database records the following information:
<UL>
<P><LI>The Tape Coordinator machine's hostname and the port offset number
for each tape device used for backup operations
<P><LI>The dump hierarchy, which consists of its component dump levels and their
associated expiration dates
<P><LI>The volume sets and their component volume entries
<P><LI>A record for each dump, which includes the name of each tape it appears
on, a list of the volumes from which data is included, the dump level, the
expiration date, and the dump ID of the initial dump with which the dump is
associated
<P><LI>A record for each tape that houses dumped data
</UL>
<P><H3><A NAME="Header_280" HREF="auagd002.htm#ToC_280">Interfaces to the Backup System</A></H3>
<P>The <B>backup</B> suite of commands is the administrative interface
to the Backup System. You can issue the commands in a command shell (or
invoke them in a shell script) on any AFS client or server machine from which
you can access the <B>backup</B> binary. In the conventional
configuration, the binary resides on the local disk.
<P>The <B>backup</B> command suite provides an <I>interactive
mode</I>, in which you can issue multiple commands over a persistent
connection to the Backup Server and the Volume Location (VL) Server.
Interactive mode has several convenient features, including the
following:
<UL>
<P><LI>You need to type only the operation code, omitting the initial
<B>backup</B> string.
<P><LI>If you assume another AFS identity or specify a foreign cell as you enter
interactive mode, it applies to all subsequent commands.
<P><LI>You do not need to enclose shell metacharacters in double quotes.
<P><LI>You can track current and pending operations with the <B>(backup)
jobs</B> command, which is available only in this mode.
<P><LI>You can cancel current and pending operations with the <B>(backup)
kill</B> command, which is available only in this mode.
</UL>
<P>Before issuing a command that requires reading or writing a tape (or backup
data file), you must also open a connection to the Tape Coordinator machine
that is attached to the relevant tape device (or that has the backup data file
on its local disk), and issue the <B>butc</B> command to initialize the
Tape Coordinator process. The process must continue to run and the
connection remain open as long as you need to use the tape device or file for
backup operations.
<P>For further discussion and instructions, see <A HREF="auagd012.htm#HDRWQ286">Using the Backup System's Interfaces</A>.
<HR><H2><A NAME="HDRWQ257" HREF="auagd002.htm#ToC_281">Overview of Backup System Configuration</A></H2>
<A NAME="IDX6843"></A>
<P>Before you can use the Backup System to back up and restore data, you must
configure several of its basic components. The indicated sections of
this chapter explain how to perform the following configuration tasks:
<UL>
<P><LI>Determining a tape's capacity and a tape device's filemark size,
and recording them in the <B>/usr/afs/backup/tapeconfig</B> file (see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>)
<P><LI>Determining how to grant administrative privilege to backup operators (see
<A HREF="#HDRWQ260">Granting Administrative Privilege to Backup Operators</A>)
<P><LI>Configuring Tape Coordinator machines, tape devices, and backup data files
(see <A HREF="#HDRWQ261">Configuring Tape Coordinator Machines and Tape Devices</A>)
<P><LI>Defining volume sets and volume entries (see <A HREF="#HDRWQ265">Defining and Displaying Volume Sets and Volume Entries</A>)
<P><LI>Defining dump levels to create a dump hierarchy (see <A HREF="#HDRWQ267">Defining and Displaying the Dump Hierarchy</A>)
<P><LI>Labeling tapes (see <A HREF="#HDRWQ272">Writing and Reading Tape Labels</A>)
<P><LI>Creating a device configuration file to automate the backup process (see <A HREF="#HDRWQ275">Automating and Increasing the Efficiency of the Backup Process</A>)
</UL>
<P>If you have already configured all of the components required for
performing a backup dump or restore operation, you can proceed to the
instructions in <A HREF="auagd012.htm#HDRWQ296">Backing Up Data</A> and <A HREF="auagd012.htm#HDRWQ306">Restoring and Recovering Data</A>.
<HR><H2><A NAME="HDRWQ258" HREF="auagd002.htm#ToC_282">Configuring the tapeconfig File</A></H2>
<A NAME="IDX6844"></A>
<A NAME="IDX6845"></A>
<A NAME="IDX6846"></A>
<A NAME="IDX6847"></A>
<A NAME="IDX6848"></A>
<P>Several factors interact to determine how much data the Tape Coordinator
can fit on a tape:
<UL>
<P><LI>The tape's capacity (size), as set by the tape manufacturer.
<P><LI>The tape device's filemark size, as set by the tape device's
manufacturer. Recall from <A HREF="#HDRWQ254">Tape Labels, Dump Labels, and EOF Markers</A> that the Tape Coordinator writes a filemark between the data
from each volume in a dump. If a dump contains a small amount of data
from each of a large number of volumes, as incremental dumps often do, then
the filemark size can significantly affect how much volume data fits on the
tape.
<P><LI>Whether or not you use the tape device's compression mode.
</UL>
<P>(The amount of data that can fit in a backup data file is determined by
amount of space available on the partition, and the operating system's
maximum file size. The Tape Coordinator does not write filemarks when
writing to a backup data file. For further information about
configuring a Tape Coordinator to write to a backup data file, see <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A>.)
<P>As the Tape Coordinator (<B>butc</B>) process initializes, it reads the
<B>/usr/afs/backup/tapeconfig</B> file on its local disk to learn the tape
capacity and filemark size (for a tape device) or the file size (for a backup
data file) to use for dump operations. When you begin a dump operation,
the Tape Coordinator also reads the tape or backup data file's label to
see if you have recorded a different tape capacity or file size. If you
have, the value on the label overrides the default value from the
<B>tapeconfig</B> file.
<P>As the Tape Coordinator writes data to a tape during a dump operation, it
uses the capacity and filemark information to track how much tape it has used
and how much remains before the physical end-of-tape (EOT). Shortly
before reaching EOT, the Tape Coordinator stops writing and requests a new
tape. Similarly, it uses a backup data file's size to know when it
is about to exhaust the space in the file. If the Tape Coordinator
reaches the EOT unexpectedly, it recovers by obtaining a new tape and writing
to it the entire contents of the volume it was writing when it reached
EOT. The interrupted volume remains on the first tape, but is never
used.
<P>Many tape devices use tapes that can accommodate multiple gigabytes, or
even multiple terabytes, of backup data, especially if you use the
device's compression mode. When writing to such devices and tapes,
allowing the Tape Coordinator to hit the EOT unexpectedly is generally
recommended. The devices write data so quickly that it usually does not
take much extra time to rewrite the interrupted volume on the new tape.
Similarly, they compress data so well that the data abandoned on the first
tape from the interrupted volume does not constitute a waste of much
tape.
<P>When writing to tapes that accommodate a smaller amount of data (say, less
than two GB), it is better to avoid having the Tape Coordinator hit EOT
unexpectedly. AFS supports volumes up to 2 GB in size, so an
interrupted volume can in fact take up most of the tape. For such
tapes, recording accurate values for tape capacity and filemark size, if
possible, helps to maximize both use of tape and the efficiency of dump
operations. The following discussion of the fields in the
<B>tapeconfig</B> file explains how to determine the appropriate
values.
<P>Use a text editor to create an entry in a Tape Coordinator's
<B>tapeconfig</B> file for each tape device or backup data file that it
uses. Each device or file's entry is on its own line and has the
following format:
<PRE> [<VAR>capacity</VAR> <VAR>filemark_size</VAR>] <VAR>device_name</VAR> <VAR>port_offset</VAR>
</PRE>
<P>where
<DL>
<P><DT><B><VAR>capacity</VAR>
</B><DD>Specifies the capacity of the tapes used with a tape device, or the amount
of data to write into a backup data file. Specify an integer value
followed by a letter that indicates units, with no intervening space.
The letter <B>k</B> or <B>K</B> indicates kilobytes, <B>m</B> or
<B>M</B> indicates megabytes, <B>g</B> or <B>G</B> indicates
gigabytes, and <B>t</B> or <B>T</B> indicates terabytes. If the
units letter is omitted, the default is kilobytes.
<P>To determine the capacity of a tape under two GB in size that you are going
to use in regular (noncompression) mode, you can either use the value that the
tape's manufacturer specifies on the tape's packaging or use the
<B>fms</B> command to calculate the capacity, as described later in this
section. To avoid having the Tape Coordinator reach the EOT
unexpectedly, it is best to record in the <B>tapeconfig</B> file or on the
label a capacity that is about 10% smaller than the actual capacity of the
tape. To calculate the appropriate value for a small tape used in
compression mode, one method is to multiply the tape capacity (as recorded by
the manufacturer) by the device's compression ratio.
<P>For tapes that hold multiple gigabytes or terabytes of data, or if using a
tape drive's compression mode, the recommended configuration is to record
a value quite a bit (for instance, two times) larger than the maximum amount
you believe can fit on the tape. It is not generally worthwhile to run
the <B>fms</B> command on large tapes, even in noncompression mode.
The command definitely does not yield accurate results in compression
mode. The Tape Coordinator is likely to reach the EOT unexpectedly, but
compression mode fits so much data on the tape that the data abandoned from an
interrupted volume does not represent much of the tape's capacity.
<P>For a backup data file, record a value slightly smaller than the amount of
space available on the partition, and definitely smaller than the operating
system's maximum file size. It is also best to limit the ability
of other processes to write to the partition, to prevent them from using up
the space in the partition.
<P>If this field is empty, the Tape Coordinator uses the maximum acceptable
value (2048 GB or 2 TB). Either leave both this field and the
<VAR>filemark_size</VAR> field empty, or provide a value in both of them.
<P><DT><B><VAR>filemark_size</VAR>
</B><DD>Specifies the tape device's filemark size, which usually falls
between 2 KB and 2 MB. Use the same notation as for the
<VAR>capacity</VAR> field, but note that if you omit the units letter, the
default unit is bytes rather than kilobytes.
<P>For a tape device in regular (noncompression) mode, you can use the
<B>fms</B> command to determine filemark size, or use the value reported
by the device's manufacturer. To help the Tape Coordinator avoid
reaching EOT unexpectedly, increase the value by about 10% when recording it
in the <B>tapeconfig</B> file.
<P>The recommended value for a tape device in compression mode is <B>0</B>
(zero). The <B>fms</B> command does not yield accurate results in
compression mode, so you cannot use it to determine the filemark size.
<P>The recommended value for a backup data file is also <B>0</B>
(zero). The Tape Coordinator does not use filemarks when writing to a
file, but a value must appear in this field nevertheless if there is also a
value in the <VAR>capacity</VAR> field.
<P>If this field is empty, the Tape Coordinator uses the value <B>0</B>
(zero). Either leave both this field and the <VAR>capacity</VAR> field
empty, or provide a value in both of them.
<P><DT><B><VAR>device_name</VAR>
</B><DD>Specifies the complete pathname of the tape device or backup data
file. The format of tape device names depends on the operating system,
but on UNIX systems, device names generally begin with the string
<B>/dev/</B>. For a backup data file, this field defines the
complete pathname, but for suggestions on how to name a backup data file, see <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A>.
<P><DT><B><VAR>port_offset</VAR>
</B><DD>Specifies the port offset number for a specific tape device or backup data
file. Each tape device listens for backup requests on a different UNIX
port. You pick the port indirectly by recording a value in this
field. The Backup System sets the device's actual port by adding
the port offset to a base port number that it determines internally.
<P>Legal values are the integers <B>0</B> through <B>58510</B> (the
Backup System can track a maximum of 58,511 port offset numbers). Each
value must be unique among the cell's Tape Coordinators, but you do not
have to assign port offset numbers sequentially, and you can associate any
number of them with a single machine or even tape device. For example,
if you plan to use a device in both compression and noncompression mode,
assign it two different port offsets with appropriate tape capacity and
filemark values for the different modes.
<P>Assign port offset <B>0</B> (zero) to the Tape Coordinator for the tape
device or backup data file that you use most often for backup operations;
doing so enables you to omit the <B>-portoffset</B> argument from the
largest possible number of <B>backup</B> commands.
</DL>
<P>The following example <B>tapeconfig</B> file includes entries for two
tape devices, <B>/dev/rmt0h</B> and <B>/dev/rmt1h</B>. Each one
uses tapes with a capacity of 2 GB and has a filemark size of 1 MB.
Their port offset numbers are <TT>0</TT> and <TT>1</TT>.
<PRE> 2g 1m /dev/rmt0h 0
2G 1M /dev/rmt1h 1
</PRE>
<P>The <B>fms</B> command reports the capacity of the tape you have
inserted and the tape device's filemark size, both on the standard output
stream (stdout) and in its <B>fms.log</B> file, which it writes in
the current working directory. The command interpreter must write data
to the entire tape, so running the command can take from several hours to more
than a day, depending on the size of the tape.
<P><H3><A NAME="HDRWQ259" HREF="auagd002.htm#ToC_283">To run the fms command on a noncompressing tape device</A></H3>
<A NAME="IDX6849"></A>
<A NAME="IDX6850"></A>
<A NAME="IDX6851"></A>
<A NAME="IDX6852"></A>
<A NAME="IDX6853"></A>
<OL TYPE=1>
<P><LI>If an <B>fms.log</B> file does not already exist in the current
directory, verify that you can insert and write to files in the current
directory. If the log file already exists, you must be able to write to
the file.
<P><LI>Insert a tape into the drive. Running the command completely
overwrites the tape, so use a blank tape or one that you want to
recycle.
<P><LI>Issue the <B>fms</B> command.
<PRE> % <B>fms</B> &lt;<VAR>tape&nbsp;special&nbsp;file</VAR>>
</PRE>
<P>where
<DL>
<P><DT><B>fms
</B><DD>Must be typed in full.
<P><DT><B><VAR>tape special file</VAR>
</B><DD>Specifies the tape device's UNIX device name, such as
<B>/dev/rmt0h</B>.
</DL>
</OL>
<P>The following example output reports that the tape in the device with
device name <B>/dev/rmt0h</B> has a capacity of 2136604672 bytes (about 2
GB), and that the device's filemark size is 1910205 bytes (close to 2
MB).
<PRE> % <B>fms /dev/rmt0h</B>
wrote block: 130408
Finished data capacity test - rewinding
wrote 1109 blocks, 1109 file marks
Finished file mark test
Tape capacity is 2136604672 bytes
File marks are 1910205 bytes
</PRE>
<HR><H2><A NAME="HDRWQ260" HREF="auagd002.htm#ToC_284">Granting Administrative Privilege to Backup Operators</A></H2>
<P>Each person who issues the <B>backup</B> and
<B>butc</B> commands in your cell must be listed in the
<B>/usr/afs/etc/UserList</B> file on every database server machine that
stores the Backup Database and Volume Location Database (VLDB), and every
machine that houses a volume included in a volume set. By convention,
the <B>UserList</B> file is the same on every server machine in the
cell; the instructions in this document assume that your cell is
configured in this way. To edit the <B>UserList</B> file, use the
<B>bos adduser</B> and <B>bos removeuser</B> commands as described in <A HREF="auagd021.htm#HDRWQ592">Administering the UserList File</A>.
<P>In addition to being listed in the <B>UserList</B> file, backup
operators who issue the <B>butc</B> command must be able to write to the
files stored in each Tape Coordinator machine's local
<B>/usr/afs/backup</B> directory, which are protected by UNIX mode
bits. Before configuring your cell's first Tape Coordinator
machine, decide which local user and group to designate as the owner of the
directory and the files in it. Among the possible ownership options are
the following:
<UL>
<P><LI>The local superuser <B>root</B>. With this option, the issuer
of the <B>butc</B> command must log onto the local file system as the
local superuser <B>root</B>. If the Tape Coordinator is also a
server machine, the <B>-localauth</B> flag is used on the <B>butc</B>
command to construct a server ticket from the local
<B>/usr/afs/etc/KeyFile</B> file. On non-server machine, the issuer
must issue the <B>klog</B> command to authenticate as an AFS administrator
while logged in as <B>root</B>.
<P><LI>A single AFS administrator. Logging in and authenticating are a
single step if an AFS-modified login utility is used. The administrator
is the only user who can start the Tape Coordinator.
<P><LI>An administrative account for which several operators know the
password. This allows them all to start the Tape Coordinator.
</UL>
<P>Another option is to define a group in the local group file
(<B>/etc/group</B> or equivalent) to which all backup operators
belong. Then turn on the <B>w</B> mode bit (<B>write</B>
permission) in the group mode bits rather than the user mode bits of the
<B>/usr/afs/backup</B> directory and files in it. An advantage over
the methods listed previously is that each operator can retain an individual
administrative account for finer granularity in auditing.
<P>For instructions on implementing your choice of protection methods, see <A HREF="#HDRWQ261">Configuring Tape Coordinator Machines and Tape Devices</A>.
<HR><H2><A NAME="HDRWQ261" HREF="auagd002.htm#ToC_285">Configuring Tape Coordinator Machines and Tape Devices</A></H2>
<A NAME="IDX6854"></A>
<A NAME="IDX6855"></A>
<A NAME="IDX6856"></A>
<A NAME="IDX6857"></A>
<P>This section explains how to configure a machine as a Tape Coordinator
machine, and how to configure or remove the Tape Coordinator associated with a
single tape device or backup data file.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">When configuring a tape device attached to an AIX system, you must set the
device's tape block size to <B> 0</B> (zero) to indicate variable
block size. If you do not, it is possible that devices attached to
machines of other system types cannot read the tapes made on the AIX
system. Use the AIX <B>smit</B> program to verify or change the
value of the tape block size for a tape device, as instructed in Sep <A HREF="#LIWQ263">3</A>.
</TD></TR></TABLE>
<P><H3><A NAME="HDRWQ262" HREF="auagd002.htm#ToC_286">To configure a Tape Coordinator machine</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Become the local superuser <B>root</B> on the machine, if you are not
already, by issuing the <B>su</B> command.
<PRE> % <B>su root</B>
Password: <VAR>root_password</VAR>
</PRE>
<P><LI><A NAME="LIWQ263"></A>Install one or more tape devices on the Tape Coordinator
machine according to the manufacturer's instructions. The Backup
System can track a maximum of 58,511 tape devices or backup data files per
cell.
<P>If the Tape Coordinator machine is an AIX system, issue the following
command to change the tape device's tape block size to <B>0</B>
(zero), which indicates variable block size. Repeat for each tape
device.
<PRE> # <B>chdev -l '</B><VAR>device_name</VAR><B>' -a block_size='0'</B>
</PRE>
<P>where <VAR>device_name</VAR> is the tape device's device name (for
example, <B>/dev/rmt0h</B>).
<P><LI>Verify that the binary files for the <B>backup</B>, <B>butc</B>,
and <B>fms</B> commands are available on the local disk. If the
machine is an AFS client, the conventional location is the
<B>/usr/afsws/etc</B> directory.
<PRE> # <B>ls /usr/afsws/etc</B>
</PRE>
<P><LI>Create the <B>/usr/afs</B> directory. (If the Tape Coordinator
machine is also configured as a file server machine, this directory already
exists.) Then create the <B>/usr/afs/backup</B> directory.
<PRE> # <B>mkdir /usr/afs</B>
# <B>mkdir /usr/afs/backup</B>
</PRE>
<P><LI>Use a text editor to create the <B>/usr/afs/backup/tapeconfig</B>
file. Include a single line for each tape device or backup data file,
specifying the following information in the indicated order. For syntax
details and suggestions on the values to use in each field, see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
<UL>
<P><LI>The capacity of tapes to be used in the device, or the size of the backup
data file
<P><LI>The device's filemark size
<P><LI>The device's device name, starting with the string <B>/dev/</B>
<P><LI>The device's port offset number
</UL>
<A NAME="IDX6858"></A>
<A NAME="IDX6859"></A>
<A NAME="IDX6860"></A>
<A NAME="IDX6861"></A>
<P><LI>Decide which user and group are to own the <B>/usr/afs/backup</B>
directory and <B>/usr/afs/backup/tapeconfig</B> file, based on the
suggestions in <A HREF="#HDRWQ260">Granting Administrative Privilege to Backup Operators</A>. Correct the UNIX mode bits on the directory and
file, if necessary.
<PRE> # <B>chown</B> <VAR>admin_owner</VAR> <B>/usr/afs/backup</B>
# <B>chown</B> <VAR>admin_owner</VAR> <B>/usr/afs/backup/tapeconfig</B>
# <B>chgrp</B> <VAR>admin_group</VAR> <B>/usr/afs/backup</B>
# <B>chgrp</B> <VAR>admin_group</VAR> <B>/usr/afs/backup/tapeconfig</B>
# <B>chmod 774 /usr/afs/backup</B>
# <B>chmod 664 /usr/afs/backup/tapeconfig</B>
</PRE>
<A NAME="IDX6862"></A>
<A NAME="IDX6863"></A>
<A NAME="IDX6864"></A>
<A NAME="IDX6865"></A>
<P><LI><A NAME="LICONFTC-ADDHOST"></A>Issue the <B>backup addhost</B> command to create
a Tape Coordinator entry in the Backup Database. Repeat the command for
each Tape Coordinator.
<PRE> # <B>backup addhost</B> &lt;<VAR>tape&nbsp;machine&nbsp;name</VAR>> [&lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>addh
</B><DD>Is the shortest acceptable abbreviation of <B>addhost</B>.
<P><DT><B><VAR>tape machine name</VAR>
</B><DD>Specifies the Tape Coordinator machine's fully qualified
hostname.
<P><DT><B><VAR>TC port offset</VAR>
</B><DD>Specifies the tape device's port offset number. Provide the
same value as you specified for the device in the <B>tapeconfig</B>
file. You must provide this argument unless the default value of 0
(zero) is appropriate.
</DL>
</OL>
<P><H3><A NAME="Header_287" HREF="auagd002.htm#ToC_287">To configure an additional Tape Coordinator on an existing Tape Coordinator machine</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Become the local superuser <B>root</B> on the machine, if you are not
already, by issuing the <B>su</B> command.
<PRE> % <B>su root</B>
Password: <VAR>root_password</VAR>
</PRE>
<P><LI>Install the tape device on the Tape Coordinator machine according to the
manufacturer's instructions.
<P>If the Tape Coordinator machine is an AIX system, issue the following
command to change the tape device's tape block size to <B>0</B>
(zero), which indicates variable block size.
<PRE> # <B>chdev -l '</B><VAR>device_name</VAR><B>' -a block_size='0'</B>
</PRE>
<P><LI>Choose the port offset number to assign to the tape device. If
necessary, use the <B>backup listhosts</B> command to display the port
offset numbers that are already used; for a discussion of the output, see
<A HREF="#HDRWQ264">To display the list of configured Tape Coordinators</A>.
<PRE> # <B>backup listhosts</B>
</PRE>
<P>where <B>listh</B> is the shortest acceptable abbreviation of
<B>listhosts</B>.
<P><LI>Use a text editor to add one or more entries for the device to the
<B>/usr/afs/backup/tapeconfig</B> file. Specify the following
information in the indicated order. For syntax details and suggestions
on the values to use in each field, see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
<UL>
<P><LI>The capacity of tapes to be used in the device, or the size of the backup
data file
<P><LI>The device's filemark size
<P><LI>The device's device name, starting with the string <B>/dev/</B>
<P><LI>The device's port offset number
</UL>
<P><LI>Issue the <B>backup addhost</B> command to create an entry in the
Backup Database for the Tape Coordinator. For complete syntax, see Step
<A HREF="#LICONFTC-ADDHOST">8</A> in <A HREF="#HDRWQ262">To configure a Tape Coordinator machine</A>.
<PRE> # <B>backup addhost</B> &lt;<VAR>tape&nbsp;machine&nbsp;name</VAR>> [&lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>]
</PRE>
</OL>
<A NAME="IDX6866"></A>
<A NAME="IDX6867"></A>
<A NAME="IDX6868"></A>
<A NAME="IDX6869"></A>
<P><H3><A NAME="Header_288" HREF="auagd002.htm#ToC_288">To unconfigure a Tape Coordinator</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Using a text editor, remove each of the Tape Coordinator's entries
from the <B>/usr/afs/backup/tapeconfig</B> file.
<P><LI>Issue the <B>backup delhost</B> command to delete the Tape
Coordinator's Backup Database entry.
<PRE> % <B>backup delhost</B> &lt;<VAR>tape&nbsp;machine&nbsp;name</VAR>> [&lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>delh
</B><DD>Is the shortest acceptable abbreviation of <B>delhost</B>.
<P><DT><B><VAR>tape machine name</VAR>
</B><DD>Is the complete Internet host name of the Tape Coordinator machine.
<P><DT><B><VAR>TC port offset</VAR>
</B><DD>Is the same port offset number removed from the <B>tapeconfig</B>
file. You must provide this argument unless the default value of
<B>0</B> (zero) is appropriate.
</DL>
</OL>
<A NAME="IDX6870"></A>
<A NAME="IDX6871"></A>
<A NAME="IDX6872"></A>
<A NAME="IDX6873"></A>
<P><H3><A NAME="HDRWQ264" HREF="auagd002.htm#ToC_289">To display the list of configured Tape Coordinators</A></H3>
<OL TYPE=1>
<P><LI>Issue the <B>backup listhosts</B> command to list the Tape
Coordinators and port offset numbers currently configured in the Backup
Database.
<PRE> % <B>backup listhosts</B>
</PRE>
<P>where
<DL>
<P><DT><B>listh
</B><DD>Is the shortest acceptable abbreviation of <B>listhosts</B>.
</DL>
</OL>
<P>The output lists each Tape Coordinator machine and the port offset numbers
currently allocated to it in the Backup Database. The appearance of a
port offset number does not imply that the associated Tape Coordinator is
actually running. Machine names appear in the format in which they were
specified with the <B>backup addhost</B> command.
<P>The following example output lists the Tape Coordinators currently defined
in the Backup Database of the ABC Corporation cell:
<PRE> % <B>backup listhosts</B>
Tape hosts:
Host backup1.abc.com, port offset 0
Host backup1.abc.com, port offset 2
Host backup2.abc.com, port offset 1
Host backup2.abc.com, port offset 3
</PRE>
<HR><H2><A NAME="HDRWQ265" HREF="auagd002.htm#ToC_290">Defining and Displaying Volume Sets and Volume Entries</A></H2>
<P>The Backup System handles data at the level of volumes
rather than individual files. You must define groups of volumes called
<I>volume sets</I> before performing backup operations, by using the
<B>backup addvolset</B> command. A volume set name can be up to 31
characters long and can include any character other than the period
(<B>.</B>), but avoid using metacharacters that have special
meanings to the shell.
<P>After creating a volume set, use the <B>backup addvolentry</B> command
to place one or more <I>volume entries</I> in it. They define the
volumes that belong to it in terms of their location (file server machine and
partition) and name. Use the command's required <B>-server</B>
argument to designate the file server machine that houses the volumes of
interest and its required <B>-partition</B> argument to designate the
partition. Two types of values are acceptable:
<UL>
<P><LI>The fully qualified hostname of one machine or full name of one partition
(such as <B>/vicepm</B>)
<P><LI>The regular expression <B>.*</B> (period and asterisk), which
matches every machine name or partition name in the VLDB
</UL>
<P>For the volume name (the required <B>-volume</B> argument), specify a
combination of alphanumeric characters and one or more metacharacters to
specify part or all of the volume name with a wildcard. You can use any
of the following metacharacters in the volume name field:
<A NAME="IDX6874"></A>
<A NAME="IDX6875"></A>
<DL>
<P><DT><B>.
</B><DD>The period matches any single character.
<P><DT><B>*
</B><DD>The asterisk matches zero or more instances of the preceding
character. Combine it with any other alphanumeric character or
metacharacter.
<P><DT><B>[ ]
</B><DD>Square brackets around a list of characters match a single instance of any
of the characters, but no other characters; for example, <B>[abc]</B>
matches a single <B>a</B> or <B>b</B> or <B>c</B>, but not
<B>d</B> or <B>A</B>. You can combine this expression with the
asterisk.
<P><DT><B>^
</B><DD>The caret, when used as the first character in a square-bracketed set,
designates a match with any single character other than the characters that
follow it; for example, <B>[^a]</B> matches any single character
except lowercase <B>a</B>. You can combine this expression with the
asterisk.
<P><DT><B>\
</B><DD>A backslash preceding any of the metacharacters in this list makes it
match its literal value only. For example, the expression
<B>\.</B> (backslash and period) matches a single period,
<B>\*</B> matches a single asterisk, and <B>\\</B> matches a single
backslash. You can combine such expressions with the asterisk (for
example, <B>\.*</B> matches any number of periods).
</DL>
<P>Perhaps the most common regular expression is the period followed by an
asterisk (<B>.*</B>). This expression matches any string of
any length, because the period matches any character and the asterisk means
any number of that character. As mentioned, it is the only acceptable
regular expression in the file server and partition fields of a volume
entry. In the volume name field, it can stand alone (in which case it
matches every volume listed in the VLDB), or can combine with alphanumeric
characters. For example, the string
<B>user.*\.backup</B> matches any volume name that begins
with the string <B>user</B> and ends with
<B>.backup</B>.
<P>Issuing the <B>backup addvolentry</B> command in interactive mode is
simplest. If you issue it at the shell prompt, you must surround any
string that includes a regular expression with double quotes (<B>" "</B>)
so that the shell passes them uninterpreted to the <B>backup</B> command
interpreter rather than resolving them.
<P>To define various combinations of volumes, provide the following types of
values for the <B>backup addvolentry</B> command's three
arguments. The list uses the notation appropriate for interactive
mode; if you issue the command at the shell prompt instead, place double
quotes around any string that includes a regular expression. To create
a volume entry that includes:
<UL>
<P><LI>All volumes listed in the VLDB, use the regular expression
<B>.*</B> for all three arguments (<B>-server .*
-partition .* -volume .*</B>)
<P><LI>Every volume on a specific file server machine, specify its fully
qualified hostname as the <B>-server</B> argument and use the regular
expression <B>.*</B> for the <B>-partition</B> and
-<B>volume</B> arguments (for example: <B>-server
fs1.abc.com -partition .* -volume .*</B>)
<P><LI>All volumes that reside on a partition with the same name on various file
server machines, specify the complete partition name as the
<B>-partition</B> argument and use the regular expression
<B>.*</B> for the <B>-server</B> and <B>-volume</B>
arguments (for example: <B>-server .* -partition /vicepd
-volume .*</B>)
<P><LI>Every volume with a common string in its name, use the regular expression
<B>.*</B> for the <B>-server</B> and <B>-partition</B>
arguments, and provide a combination of alphanumeric characters and
metacharacters as the <B>-volume</B> argument (for example:
<B>-server .* -partition .* -volume
.*\.backup</B> includes all volumes whose names end in the
string <B>.backup</B>).
<P><LI>All volumes on one partition, specify the machine's fully qualified
hostname as the <B>-server</B> argument and the full partition name as the
<B>-partition</B> argument, and use the regular expression
<B>.*</B> for the <B>-volume</B> argument (for example:
<B>-server fs2.abc.com -partition /vicepb -volume
.*</B>).
<P><LI>A single volume, specify its complete name as the <B>-volume</B>
argument. To bypass the potentially time-consuming search through the
VLDB for matching entries, you can specify an actual machine and partition
name for the <B>-server</B> and <B>-partition</B> arguments
respectively. However, if it is possible that you need to move the
volume in future, it is best to use the regular expression
<B>.*</B> for the machine and partition name.
</UL>
<P>As you create volume sets, define groups of volumes you want to dump to the
same tape at the same time (for example, weekly or daily) and in the same
manner (fully or incrementally). In general, a volume set that includes
volumes with similar contents (as indicated by similar names) is more useful
than one that includes volumes that share a common location, especially if you
often move volumes for load-balancing or space reasons. Most often,
then, it is appropriate to use the regular expression <B>.*</B>
(period followed by a backslash) for the <B>-server</B> and
<B>-partition</B> arguments to the <B>backup addvolentry</B>
command.
<P>It is generally more efficient to include a limited number of volumes in a
volume entry. Dumps of a volume set that includes a large number of
volume can take a long time to complete, increasing the possibility that the
operation fails due to a service interruption or outage.
<P>To remove a volume entry from a volume set, use the <B>backup
delvolentry</B> command. To remove a volume set and all of its
component volume entries from the Backup Database, use the <B>backup
delvolset</B> command. To display the volume entries in a volume set,
use the <B>backup listvolsets</B> command.
<P>By default, a Backup Database record is created for the new volume
set. Sometimes it is convenient to create volume sets without recording
them permanently in the Backup Database, for example when using the
<B>backup volsetrestore</B> command to restore a group of volumes that
were not necessarily backed up together (for further discussion, see <A HREF="auagd012.htm#HDRWQ312">Using the backup volsetrestore Command</A>). To create a <I>temporary</I> volume set,
include the <B>-temporary</B> flag to the <B>backup addvolset</B>
command. A temporary volume set exists only during the lifetime of the
current interactive session, so the flag is effective only when used during an
interactive session (opened by issuing the <B>backup (interactive)</B>
command). You can use the <B>backup delvolset</B> command to delete
a temporary volume set before the interactive session ends, if you wish, but
as noted it is automatically deleted when you end the session. One
advantage of temporary volume sets is that the <B>backup addvolset</B>
command, and any <B>backup addvolentry</B> commands subsequently used to
add volume entries to it, complete more quickly than for regular volume sets,
because you are not creating any Backup Database records.
<A NAME="IDX6876"></A>
<A NAME="IDX6877"></A>
<A NAME="IDX6878"></A>
<A NAME="IDX6879"></A>
<P><H3><A NAME="Header_291" HREF="auagd002.htm#ToC_291">To create a volume set</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI><B>(Optional)</B> Issue the <B>backup</B> command to enter
interactive mode. If you are going to define volume entries right away
with the <B>backup addvolentry</B> command, this eliminates the need to
surround metacharacter expressions with double quotes. You must enter
interactive mode if creating a temporary volume set.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) addvolset</B> command to create the volume
set. You must then issue the <B>(backup) addvolentry</B> command to
define volume entries in it.
<PRE> backup> <B>addvolset</B> &lt;<VAR>volume&nbsp;set&nbsp;name</VAR>> [<B>-temporary</B>]
</PRE>
<P>where
<DL>
<P><DT><B>addvols
</B><DD>Is the shortest acceptable abbreviation of <B>addvolset</B>.
<P><DT><B><VAR>volume set name</VAR>
</B><DD>Names the volume set. The name can include no more than 31
characters, cannot include periods, and must be unique within the Backup
Database. (A temporary volume set can have the same name as an existing
permanent volume set, but this is not recommended because of the confusion it
can cause.)
<P><DT><B>-temporary
</B><DD>Creates a temporary volume set, which exists only during the current
interactive session.
</DL>
</OL>
<A NAME="IDX6880"></A>
<A NAME="IDX6881"></A>
<A NAME="IDX6882"></A>
<A NAME="IDX6883"></A>
<P><H3><A NAME="Header_292" HREF="auagd002.htm#ToC_292">To add a volume entry to a volume set</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI><B>(Optional)</B> Issue the <B>backup</B> command to enter
interactive mode if you have not already. This makes it simpler to use
metacharacter expressions, because you do not need to surround them with
double quotes. If you are adding entries to a temporary volume set, you
must already have entered interactive mode before creating the volume
set.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) addvolentry</B> command to define volume entries
in an existing volume set. The Backup System assigns each volume entry
an index within the volume set, starting with 1 (one).
<PRE> backup> <B>addvolentry -name</B> &lt;<VAR>volume&nbsp;set&nbsp;name</VAR>> \
<B>-server</B> &lt;<VAR>machine&nbsp;name</VAR>> \
<B>-partition</B> &lt;<VAR>partition&nbsp;name</VAR>> \
<B>-volumes</B> &lt;<VAR>volume&nbsp;name&nbsp;(regular&nbsp;expression)</VAR>>
</PRE>
<P>where
<DL>
<P><DT><B>addvole
</B><DD>Is the shortest acceptable abbreviation of <B>addvolentry</B>.
<P><DT><B>-name
</B><DD>Names the volume set to which to add the volume entry. It must
already exist (use the <B>backup addvolset</B> command to create
it).
<P><DT><B>-server
</B><DD>Defines the set of one or more file server machines that house the volumes
in the volume entry. Provide either one fully-qualified hostname (such
as <B>fs1.abc.com</B>) or the metacharacter expression
<B>.*</B> (period and asterisk), which matches all machine names in
the VLDB.
<P><DT><B>-partition
</B><DD>Defines the set of one or more partitions that house the volumes in the
volume entry. Provide either one complete partition name (such as
<B>/vicepa</B>) or the metacharacter expression <B>.*</B>
(period and asterisk), which matches all partition names.
<P><DT><B>-volumes
</B><DD>Defines the set of one or more volumes included in the volume entry,
identifying them by name. This argument can include a combination of
alphanumeric characters and one or more of the metacharacter expressions
discussed in the introductory material in this section.
</DL>
</OL>
<A NAME="IDX6884"></A>
<A NAME="IDX6885"></A>
<A NAME="IDX6886"></A>
<A NAME="IDX6887"></A>
<A NAME="IDX6888"></A>
<A NAME="IDX6889"></A>
<P><H3><A NAME="HDRWQ266" HREF="auagd002.htm#ToC_293">To display volume sets and volume entries</A></H3>
<OL TYPE=1>
<P><LI>Issue the <B>backup listvolsets</B> command to display the volume
entries in a specific volume set or all of them. If you are displaying
a temporary volume set, you must still be in the interactive session in which
you created it.
<PRE> % <B>backup listvolsets</B> [&lt;<VAR>volume&nbsp;set&nbsp;name</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>listv
</B><DD>Is the shortest acceptable abbreviation of <B>listvolsets</B>.
<P><DT><B><VAR>volume set name</VAR>
</B><DD>Names the volume set to display. Omit this argument to display all
defined volume sets.
</DL>
<P>The output from the command uses the wildcard notation used when the volume
entries were created. The string <TT>(temporary)</TT> marks a
temporary volume set. The following example displays all three of the
volume sets defined in a cell's Backup Database, plus a temporary volume
set <B>pat+jones</B> created during the current interactive session:
<P>
<PRE> backup> <B>listv</B>
Volume set pat+jones (temporary):
Entry 1: server fs1.abc.com, partition /vicepe, volumes: user.pat.backup
Entry 2: server fs5.abc.com, partition /viceph, volumes: user.jones.backup
Volume set user:
Entry 1: server .*, partition .*, volumes: user.*\.backup
Volume set sun:
Entry 1: server .*, partition .*, volumes: sun4x_55\..*
Entry 2: server .*, partition .*, volumes: sun4x_56\..*
Volume set rs:
Entry 1: server .*, partition .*, volumes: rs_aix42\..*
</PRE>
</OL>
<A NAME="IDX6890"></A>
<A NAME="IDX6891"></A>
<A NAME="IDX6892"></A>
<A NAME="IDX6893"></A>
<P><H3><A NAME="Header_294" HREF="auagd002.htm#ToC_294">To delete a volume set</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Issue the <B>backup delvolset</B> command to delete one or more volume
sets and all of the component volume entries in them. If you are
deleting a temporary volume set, you must still be in the interactive session
in which you created it.
<PRE> % <B>backup delvolset</B> &lt;<VAR>volume&nbsp;set&nbsp;name</VAR>><SUP>+</SUP>
</PRE>
<P>where
<DL>
<P><DT><B>delvols
</B><DD>Is the shortest acceptable abbreviation of <B>delvolset</B>.
<P><DT><B><VAR>volume set name</VAR>
</B><DD>Names each volume set to delete.
</DL>
</OL>
<A NAME="IDX6894"></A>
<A NAME="IDX6895"></A>
<A NAME="IDX6896"></A>
<A NAME="IDX6897"></A>
<A NAME="IDX6898"></A>
<P><H3><A NAME="Header_295" HREF="auagd002.htm#ToC_295">To delete a volume entry from a volume set</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Issue the <B>backup</B> command to enter interactive mode.
<PRE> % <B>backup</B>
</PRE>
<P><LI>If the volume set includes more than one volume entry, issue the
<B>(backup) listvolsets</B> command to display the index number associated
with each one (if there is only one volume entry, its index is 1). For
a more detailed description of the command's output, see <A HREF="#HDRWQ266">To display volume sets and volume entries</A>.
<PRE> backup> <B>listvolsets</B> &lt;<VAR>volume&nbsp;set&nbsp;name</VAR>>
</PRE>
<P>where
<DL>
<P><DT><B>listv
</B><DD>Is the shortest acceptable abbreviation of <B>listvolsets</B>.
<P><DT><B><VAR>volume set name</VAR>
</B><DD>Names the volume set for which to display volume entries.
</DL>
<P><LI>Issue the <B>(backup) delvolentry</B> command to delete the volume
entry.
<PRE> backup> <B>delvolentry</B> &lt;<VAR>volume&nbsp;set&nbsp;name</VAR>> &lt;<VAR>volume&nbsp;entry&nbsp;index</VAR>>
</PRE>
<P>where
<DL>
<P><DT><B>delvole
</B><DD>Is the shortest acceptable abbreviation of <B>delvolentry</B>.
<P><DT><B><VAR>volume set name</VAR>
</B><DD>Names the volume set from which to delete a volume entry.
<P><DT><B><VAR>volume entry index</VAR>
</B><DD>Specifies the index number of the volume entry to delete.
</DL>
</OL>
<HR><H2><A NAME="HDRWQ267" HREF="auagd002.htm#ToC_296">Defining and Displaying the Dump Hierarchy</A></H2>
<A NAME="IDX6899"></A>
<A NAME="IDX6900"></A>
<P>A dump hierarchy is a logical structure in the Backup Database that defines
the relationship between full and incremental dumps; that is, it defines
which dump serves as the parent for an incremental dump. Each
individual component of a hierarchy is a dump level.
<P>As you define dump levels with the <B>backup adddump</B> command, keep
the following rules and suggestions in mind:
<UL>
<P><LI>Each full dump level is the top level of a hierarchy. You can
create as many hierarchies as you need to dump different volume sets on
different schedules.
<P><LI>The name of a full dump level consists of an initial slash (<B>/</B>),
followed by a string of up to 28 alphanumeric characters.
<P><LI>The name of an incremental dump level resembles a pathname, starting with
the name of a full dump level, then the first incremental level, and so on,
down to the final incremental level. Precede each level name with a
slash to separate it from the preceding level. Like the full level,
each component level in the name can have up to 28 alphanumeric characters,
not including the slash.
<P><LI>A hierarchy can have any have any number of levels, but the maximum length
of a complete dump level name is 256 characters, including the slashes.
<P><LI>Before defining a given incremental level, you must define all of the
levels above it in the hierarchy.
<P><LI>Do not use the period (<B>.</B>) in dump level names.
The Backup System uses the period as the separator between a dump's
volume set name and dump level name when it creates the dump name and AFS tape
name. Any other alphanumeric and punctuation characters are allowed,
but it is best to avoid metacharacters. If you include a metacharacter,
you must precede it with a backslash (<B>\</B>) or surround the entire
dump level name with double quotes (<B>" "</B>).
<P><LI>Naming dump levels for days or other actual time points reminds you when
to perform dumps, and makes it easier to track the relationship between dumps
performed at different levels. However, the names have no meaning to
the Backup System: it does not automatically create dumps according to
the names, and does not prevent you from, for example, using the
<B>/sunday</B> level when creating a dump on a Tuesday.
<P><LI>It is best not to use the same name for more than one component level in a
hierarchy, because it means the resulting dump name no longer indicates which
level was used. For example, if you name a dump level
<B>/full/incr/incr</B>, then the dump name and AFS tape name that result
from dumping a volume set at the first incremental level
(<B>/full/incr</B>) look the same as the names that result from dumping at
the second incremental level (<B>/full/incr/incr</B>).
<P><LI>Individual levels in different hierarchies can have the same name, but the
complete pathnames must be unique. For example,
<B>/sunday1/monday</B> and <B>/sunday2/monday</B> share the same name
at the final level, but are unique because they have different names at the
full level (belong to different hierarchies). However, using the same
name in multiple hierarchies means that dump and AFS tape names do not
unambiguously indicate which hierarchy was used.
</UL>
<P>The following example shows three hierarchies. Each begins with a
full dump at the top: <B>sunday1</B> for the first hierarchy,
<B>sunday2</B> for the second hierarchy, and <B>sunday_bin</B> for the
third hierarchy. In all three hierarchies, each of the other dump
levels is an incremental level.
<PRE> /sunday1
/monday
/tuesday
/wednesday
/thursday
/friday
/sunday2
/monday
/tuesday
/wednesday
/thursday
/friday
/sunday_bin
/monday
/wednesday
/friday
</PRE>
<P>In the first hierarchy, each incremental dump level refers to the full
level <B>/sunday1</B> as its parent. When (for example) you dump a
volume set at the <B>/sunday1/wednesday</B> level, it includes data that
has changed since the volume set was dumped at the <B>/sunday1</B>
level.
<P>In contrast, each incremental dump level in the second hierarchy refers to
the immediately preceding dump level as its parent. When you dump a
volume set at the corresponding level in the second hierarchy
(<B>/sunday2/monday/tuesday/wednesday</B>), the dump includes only data
that has changed since the volume set was dumped at the
<B>/sunday2/monday/tuesday</B> level (presumably the day before).
Assuming you create dumps on the indicated days, an incremental dump made
using this hierarchy contains less data than an incremental dump made at the
corresponding level in the first hierarchy.
<P>The third hierarchy is more appropriate for dumping volumes for which a
daily backup is excessive because the data does not change often (for example,
system binaries).
<P><H3><A NAME="HDRWQ268" HREF="auagd002.htm#ToC_297">Creating a Tape Recycling Schedule</A></H3>
<A NAME="IDX6901"></A>
<A NAME="IDX6902"></A>
<A NAME="IDX6903"></A>
<A NAME="IDX6904"></A>
<A NAME="IDX6905"></A>
<A NAME="IDX6906"></A>
<A NAME="IDX6907"></A>
<A NAME="IDX6908"></A>
<P>If your cell is like most cells, you have a limited amount of room for
storing backup tapes and a limited budget for new tapes. The easiest
solution is to recycle tapes by overwriting them when you no longer need the
backup data on them. The Backup System helps you implement a recycling
schedule by enabling you to associate an expiration date with each dump
level. The expiration date defines when a dump created at that level
expires. Until that time the Backup System refuses to overwrite a tape
that contains the dump. Thus, assigning expiration dates automatically
determines how you recycle tapes.
<P>When designing a tape-recycling schedule, you must decide how far in the
past and to what level of precision you want to guarantee access to backed up
data. For instance, if you decide to guarantee that you can restore a
user's home volume to its state on any given day in the last two weeks,
you cannot recycle the tape that contains a given daily dump for at least two
weeks after you create it. Similarly, if you decide to guarantee that
you can restore home volumes to their state at the beginning of any given week
in the last month, you cannot recycle the tapes in a dump set containing a
weekly dump for at least four weeks. The following example dump
hierarchy implements this recycling schedule by setting the expiration date
for each daily incremental dump to 13 days and the expiration date of the
weekly full dumps to 27 days.
<P>The tapes used to store dumps created at the daily incremental levels in
the <B>/sunday1</B> hierarchy expire just in time to be recycled for daily
dumps in the <B>/sunday3</B> hierarchy (and vice versa), and there is a
similar relationship between the <B>/sunday2</B> and <B>/sunday4</B>
hierarchies. Similarly, the tape that houses a full dump at the
<B>/sunday1</B> level expires just in time to be used for a full dump on
the first Sunday of the following month.
<PRE>
/sunday1 expires in 27d
/monday1 expires in 13d
/tuesday1 expires in 13d
/wednesday1 expires in 13d
/thursday1 expires in 13d
/friday1 expires in 13d
/sunday2 expires in 27d
/monday2 expires in 13d
/tuesday2 expires in 13d
/wednesday2 expires in 13d
/thursday2 expires in 13d
/friday2 expires in 13d
/sunday3 expires in 27d
/monday1 expires in 13d
/tuesday1 expires in 13d
/wednesday1 expires in 13d
/thursday1 expires in 13d
/friday1 expires in 13d
/sunday4 expires in 27d
/monday2 expires in 13d
/tuesday2 expires in 13d
/wednesday2 expires in 13d
/thursday2 expires in 13d
/friday2 expires in 13d
</PRE>
<P>If you use appended dumps in your cell, keep in mind that all dumps in a
dump set are subject to the latest (furthest into the future) expiration date
associated with any of the constituent dumps. You cannot recycle any of
the tapes that contain a dump set until all of the dumps have reached their
expiration date. See also <A HREF="auagd012.htm#HDRWQ299">Appending Dumps to an Existing Dump Set</A>.
<P>Most tape manufacturers recommend that you write to a tape a limited number
of times, and it is best not to exceed this limit when recycling tapes.
To help you track tape usage, the Backup System records a <TT>useCount</TT>
counter on the tape's label. It increments the counter each time
the tape's label is rewritten (each time you use the <B>backup
labeltape</B> or <B>backup dump</B> command). To display the
<TT>useCount</TT> counter, use the <B>backup readlabel</B> or
<B>backup scantape</B> command or include the <B>-id</B> and
<B>-verbose</B> options when you issue the <B>backup dumpinfo</B>
command. For instructions see <A HREF="#HDRWQ272">Writing and Reading Tape Labels</A> or <A HREF="auagd012.htm#HDRWQ302">Displaying Backup Dump Records</A>.
<A NAME="IDX6909"></A>
<A NAME="IDX6910"></A>
<A NAME="IDX6911"></A>
<A NAME="IDX6912"></A>
<P><H3><A NAME="HDRWQ269" HREF="auagd002.htm#ToC_298">Archiving Tapes</A></H3>
<A NAME="IDX6913"></A>
<A NAME="IDX6914"></A>
<P>Even if you make extensive use of tape recycling, there is probably some
backup data that you need to archive for a long (or even an indefinite) period
of time. You can use the Backup System to archive data on a regular
schedule, and you can also choose to archive data on tapes that you previously
expected to recycle.
<P>If you want to archive data on a regular basis, you can create
date-specific dump levels in the dump hierarchy. For example, if you
decide to archive a full dump of all data in your cell at the beginning of
each quarter in the year 2000, you can define the following levels in the dump
hierarchy:
<PRE> /1Q2000
/2Q2000
/3Q2000
/4Q2000
</PRE>
<P>If you decide to archive data that is on tapes you previously planned to
recycle, you must gather all of the tapes that contain the relevant dumps,
both full and incremental. To avoid accidental erasure, it is best to
set the switch on the tapes that makes them read-only, before placing them in
your archive storage area. If the tapes also contain a large amount of
extraneous data that you do not want to archive, you can restore just the
relevant data into a new temporary volume, and back up that volume to the
smallest number of tapes possible. One reason to keep a dump set small
is to minimize the amount of irrelevant data in a dump set you end up needing
to archive.
<P>If you do not expect to restore archived data to the file system, you can
consider using the <B>backup deletedump</B> command to remove the
associated dump records from the Backup Database, which helps keep it to an
efficient size. If you ever need to restore the data, you can use the
<B>-dbadd</B> flag to the <B>backup scantape</B> command to reinsert
the dump records into the database. For instructions, see <A HREF="auagd012.htm#HDRWQ305">To scan the contents of a tape</A>.
<P><H3><A NAME="HDRWQ270" HREF="auagd002.htm#ToC_299">Defining Expiration Dates</A></H3>
<P>To associate an expiration date with a dump level as you
create it, use the <B>-expires</B> argument to the <B>backup
adddump</B> command. To change an existing dump level's
expiration date, use the <B>-expires</B> argument to the <B>backup
setexp</B> command. (Note that it is not possible to change the
expiration date of an actual dump that has already been created at that
level). With both commands, you can define an expiration date either in
absolute terms (for example, 13 January 2000) or relative terms (for example,
30 days from when the dump is created).
<UL>
<P><LI>To define an absolute expiration date, provide a value for the
<B>-expires</B> argument with the following format:
<PRE> [<B>at</B>] <VAR>mm</VAR><B>/</B><VAR>dd</VAR><B>/</B><VAR>yyyy</VAR> [<VAR>hh</VAR><B>:</B><VAR>MM</VAR>]
</PRE>
<P>where <VAR>mm</VAR> indicates the month, <VAR>dd</VAR> the day, and
<VAR>yyyy</VAR> the year when the dump expires. Valid values for the year
fall in the range <B>1970</B> through <B>2037</B> (the latest possible
date that the UNIX time representation can express is in early 2038).
If you provide a time, it must be in 24-hour format with <VAR>hh</VAR> the hours
and <VAR>MM</VAR> the minutes (for example, <B>21:50</B> is 9:50
p.m.). If you omit the time, the default is 00:00
hours (12:00 midnight) on the indicated date.
<P><LI>To define a relative expiration date, provide a value for the
<B>-expires</B> argument with the following format:
<PRE> [<B>in</B>] [<VAR>years</VAR><B>y</B>] [<VAR>months</VAR><B>m</B>] [<VAR>days</VAR><B>d</B>]
</PRE>
<P>where each of <VAR>years</VAR>, <VAR>months</VAR>, and <VAR>days</VAR> is an
integer. Provide at least one of them together with the corresponding
units letter (<B>y</B>, <B>m</B>, or <B>d</B> respectively), with
no intervening space. If you provide more than one of the three, list
them in the indicated order.
<P>The Backup System calculates a dump's actual expiration date by adding
the indicated relative value to the start time of the dump operation.
For example, it assigns an expiration date 1 year, 6 months, and 2 days in the
future to a dump created at a dump level with associated expiration date
<B>in 1y 6m 2d</B>.
<P><LI>To indicate that a dump backed up at the corresponding dump level never
expires, provide the value <B>NEVER</B> instead of a date and time.
To recycle tapes that contain dumps created at such a level, you must use the
<B>backup readlabel</B> command to overwrite the tape's label.
</UL>
<P>If you omit the <B>-expires</B> argument to the <B>backup
adddump</B> command, then the expiration date is set to UNIX time zero
(00:00 hours on 1 January 1970). The Backup System considers
dumps created at such a dump level to expire at their creation time. If
no dumps in a dump set have an expiration date, then the Backup System does
not impose any restriction on recycling the tapes that contain the dump
set. If you need to prevent premature recycling of the tapes that
contain the dump set, you must use a manual tracking system.
<A NAME="IDX6915"></A>
<A NAME="IDX6916"></A>
<A NAME="IDX6917"></A>
<A NAME="IDX6918"></A>
<A NAME="IDX6919"></A>
<A NAME="IDX6920"></A>
<A NAME="IDX6921"></A>
<A NAME="IDX6922"></A>
<A NAME="IDX6923"></A>
<P><H3><A NAME="Header_300" HREF="auagd002.htm#ToC_300">To add a dump level to the dump hierarchy</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>backup adddump</B> command to define one or more dump
levels. If you are defining an incremental level, then all of the
parent levels that precede it in its pathname must either already exist or
precede it on the command line.
<PRE> backup> <B>adddump -dump</B> &lt;<VAR>dump&nbsp;level&nbsp;name</VAR>><SUP>+</SUP> [<B>-expires</B> &lt;<VAR>expiration&nbsp;date</VAR>><SUP>+</SUP>]
</PRE>
<P>where
<DL>
<P><DT><B>addd
</B><DD>Is the shortest acceptable abbreviation of <B>adddump</B>.
<P><DT><B>-dump
</B><DD>Names each dump level to added. If you specify more than one dump
level name, you must include the <B>-dump</B> switch.
<P>Provide the entire pathname of the dump level, preceding each level in the
pathname with a slash (<B>/</B>). Each component level can be up to
28 characters in length, and the pathname can include up to 256 characters
including the slashes.
<P><DT><B>-expires
</B><DD>Sets the expiration date associated with each dump level. Specify
either a relative or absolute expiration date, as described in <A HREF="#HDRWQ270">Defining Expiration Dates</A>, or omit this argument to assign no expiration date to the
dump levels.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">A plus sign follows this argument in the command's syntax statement
because it accepts a multiword value which does not need to be enclosed in
double quotes or other delimiters, not because it accepts multiple
dates. Provide only one date (and optionally, time) definition to be
associated with each dump level specified by the <B>-dump</B>
argument.
</TD></TR></TABLE>
</DL>
</OL>
<A NAME="IDX6924"></A>
<A NAME="IDX6925"></A>
<A NAME="IDX6926"></A>
<A NAME="IDX6927"></A>
<A NAME="IDX6928"></A>
<A NAME="IDX6929"></A>
<P><H3><A NAME="Header_301" HREF="auagd002.htm#ToC_301">To change a dump level's expiration date</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) setexp</B> command to change the expiration date
associated with one or more dump levels.
<PRE> backup> <B>setexp -dump</B> &lt;<VAR>dump&nbsp;level&nbsp;name</VAR>><SUP>+</SUP> [<B>-expires</B> &lt;<VAR>expiration&nbsp;date</VAR>><SUP>+</SUP>]
</PRE>
<P>where
<DL>
<P><DT><B>se
</B><DD>Is the shortest acceptable abbreviation of <B>setexp</B>.
<P><DT><B>-dump
</B><DD>Names each existing dump level for which to change the expiration
date.
<P><DT><B>-expires
</B><DD>Sets the expiration date associated with each dump level. Specify
either a relative or absolute expiration date, as described in <A HREF="#HDRWQ270">Defining Expiration Dates</A>; omit this argument to remove the expiration date
currently associated with each dump level.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">A plus sign follows this argument in the command's syntax statement
because it accepts a multiword value which does not need to be enclosed in
double quotes or other delimiters, not because it accepts multiple
dates. Provide only one date (and optionally, time) definition to be
associated with each dump level specified by the <B>-dump</B>
argument.
</TD></TR></TABLE>
</DL>
</OL>
<A NAME="IDX6930"></A>
<A NAME="IDX6931"></A>
<A NAME="IDX6932"></A>
<A NAME="IDX6933"></A>
<A NAME="IDX6934"></A>
<P><H3><A NAME="Header_302" HREF="auagd002.htm#ToC_302">To delete a dump level from the dump hierarchy</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) deldump</B> command to delete the dump
level. Note that the command automatically removes all incremental dump
levels for which the specified level serves as parent, either directly or
indirectly.
<PRE> backup> <B>deldump</B> &lt;<VAR>dump&nbsp;level&nbsp;name</VAR>>
</PRE>
<P>where
<DL>
<P><DT><B>deld
</B><DD>Is the shortest acceptable abbreviation of <B>deldump</B>.
<P><DT><B><VAR>dump level name</VAR>
</B><DD>Specifies the complete pathname of the dump level to delete.
</DL>
</OL>
<A NAME="IDX6935"></A>
<A NAME="IDX6936"></A>
<A NAME="IDX6937"></A>
<A NAME="IDX6938"></A>
<A NAME="IDX6939"></A>
<A NAME="IDX6940"></A>
<P><H3><A NAME="HDRWQ271" HREF="auagd002.htm#ToC_303">To display the dump hierarchy</A></H3>
<OL TYPE=1>
<P><LI>Issue the <B>backup listdumps</B> command to display the dump
hierarchy.
<PRE> % <B>backup listdumps</B>
</PRE>
<P>where <B>listd</B> is the shortest acceptable abbreviation of
<B>listdumps</B>.
<P>The output from this command displays the dump hierarchy, reporting the
expiration date associated with each dump level, as in the following
example.
<PRE> % <B>backup listdumps</B>
/week1 expires in 27d
/tuesday expires in 13d
/thursday expires in 13d
/sunday expires in 13d
/tuesday expires in 13d
/thursday expires in 13d
/week3 expires in 27d
/tuesday expires in 13d
/thursday expires in 13d
/sunday expires in 13d
/tuesday expires in 13d
/thursday expires in 13d
sunday1 expires in 27d
/monday1 expires in 13d
/tuesday1 expires in 13d
/wednesday1 expires in 13d
/thursday1 expires in 13d
/friday1 expires in 13d
sunday2 expires in 27d
/monday2 expires in 13d
/tuesday2 expires in 13d
/wednesday2 expires in 13d
/thursday2 expires in 13d
/friday2 expires in 13d
sunday3 expires in 27d
/monday1 expires in 13d
/tuesday1 expires in 13d
/wednesday1 expires in 13d
/thursday1 expires in 13d
/friday1 expires in 13d
sunday4 expires in 27d
/monday2 expires in 13d
/tuesday2 expires in 13d
/wednesday2 expires in 13d
/thursday2 expires in 13d
/friday2 expires in 13d
</PRE>
</OL>
<HR><H2><A NAME="HDRWQ272" HREF="auagd002.htm#ToC_304">Writing and Reading Tape Labels</A></H2>
<A NAME="IDX6941"></A>
<A NAME="IDX6942"></A>
<A NAME="IDX6943"></A>
<A NAME="IDX6944"></A>
<A NAME="IDX6945"></A>
<A NAME="IDX6946"></A>
<P>As described in <A HREF="#HDRWQ253">Dump Names and Tape Names</A> and <A HREF="#HDRWQ254">Tape Labels, Dump Labels, and EOF Markers</A>, you can assign either a permanent name or
an AFS tape name to a tape that you use in the Backup System. The names
are recorded on the tape's magnetic label, along with an indication of
the tape's capacity (size).
<P>You can assign either a permanent name or an AFS tape name, but not
both. In general, assigning permanent names rather than AFS tape names
simplifies the backup process, because the Backup System does not dictate the
format of permanent names. If a tape does not have a permanent name,
then by default the Backup System accepts only three strictly defined values
in the AFS tape name field, and refuses to write a dump to a tape with an
inappropriate AFS tape name. The acceptable values are a name that
matches the volume set and dump level of the initial dump, the value
<TT>&lt;NULL></TT>, and no value in the field at all.
<P>If a tape has a permanent name, the Backup System does not check the AFS
tape name, and as part of the dump operation constructs the appropriate AFS
tape name itself and records it on the label. This means that if you
assign a permanent name, the Backup System assigns an AFS tape name itself and
the tape has both types of name. In contrast, if a tape has an AFS tape
name but not a permanent name, you cannot assign a permanent name without
first erasing the AFS tape name.
<P>(You can also suppress the Backup System's check of a tape's AFS
tape name, even it does not have a permanent name, by assigning the value
<B>NO</B> to the <B>NAME_CHECK</B> instruction in the device
configuration file. See <A HREF="#HDRWQ280">Eliminating the AFS Tape Name Check</A>.)
<P>Because the Backup System accepts unlabeled tapes, you do not have to label
a tape before using it for the first time. After the first use, there
are a couple of cases in which you must relabel a tape in order to write a
dump to it:
<UL>
<P><LI>The tape does not have a permanent name, and the AFS tape name on it does
not match the new initial dump set you want to create (the volume set and dump
level names are different, or the index is incorrect).
<P><LI>You want to recycle a tape before all of the dumps on it have
expired. The Backup System does not overwrite a tape with any unexpired
dumps. Keep in mind, though, that if you relabel the tape to making
recycling possible, you erase all the dump records for the tape from the
Backup Database, which makes it impossible to restore any data from the
tape.
</UL>
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Labeling a tape that contains dump data makes it impossible to use that data
in a restore operation, because the labeling operation removes the dump's
records from the Backup Database. If you want to record a permanent
name on a tape label, you must do it before dumping any data to the
tape.
</TD></TR></TABLE>
<P><H3><A NAME="Header_305" HREF="auagd002.htm#ToC_305">Recording a Name on the Label</A></H3>
<P>To write a permanent name on a tape's label, include the
<B>-pname</B> argument to specify a string of up to 32 characters.
Check that no other tape used with the Backup System in your cell already has
the permanent name you are assigning, because the Backup System does not
prevent you from assigning the same name to multiple tapes. The Backup
System overwrites the existing AFS tape name, if any, with the value
<TT>&lt;NULL></TT>. When a tape has a permanent name, the Backup
System uses it instead of the AFS tape name in most prompts and when referring
to the tape in output from <B>backup</B> commands. The permanent
name persists until you again include the <B>-pname</B> argument to the
<B>backup labeltape</B> command, regardless of the tape's contents
and of how often you recycle the tape or use the <B>backup labeltape</B>
command without the <B>-pname</B> argument.
<P>To write an AFS tape name on the label, provide a value for the
<B>-name</B> argument that matches the volume set name and the final
element in the dump level pathname of the initial dump that you plan to write
to the tape, and an index that indicates the tape's place in the sequence
of tapes for the dump set. The format is as follows:
<PRE> <VAR>volume_set_name</VAR><B>.</B><VAR>dump_level_name</VAR><B>.</B><VAR>tape_index</VAR>
</PRE>
<P>If you omit the <B>-name</B> argument, the Backup System sets the AFS
tape name to <TT>&lt;NULL></TT>. The Backup System automatically
constructs and records the appropriate name when you later write an initial
dump to the tape by using the <B>backup dump</B> or <B>backup
savedb</B> command.
<P>You cannot use the <B>-name</B> argument if the tape already has a
permanent name. To erase a tape's permanent name, provide a null
value to the <B>-pname</B> argument by issuing the following
command:
<PRE> % <B>backup labeltape -pname ""</B>
</PRE>
<P><H3><A NAME="Header_306" HREF="auagd002.htm#ToC_306">Recording a Capacity on the Label</A></H3>
<P>To record the tape's capacity on the label, specify a number of
kilobytes as the <B>-size</B> argument. If you omit this argument
the first time you label a tape, the Backup System records the default tape
capacity associated with the specified port offset in the
<B>/usr/afs/backup/tapeconfig</B> file on the Tape Coordinator
machine. If the tape's capacity is different (in particular,
larger) than the capacity recorded in the <B>tapeconfig</B> file, it is
best to record a capacity on the label before using the tape. Once set,
the value in the label's capacity field persists until you again use the
<B>-size</B> argument to the <B>backup labeltape</B> command.
For a discussion of the appropriate capacity to record for tapes, see <A HREF="#HDRWQ258">Configuring the tapeconfig File</A>.
<P>To read a tape's label, use the <B>backup readlabel</B>
command.
<P>Most tapes also come with an adhesive label you can apply to the exterior
casing. To help you easily identify a tape, record at least the
tape's permanent and AFS tape names on the adhesive label.
Depending on the recycling scheme you use, it can be useful to record other
information, such as the dump ID, dump creation date, and expiration date of
each dump you write to the tape.
<A NAME="IDX6947"></A>
<A NAME="IDX6948"></A>
<P><H3><A NAME="HDRWQ273" HREF="auagd002.htm#ToC_307">To label a tape</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>If the Tape Coordinator for the tape device that is to perform the
operation is not already running, open a connection to the appropriate Tape
Coordinator machine and issue the <B>butc</B> command, for which complete
instructions appear in <A HREF="auagd012.htm#HDRWQ292">To start a Tape Coordinator process</A>.
<PRE> % <B>butc</B> [&lt;<VAR>port offset</VAR>>] [<B>-noautoquery</B>]
</PRE>
<P><LI>Place the tape in the device.
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode, if you want to label multiple tapes or issue additional
commands after labeling the tape. The interactive prompt appears in the
following step.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) labeltape</B> command to label the tape.
<PRE> backup> <B>labeltape</B> [<B>-name</B> &lt;<VAR>tape&nbsp;name,&nbsp;defaults&nbsp;to&nbsp;NULL</VAR>>] \
[<B>-size</B> &lt;<VAR>tape&nbsp;size&nbsp;in&nbsp;Kbytes,&nbsp;defaults&nbsp;to&nbsp;size&nbsp;in&nbsp;tapeconfig</VAR>>] \
[<B>-portoffset</B> &lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>] [<B>-pname</B> &lt;<VAR>permanent&nbsp;tape&nbsp;name</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>la
</B><DD>Is the shortest acceptable abbreviation of <B>labeltape</B>.
<P><DT><B>-name
</B><DD>Specifies the AFS tape name to record on the label. Include this
argument or the <B>-pname</B> argument, but not both. If you omit
this argument, the AFS tape name is set to <TT>&lt;NULL></TT>. If you
provide it, it must have the following format.
<PRE><VAR>volume_set_name</VAR><B>.</B><VAR>dump_level_name</VAR><B>.</B><VAR>tape_index</VAR>
</PRE>
<P>
<P>for the tape to be acceptable for use in a future <B>backup dump</B>
operation. The <VAR>volume_set_name</VAR> must match the volume set name
of the initial dump to be written to the tape, <VAR>dump_level_name</VAR> must
match the last element of the dump level pathname at which the volume set is
to be dumped, and <VAR>tape_index</VAR> must correctly indicate the tape's
place in the sequence of tapes that house the dump set; indexing begins
with the number 1 (one).
<P><DT><B>-size
</B><DD>Specifies the tape capacity to record on the label. If you are
labeling the tape for the first time, you need to include this argument only
if the tape's capacity differs from the capacity associated with the
specified port offset in the <B>/usr/afs/backup/tapeconfig</B> file on the
Tape Coordinator machine.
<P>If you provide a value, it is an integer value followed by a letter that
indicates units, with no intervening space. A unit value of
<B>k</B> or <B>K</B> indicates kilobytes, <B>m</B> or <B>M</B>
indicates megabytes, and <B>g</B> or <B>G</B> indicates
gigabytes. If you omit the units letter, the default is
kilobytes.
<P><DT><B>-portoffset
</B><DD>Specifies the port offset number of the Tape Coordinator handling the tape
or backup data file for this operation. You must provide this argument
unless the default value of <B>0</B> (zero) is appropriate.
<P><DT><B>-pname
</B><DD>Specifies the permanent name to record on the label. It can be up
to 32 characters in length, and include any alphanumeric characters.
Avoid metacharacters that have a special meaning to the shell, to avoid having
to mark them as literal in commands issued at the shell prompt.
<P>Include this argument or the <B>-name</B> argument, but not
both. When you provide this argument, the AFS tape name is set to
<TT>&lt;NULL></TT>. If you omit this argument, any existing permanent
name is retained.
</DL>
<P><LI>If you did not include the <B>-noautoquery</B> flag when you issued
the <B>butc</B> command, or if the device's device configuration file
includes the instruction <B>AUTOQUERY YES</B>, then the Tape Coordinator
prompts you to place the tape in the device's drive. You have
already done so, but you must now press <B>&lt;Return></B> to indicate
that the tape is ready for labeling.
</OL>
<A NAME="IDX6949"></A>
<A NAME="IDX6950"></A>
<P><H3><A NAME="HDRWQ274" HREF="auagd002.htm#ToC_308">To read the label on a tape</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>If the Tape Coordinator for the tape device that is to perform the
operation is not already running, open a connection to the appropriate Tape
Coordinator machine and issue the <B>butc</B> command, for which complete
instructions appear in <A HREF="auagd012.htm#HDRWQ292">To start a Tape Coordinator process</A>.
<PRE> % <B>butc</B> [&lt;<VAR>port offset</VAR>>] [<B>-noautoquery</B>]
</PRE>
<P><LI>Place the tape in the device.
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode, if you want to label multiple tapes or issue additional
commands after labeling the tape. The interactive prompt appears in the
following step.
<PRE> % <B>backup</B>
</PRE>
<P><LI>Issue the <B>(backup) readlabel</B> command to read the label on the
tape.
<PRE> backup> <B>readlabel</B> [&lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>rea
</B><DD>Is the shortest acceptable abbreviation of <B>readlabel</B>.
<P><DT><B><VAR>TC port offset</VAR>
</B><DD>Specifies the port offset number of Tape Coordinator handling the tape or
backup data file for this operation. You must provide this argument
unless the default value of <B>0</B> (zero) is appropriate.
</DL>
<P><LI>If you did not include the <B>-noautoquery</B> flag when you issued
the <B>butc</B> command, or the device's device configuration file
includes the instruction <B>AUTOQUERY YES</B> instruction, then the Tape
Coordinator prompts you to place the tape in the device's drive.
You have already done so, but you must now press <B>&lt;Return></B> to
indicate that the tape is ready for reading.
</OL>
<P>Information from the tape label appears both in the <B>backup</B>
command window and in the Tape Coordinator window. The output in the
command window has the following format:
<PRE> Tape read was labelled: <VAR>tape_name</VAR> (<VAR>initial_dump_ID</VAR>)
size: <VAR>size</VAR> KBytes
</PRE>
<P>where <VAR>tape_name</VAR> is the tape's permanent name (if it has one)
or AFS tape name, <VAR>initial_dump_ID</VAR> is the dump ID of the initial dump
on the tape, and <VAR>size</VAR> is the capacity recorded on the label, in
kilobytes.
<P>The information in the Tape Coordinator window is more extensive.
The tape's permanent name appears in the <TT>tape name</TT> field and
its AFS tape name in the <TT>AFS tape name</TT> field. If either name
is undefined, a value of <TT>&lt;NULL></TT> appears in the field
instead. The capacity recorded on the label appears in the
<TT>size</TT> field. Other fields in the output report the creation
time, dump level name, and dump ID of the initial dump on the tape
(<TT>creationTime</TT>, <TT>dump path</TT>, and <TT>dump id</TT>
respectively). The <TT>cell</TT> field reports the cell in which the
dump operation was performed, and the <TT>useCount</TT> field reports the
number of times the tape has been relabeled, either with the <B>backup
labeltape</B> command or during a dump operation. For further
details, see the command's reference page in the <I>IBM AFS
Administration Reference</I>.
<P>If the tape has no label, or if the drive is empty, the following message
appears at the command shell:
<PRE> Failed to read tape label.
</PRE>
<P>The following example illustrates the output in the command shell for a
tape in the device with port offset 1:
<PRE> % <B>backup readlabel 1</B>
Tape read was labelled: monthly_guest (917860000)
size: 2150000 KBytes
</PRE>
<P>The following output appears in the Tape Coordinator window at the same
time:
<PRE> Tape label
----------
tape name = monthly_guest
AFS tape name = guests.monthly.3
creationTime = Mon Feb 1 04:06:40 1999
cell = abc.com
size = 2150000 Kbytes
dump path = /monthly
dump id = 917860000
useCount = 44
-- End of tape label --
</PRE>
<HR><H2><A NAME="HDRWQ275" HREF="auagd002.htm#ToC_309">Automating and Increasing the Efficiency of the Backup Process</A></H2>
<A NAME="IDX6951"></A>
<A NAME="IDX6952"></A>
<P>The Backup System includes several optional features to help you automate
the backup process in your cell and make it more efficient. By
combining several of the features, you can dump volume data to tape with
minimal human intervention in most cases. To take advantage of many of
the features, you create a <I>device configuration file</I> in the
<B>/usr/afs/backup</B> directory for each tape device that participates in
automated operations. For general instructions on creating the device
configuration file, see <A HREF="#HDRWQ276">Creating a Device Configuration File</A>. The following list refers you to sections that
describe each feature in greater detail.
<UL>
<P><LI>You can use tape stackers and jukeboxes to perform backup
operations. These are tape drives with an attached unit that stores
several tapes and can physically insert and remove them from the tape reader
(tape drive) without human intervention, meaning that no operator has to be
present even for backup operations that require several tapes. To use a
stacker or jukebox with the Backup System, include the <B>MOUNT</B> and
<B>UNMOUNT</B> instructions in its device configuration file. See <A HREF="#HDRWQ277">Invoking a Device's Tape Mounting and Unmounting Routines</A>.
<P><LI>You can suppress the Tape Coordinator's default prompt for the
initial tape that it needs for a backup operation, again eliminating the need
for a human operator to be present when a backup operation begins. (You
must still insert the correct tape in the drive at some point before the
operation begins.) To suppress the initial prompt, include the
<B>-noautoquery</B> flag on the <B>butc</B> command, or assign the
value <B>NO</B> to the <B>AUTOQUERY</B> instruction in the device
configuration file. See <A HREF="#HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</A>.
<P><LI>You can suppress the prompts that the Tape Coordinator otherwise generates
when it encounters several types of errors. When you use this feature,
the Tape Coordinator instead responds to the errors in a default manner, which
generally allows the operation to continue without human intervention.
To suppress prompts about error conditions, assign the value <B>NO</B> to
the <B>ASK</B> instruction in the device configuration file. See <A HREF="#HDRWQ279">Enabling Default Responses to Error Conditions</A>.
<P><LI>You can suppress the Backup System's default verification that the
AFS tape name on a tape that has no permanent name matches the name derived
from the volume set and dump level names of the initial dump the Backup System
is writing to the tape. This enables you to recycle a tape without
first relabeling it, as long as all dumps on it are expired. To
suppress name checking, assign the value <B>NO</B> to the
<B>NAME_CHECK</B> instruction in the device configuration file. See
<A HREF="#HDRWQ280">Eliminating the AFS Tape Name Check</A>.
<P><LI>You can promote tape streaming (the most efficient way for a tape device
to operate) by setting the size of the memory buffer the Tape Coordinator uses
when transferring volume data between the file system and the device.
To set the buffer size, include the <B>BUFFERSIZE</B> instruction in the
device configuration file. See <A HREF="#HDRWQ281">Setting the Memory Buffer Size to Promote Tape Streaming</A>.
<P><LI>You can write dumps to a <I>backup data file</I> on the local disk of
the Tape Coordinator machine, rather than to tape. You can then
transfer the backup data file to a data-archiving system, such as a
hierarchical storage management (HSM) system, that you use in conjunction with
AFS and the Backup System. Writing a dump to a file is usually more
efficient that issuing the equivalent <B>vos dump</B> commands
individually. To write dumps to a file, include the <B>FILE</B>
instruction in the device configuration file. See <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A>.
</UL>
<P>There are two additional ways to increase backup automation and efficiency
that do not involve the device configuration file:
<UL>
<P><LI>You can schedule one or more <B>backup dump</B> commands to run at
specified times. This enables you to create backups at times of low
system usage, without requiring a human operator to be present. You can
schedule a single dump operation for a future time, or multiple operations to
run at various future times. See <A HREF="auagd012.htm#HDRWQ300">Scheduling Dumps</A>.
<P><LI>You can append dumps to a tape that already has other dumps on it.
This enables you to use as much of a tape's capacity as possible.
The appended dumps do not have be related in any way to one another or to the
initial dump on the tape, but grouping dumps appropriately can reduce the
number of necessary tape changes during a restore operation. To append
a dump, include the <B>-append</B> argument to the <B>backup dump</B>
command. See <A HREF="auagd012.htm#HDRWQ299">Appending Dumps to an Existing Dump Set</A>.
</UL>
<P><H3><A NAME="HDRWQ276" HREF="auagd002.htm#ToC_310">Creating a Device Configuration File</A></H3>
<A NAME="IDX6953"></A>
<A NAME="IDX6954"></A>
<A NAME="IDX6955"></A>
<A NAME="IDX6956"></A>
<P>To use many of the features that automate backup operations, create a
configuration file for each tape device in the <B>/usr/afs/backup</B>
directory on the local disk of the Tape Coordinator machine that drives the
device. The filename has the following form:
<P><B>CFG_</B><VAR>device_name</VAR>
<P>where <VAR>device_name</VAR> represents the name of the tape device or backup
data file (see <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A> to learn about writing dumps to a file rather than to
tape).
<P>For a tape device, construct the <VAR>device_name</VAR> portion of the name
by stripping off the initial <B>/dev/</B> string with which all UNIX
device names conventionally begin, and replacing any other slashes in the name
with underscores. For example, <B>CFG_rmt_4m</B> is the appropriate
filename for a device called <B>/dev/rmt/4m</B>.
<P>For a backup data file, construct the <VAR>device_name</VAR> portion by
stripping off the initial slash (<B>/</B>) and replacing any other slashes
(<B>/</B>) in the name with underscores. For example,
<B>CFG_var_tmp_FILE</B> is the appropriate filename for a backup data file
called <B>/var/tmp/FILE</B>.
<P>Creating a device configuration file is optional. If you do not want
to take advantage of any of the features that the file provides, you do not
have to create it.
<P>You can include one of each of the following instructions in any order in a
device configuration file. All are optional. Place each
instruction on its own line, but do not include any newline
(<B>&lt;Return></B>) characters within an instruction.
<DL>
<P><DT><B>MOUNT and UNMOUNT
</B><DD>Identify a script of routines for mounting and unmounting tapes in a tape
stacker or jukebox's drive as needed. See <A HREF="#HDRWQ277">Invoking a Device's Tape Mounting and Unmounting Routines</A>.
<P><DT><B>AUTOQUERY
</B><DD>Controls whether the Tape Coordinator prompts for the first tape it needs
for a backup operation. See <A HREF="#HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</A>.
<P><DT><B>ASK
</B><DD>Controls whether the Tape Coordinator asks you how to respond to certain
error conditions. See <A HREF="#HDRWQ279">Enabling Default Responses to Error Conditions</A>.
<P><DT><B>NAME_CHECK
</B><DD>Controls whether the Tape Coordinator verifies that an AFS tape name
matches the initial dump you are writing to the tape. See <A HREF="#HDRWQ280">Eliminating the AFS Tape Name Check</A>.
<P><DT><B>BUFFERSIZE
</B><DD>Sets the size of the memory buffer the Tape Coordinator uses when
transferring data between a tape device and a volume. See <A HREF="#HDRWQ281">Setting the Memory Buffer Size to Promote Tape Streaming</A>.
<P><DT><B>FILE
</B><DD>Controls whether the Tape Coordinator writes dumps to, and restores data
from, a tape device or a backup data file. See <A HREF="#HDRWQ282">Dumping Data to a Backup Data File</A>.
</DL>
<A NAME="IDX6957"></A>
<A NAME="IDX6958"></A>
<A NAME="IDX6959"></A>
<A NAME="IDX6960"></A>
<A NAME="IDX6961"></A>
<A NAME="IDX6962"></A>
<P><H3><A NAME="HDRWQ277" HREF="auagd002.htm#ToC_311">Invoking a Device's Tape Mounting and Unmounting Routines</A></H3>
<P>A tape stacker or jukebox helps you automate backup
operations because it can switch between multiple tapes during an operation
without human intervention. To take advantage of this feature, include
the <B>MOUNT</B> and optionally <B>UNMOUNT</B> instructions in the
device configuration file that you write for the stacker or jukebox.
The instructions share the same syntax:
<PRE> <B>MOUNT</B> <VAR>filename</VAR>
<B>UNMOUNT</B> <VAR>filename</VAR>
</PRE>
<P>where <VAR>filename</VAR> is the pathname on the local disk of a script or
program you have written that invokes the routines defined by the
device's manufacturer for mounting or unmounting a tape in the
device's tape drive. (For convenience, the following discussion
uses the term <I>script</I> to refers to both scripts and
programs.) The script usually also contains additional logic that
handles error conditions or modifies the script's behavior depending on
which backup operation is being performed.
<P>You can refer to different scripts with the <B>MOUNT</B> or
<B>UNMOUNT</B> instructions, or to a single script that invokes both
mounting and unmounting routines. The scripts inherit the local
identity and AFS tokens associated with to the issuer of the <B>butc</B>
command.
<P>You need to include a <B>MOUNT</B> instruction in the device
configuration file for all tape devices, but the need for an
<B>UNMOUNT</B> instruction depends on the tape-handling routines that the
device's manufacturer provides. Some devices, usually stackers,
have only a single routine for mounting tapes, which also automatically
unmounts a tape whose presence prevents insertion of the required new
tape. In this case, an <B>UNMOUNT</B> instruction is not
necessary. For devices that have separate mounting and unmounting
routines, you must include an <B>UNMOUNT</B> instruction to remove a tape
when the Tape Coordinator is finished with it; otherwise, subsequent
attempts to run the <B>MOUNT</B> instruction fail with an error.
<P>When the device configuration file includes a <B>MOUNT</B> instruction,
you must stock the stacker or jukebox with the necessary tapes before running
a backup operation. Many jukeboxes are able to search for the required
tape by reading external labels (such as barcodes) on the tapes, but many
stackers can only switch between tapes in sequence and sometimes only in one
direction. In the latter case, you must also stock the tapes in the
correct order.
<P>To obtain a list of the tapes required for a restore operation so that you
can prestock them in the tape device, include the <B>-n</B> flag on the
appropriate <B>backup</B> command (<B>backup diskrestore</B>,
<B>backup volrestore</B>, or <B>backup volsetrestore</B>). For
a dump operation, it is generally sufficient to stock the device with more
tapes than the operation is likely to require. You can prelabel the
tapes with permanent names or AFS tape names, or not prelabel them at
all. If you prelabel the tapes for a dump operation with AFS tape
names, then it is simplest to load them into the stacker in sequential order
by tape index. But it is probably simpler still to prelabel tapes with
permanent tape names or use unlabeled tapes, in which case the Backup System
generates and applies the appropriately indexed AFS tape name itself during
the dump operation.
<P><H4><A NAME="Header_312">How the Tape Coordinator Uses the MOUNT and UNMOUNT Instructions</A></H4>
<P>When you issue the <B>butc</B> command to initialize the Tape
Coordinator for a given tape device, the Tape Coordinator looks for the device
configuration file called <B>/usr/afs/backup/CFG_</B><VAR>device_name</VAR>
on its local disk, where <VAR>device_name</VAR> has the format described in <A HREF="#HDRWQ276">Creating a Device Configuration File</A>. If the file exists and contains a <B>MOUNT</B>
instruction, then whenever the Tape Coordinator needs a tape, it executes the
script named by the instruction's <VAR>filename</VAR> argument.
<P>If the device configuration file does not exist, or does not include a
<B>MOUNT</B> instruction, then whenever the Tape Coordinator needs a tape,
it generates a prompt in its window instructing the operator to insert the
necessary tape. The operator must insert the tape and press
<B>&lt;Return></B> before the Tape Coordinator continues the backup
operation.
<P>Note, however, that you can modify the Tape Coordinator's behavior
with respect to the first tape needed for an operation, by setting the
<B>AUTOQUERY</B> instruction in the device configuration file to
<B>NO</B>, or including the <B>-noautoquery</B> flag to the
<B>butc</B> command. In this case, the Tape Coordinator does not
execute the <B>MOUNT</B> instruction or prompt for a tape at the start of
an operation, because it expects to find the required first tape in the
drive. See <A HREF="#HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</A>.
<P>If there is an <B>UNMOUNT</B> instruction in the device configuration
file, then whenever the Tape Coordinator closes the tape device, it executes
the script named by the instruction's <VAR>filename</VAR> argument.
It executes the script only once, and regardless of whether the
<B>close</B> operation on the device succeeded or not. If the
device configuration file does not include an <B>UNMOUNT</B> instruction,
then the Tape Coordinator takes no action.
<P><H4><A NAME="Header_313">The Available Parameters and Required Exit Codes</A></H4>
<P>When the Tape Coordinator executes the <B>MOUNT</B> script, it
passes in five parameters, ordered as follows. You can use the
parameters in your script to refine its response to varying circumstances that
can arise during a backup operation.
<OL TYPE=1>
<P><LI>The tape device or backup data file's pathname, as recorded in the
<B>/usr/afs/backup/tapeconfig</B> file.
<P><LI>The tape operation, which (except for the exceptions noted in the
following list) matches the <B>backup</B> command operation code used to
initiate the operation:
<UL>
<P><LI><B>appenddump</B> (when a <B>backup dump</B> command includes the
<B>-append</B> flag)
<P><LI><B>dump</B> (when a <B>backup dump</B> command does not include
the <B>-append</B> flag)
<P><LI><B>labeltape</B>
<P><LI><B>readlabel</B>
<P><LI><B>restore</B> (for a <B>backup diskrestore</B>, <B>backup
volrestore</B>, or <B>backup volsetrestore</B> command)
<P><LI><B>restoredb</B>
<P><LI><B>savedb</B>
<P><LI><B>scantape</B>
</UL>
<P><LI>The number of times the Tape Coordinator has attempted to open the tape
device or backup data file. If the open attempt returns an error, the
Tape Coordinator increments this value by one and again invokes the
<B>MOUNT</B> instruction.
<P><LI>The tape name. For some operations, the Tape Coordinator passes the
string <TT>none</TT>, because it does not know the tape name (when running
the <B>backup scantape</B> or <B>backup readlabel</B>, for example),
or because the tape does not necessarily have a name (when running the
<B>backup labeltape</B> command, for example).
<P><LI>The tape ID recorded in the Backup Database. As with the tape name,
the Backup System passes the string <TT>none</TT> for operations where it
does not know the tape ID or the tape does not necessarily have an ID.
</OL>
<P>Your <B>MOUNT</B> script must return one of the following exit codes to
tell the Tape Coordinator whether or not it mounted the tape
successfully:
<UL>
<P><LI>Code <B>0</B> (zero) indicates a successful mount, and the Tape
Coordinator continues the backup operation. If the script or program
called by the <B>MOUNT</B> instruction does not return this exit code, the
Tape Coordinator never calls the <B>UNMOUNT</B> instruction.
<P><LI>Code <B>1</B> indicates that mount attempt failed. The Tape
Coordinator terminates the backup operation.
<P><LI>Any other code indicates that the script was unable to access the correct
tape. The Tape Coordinator prompts the operator to insert it.
</UL>
<P>When the Tape Coordinator executes the <B>UNMOUNT</B> script, it passes
in two parameters in the following order.
<OL TYPE=1>
<P><LI>The tape device's pathname (as specified in the
<B>/usr/afs/backup/tapeconfig</B> file)
<P><LI>The tape operation, which is always <B>unmount</B>.
</OL>
<P>The following example script uses two of the parameters passed to it by the
Backup System: <TT>tries</TT> and <TT>operation</TT>. It
follows the recommended practice of exiting if the value of the
<TT>tries</TT> parameter exceeds one, because that implies that the stacker
is out of tapes.
<P>For a <B>backup dump</B> or <B>backup savedb</B> operation, the
routine calls the example <B>stackerCmd_NextTape</B> function provided by
the stacker's manufacturer. Note that the final lines in the file
return the exit code that prompts the operator to insert a tape; these
lines are invoked when either the stacker cannot load a tape or a the
operation being performed is not one of those explicitly mentioned in the file
(is a restore operation, for example).
<PRE> #! /bin/csh -f
set devicefile = $1
set operation = $2
set tries = $3
set tapename = $4
set tapeid = $5
set exit_continue = 0
set exit_abort = 1
set exit_interactive = 2
#--------------------------------------------
if (${tries} > 1) then
echo "Too many tries"
exit ${exit_interactive}
endif
if (${operation} == "unmount") then
echo "UnMount: Will leave tape in drive"
exit ${exit_continue}
endif
if ((${operation} == "dump") |\
(${operation} == "appenddump") |\
(${operation} == "savedb")) then
stackerCmd_NextTape ${devicefile}
if (${status} != 0)exit${exit_interactive}
echo "Will continue"
exit ${exit_continue}
endif
if ((${operation} == "labeltape") |\
(${operation} == "readlabel")) then
echo "Will continue"
exit ${exit_continue}
endif
echo "Prompt for tape"
exit ${exit_interactive}
</PRE>
<A NAME="IDX6963"></A>
<A NAME="IDX6964"></A>
<A NAME="IDX6965"></A>
<A NAME="IDX6966"></A>
<P><H3><A NAME="HDRWQ278" HREF="auagd002.htm#ToC_314">Eliminating the Search or Prompt for the Initial Tape</A></H3>
<P>By default, the Tape Coordinator obtains the first tape it
needs for a backup operation by reading the device configuration file for the
appropriate tape device. If there is a <B>MOUNT</B> instruction in
the file, the Tape Coordinator executes the referenced script. If the
device configuration file does not exist or does not have a <B>MOUNT</B>
instruction in it, the Tape Coordinator prompts you to insert the correct tape
and press <B>&lt;Return></B>.
<P>If you know in advance that an operation requires a tape, you can increase
efficiency by placing the required tape in the drive before issuing the
<B>backup</B> command and telling the Tape Coordinator's to skip its
initial tape-acquisition steps. This both enables the operation to
begin more quickly and eliminates that need for you to be present to insert a
tape.
<P>There are two ways to bypass the Tape Coordinator's initial
tape-acquisition steps:
<OL TYPE=1>
<P><LI>Include the instruction <B>AUTOQUERY NO</B> in the device
configuration file
<P><LI>Include the <B>-noautoquery</B> flag to the <B>butc</B> command
</OL>
<P>To avoid any error conditions that require operator attention, be sure that
the tape you are placing in the drive does not contain any unexpired dumps and
is not write protected. If there is no permanent name on the
tape's label and you are creating an initial dump, make sure that the AFS
tape name either matches the volume set and dump set names or is
<TT>&lt;NULL></TT>. Alternatively, suppress the Tape
Coordinator's name verification step by assigning the value <B>NO</B>
to the <B>NAME_CHECK</B> instruction in the device configuration file, as
described in <A HREF="#HDRWQ280">Eliminating the AFS Tape Name Check</A>.
<A NAME="IDX6967"></A>
<A NAME="IDX6968"></A>
<A NAME="IDX6969"></A>
<P><H3><A NAME="HDRWQ279" HREF="auagd002.htm#ToC_315">Enabling Default Responses to Error Conditions</A></H3>
<P>By default, the Tape Coordinator asks you how to respond
when it encounters certain error conditions. To suppress the prompts
and cause the Tape Coordinator to handle the errors in a predetermined manner,
include the instruction <B>ASK NO</B> in the device configuration
file. If you assign the value <B>YES</B>, or omit the
<B>ASK</B> instruction completely, the Tape Coordinator prompts you for
direction when it encounters one of the errors.
<P>The following list describes the error conditions and the Tape
Coordinator's response to them.
<UL>
<P><LI>The Backup System is unable to dump a volume while running the <B>backup
dump</B> command. When you assign the value <B>NO</B>, the Tape
Coordinator omits the volume from the dump and continues the operation.
When you assign the value <B>YES</B>, it prompts to ask if you want to try
to dump the volume again immediately, to omit the volume from the dump but
continue the operation, or to terminate the operation.
<P><LI>The Backup System is unable to restore a volume while running the
<B>backup diskrestore</B>, <B>backup volrestore</B>, or <B>backup
volsetrestore</B> command. When you assign the value <B>NO</B>,
the Tape Coordinator continues the operation, omitting the problematic volume
but restoring the remaining ones. When you assign the value
<B>YES</B>, it prompts to ask if you want to omit the volume and continue
the operation, or to terminate the operation.
<P><LI>The Backup System cannot determine if the dump set includes any more tapes
while running the <B>backup scantape</B> command (the command's
reference page in the <I>IBM AFS Administration Reference</I> discusses
possible reasons for this problem). When you assign the value
<B>NO</B>, the Tape Coordinator proceeds as though there are more tapes
and invokes the <B>MOUNT</B> script named in the device configuration
file, or prompts the operator to insert the next tape. When you assign
the value <B>YES</B>, it prompts to ask if there are more tapes to
scan.
<P><LI>The Backup System determines that the tape contains an unexpired dump
while running the <B>backup labeltape</B> command. When you assign
the value <B>NO</B>, it terminates the operation without relabeling the
tape. With a <B>YES</B> value, the Tape Coordinator prompts to ask
if you want to relabel the tape anyway.
</UL>
<A NAME="IDX6970"></A>
<A NAME="IDX6971"></A>
<A NAME="IDX6972"></A>
<A NAME="IDX6973"></A>
<P><H3><A NAME="HDRWQ280" HREF="auagd002.htm#ToC_316">Eliminating the AFS Tape Name Check</A></H3>
<P>If a tape does not have a permanent name and you are writing
an initial dump to it, then by default the Backup System verifies that the
tape's AFS tape name is acceptable. It accepts three types of
values:
<UL>
<P><LI>A name that reflects the volume set and dump level of the initial dump and
the tape's place in the sequence of tapes for the dump set, as described
in <A HREF="#HDRWQ253">Dump Names and Tape Names</A>. If the tape does not already have a permanent name,
you can assign the AFS tape name by using the <B>-name</B> argument to the
<B>backup labeltape</B> command.
<P><LI>A <TT>&lt;NULL></TT> value, which results when you assign a permanent
name, or provide no value for the <B>backup labeltape</B> command's
<B>-name</B> argument.
<P><LI>No AFS tape name at all, indicating that you have never labeled the tape
or written a dump to it.
</UL>
<P>To bypass the name check, include the <B>NAME_CHECK NO</B> instruction
in the device configuration file. This enables you to recycle a tape
without first relabeling it, as long as all dumps on it are expired.
(If a tape has unexpired dumps on it but you want to recycle it anyway, you
must use the <B>backup labeltape</B> command to relabel it first.
For this to work, the <B>ASK NO</B> instruction cannot appear in the
device configuration file.)
<P><H3><A NAME="HDRWQ281" HREF="auagd002.htm#ToC_317">Setting the Memory Buffer Size to Promote Tape Streaming</A></H3>
<P>By default, the Tape Coordinator uses a 16-KB memory buffer
during dump operations. As it receives volume data from the Volume
Server, the Tape Coordinator gathers 16 KB of data in the buffer before
transferring the entire 16 KB to the tape device. Similarly, during a
restore operation the Tape Coordinator by default buffers 32 KB of data from
the tape device before transferring the entire 32 KB to the Volume Server for
restoration into the file system. Buffering makes the volume of data
flowing to and from a tape device more even and so promotes tape streaming,
which is the most efficient way for a tape device to operate.
<P>In a normal network configuration, the default buffer sizes are usually
large enough to promote tape streaming. If the network between the Tape
Coordinator machine and file server machines is slow, it can help to increase
the buffer size.
<P>To determine if altering the buffer size is helpful for your configuration,
observe the tape device in operation to see if it is streaming, or consult the
manufacturer. To set the buffer size, include the <B>BUFFERSIZE</B>
instruction in the device configuration file. It takes an integer
value, and optionally units, in the following format:
<PRE> <B>BUFFERSIZE</B> <VAR>size</VAR>[{<B>k</B> | <B>K</B> | <B>m</B> | <B>M</B> | <B>g</B> | <B>G</B>}]
</PRE>
<P>where <VAR>size</VAR> specifies the amount of memory the Tape Coordinator
allocates to use as a buffer during both dump and restore operations.
The default unit is bytes, but use <B>k</B> or <B>K</B> to specify
kilobytes, <B>m</B> or <B>M</B> for megabytes, and <B>g</B> or
<B>G</B> for gigabytes. There is no space between the <VAR>size</VAR>
value and the units letter.
<P><H3><A NAME="HDRWQ282" HREF="auagd002.htm#ToC_318">Dumping Data to a Backup Data File</A></H3>
<P>You can write dumps to a <I>backup data file</I> rather
than to tape. This is useful if, for example, you want to transfer the
data to a data-archiving system, such as a hierarchical storage management
(HSM) system, that you use in conjunction with AFS and the Backup
System. You can restore data from a backup data file into the file
system as well. Using a backup data file is usually more efficient than
issuing the equivalent <B>vos dump</B> and <B>vos restore</B> commands
individually for multiple volumes.
<P>Writing to a backup data file is simplest if it is on the local disk of the
Tape Coordinator machine, but you can also write the file to an NFS-mounted
partition that resides on a remote machine. It is even acceptable to
write to a file in AFS, provided that the access control list (ACL) on its
parent directory grants the necessary permissions, but it is somewhat circular
to back up AFS data into AFS itself.
<P>If the backup data file does not already exist when the Tape Coordinator
attempts to write a dump to it, the Tape Coordinator creates it. For a
restore operation to succeed, the file must exist and contain volume data
previously written to it during a <B>backup dump</B> operation.
<P>When writing to a backup data file, the Tape Coordinator writes data at 16
KB offsets. If a given block of data (such as the marker that signals
the beginning or end of a volume) does not fill the entire 16 KB, the Tape
Coordinator still skips to the next offset before writing the next
block. In the output of a <B>backup dumpinfo</B> command issued
with the <B>-id</B> option, the value in the <TT>Pos</TT> column is the
ordinal of the 16-KB offset at which the volume data begins, and so is not
generally only one higher than the position number on the previous line, as it
is for dumps to tape.
<P>Before writing to a backup data file, you need to configure the file as
though it were a tape device.
<TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">A file pathname, rather than a tape device name, must appear in the third
field of the <B>/usr/afs/backup/tapeconfig</B> file when the <B>FILE
YES</B> instruction appears in the device configuration file, and vice
versa. If the <B>tapeconfig</B> file instead refers to a tape
device, dump operations appear to succeed but are inoperative. You
cannot restore data that you accidently dumped to a tape device while the
<B>FILE</B> instruction was set to <B>YES</B>. In the same way,
if the <B>FILE</B> instruction is set to <B>NO</B>, the
<B>tapeconfig</B> entry must refer to an actual tape device.
</TD></TR></TABLE>
<P><H3><A NAME="Header_319" HREF="auagd002.htm#ToC_319">To configure a backup data file</A></H3>
<OL TYPE=1>
<P><LI>Verify that you are authenticated as a user listed in the
<B>/usr/afs/etc/UserList</B> file. If necessary, issue the <B>bos
listusers</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ593">To display the users in the UserList file</A>.
<PRE> % <B>bos listusers</B> &lt;<VAR>machine name</VAR>>
</PRE>
<P><LI>Become the local superuser <B>root</B> on the machine, if you are not
already, by issuing the <B>su</B> command.
<PRE> % <B>su root</B>
Password: <VAR>root_password</VAR>
</PRE>
<P><LI><B>Optional</B>. Issue the <B>backup</B> command to enter
interactive mode.
<PRE> # <B>backup</B>
</PRE>
<P><LI>Choose the port offset number to assign to the file. If necessary,
display previously assigned port offsets by issuing the <B>(backup)
listhosts</B> command, which is fully described in <A HREF="#HDRWQ264">To display the list of configured Tape Coordinators</A>.
<PRE> backup> <B>listhosts</B>
</PRE>
<P>As for a tape device, acceptable values are the integers <B>0</B>
(zero) through <B>58510</B> (the Backup System can track a maximum of
58,511 port offset numbers). Each port offset must be unique in the
cell, but you can associate any number them with a single Tape Coordinator
machine. You do not have to assign port offset numbers
sequentially.
<P><LI>Issue the <B>(backup) addhost</B> command to register the backup data
file's port offset in the Backup Database.
<PRE> backup> <B>addhost</B> &lt;<VAR>tape&nbsp;machine&nbsp;name</VAR>> [&lt;<VAR>TC&nbsp;port&nbsp;offset</VAR>>]
</PRE>
<P>where
<DL>
<P><DT><B>addh
</B><DD>Is the shortest acceptable abbreviation of <B>addhost</B>.
<P><DT><B><VAR>tape machine name</VAR>
</B><DD>Specifies the fully qualified hostname of the Tape Coordinator machine you
invoke to write to the backup data file.
<P><DT><B><VAR>TC port offset</VAR>
</B><DD>Specifies the file's port offset number. You must provide this
argument unless the default value of <B>0</B> (zero) is
appropriate.
</DL>
<P><LI><A NAME="LITAPECONFIG-FILE"></A>Using a text editor, create an entry for the backup
data file in the local <B>/usr/afs/backup/tapeconfig</B> file, using the
standard syntax:
<PRE> [<VAR>capacity</VAR> <VAR>filemark_size</VAR>] <VAR>device_name</VAR> <VAR>port_offset</VAR>
</PRE>
<P>where
<DL>
<P><DT><B><VAR>capacity</VAR>
</B><DD>Specifies the amount of space on the partition that houses the backup data
file that you want to make available for the file. To avoid the
complications that arise from filling up the partition, it is best to provide
a value somewhat smaller than the actual amount of space you expect to be
available when the dump operation runs, and never larger than the maximum file
size allowed by the operating system.
<P>Specify a numerical value followed by a letter that indicates units, with
no intervening space. The letter <B>k</B> or <B>K</B> indicates
kilobytes, <B>m</B> or <B>M</B> indicates megabytes, and <B>g</B>
or <B>G</B> indicates gigabytes. If you omit the units letter, the
default is kilobytes. If you leave this field empty, the Tape
Coordinator uses the maximum acceptable value (2048 GB or 2 TB). Also
leave the <VAR>filemark_size</VAR> field empty in that case.
<P><DT><B><VAR>filemark_size</VAR>
</B><DD>Specify the value <B>0</B> (zero) or leave both this field and the
<VAR>capacity</VAR> field empty. In the latter case, the Tape Coordinator
also uses the value zero.
<P><DT><B><VAR>device_name</VAR>
</B><DD>Specifies the complete pathname of the backup data file. Rather
than specifying an actual file pathname, however, the recommended
configuration is to create a symbolic link in the <B>/dev</B> directory
that points to the actual file pathname, and record the symbolic link in this
field. This configuration provides these advantages:
<UL>
<P><LI>It makes the <VAR>device_name</VAR> portion of the
<B>CFG_</B><VAR>device_name</VAR>, of the
<B>TE_</B><VAR>device_name</VAR>, and of the
<B>TL_</B><VAR>device_name</VAR> filenames as short as possible.
Because the symbolic link is in the <B>/dev</B> directory as though it is
a tape device, you strip off the entire <B>/dev/</B> prefix when forming
the filename, instead of just the initial slash (<B>/</B>). If, for
example, the symbolic link is called <B>/dev/FILE</B>, the device
configuration file's name is <B>CFG_FILE</B>, whereas if the actual
pathname /<B>var/tmp/FILE</B> appears in the <B>tapeconfig</B> file,
the configuration file's name must be <B>CFG_var_tmp_FILE</B>.
<P><LI>It provides for a more graceful, and potentially automated, recovery if
the Tape Coordinator cannot write a complete dump into the backup data file
(for example, because the partition housing the backup data file becomes
full). The Tape Coordinator's reaction to this problem is to
invoke the <B>MOUNT</B> script, or to prompt you if the <B>MOUNT</B>
instruction does not appear in the configuration file.
<UL>
<P><LI>If there is a <B>MOUNT</B> script, you can prepare for this situation
by adding a subroutine to the script that changes the symbolic link to point
to another backup data file on a partition where there is space
available.
<P><LI>If there is no <B>MOUNT</B> instruction, the prompt enables you
manually to change the symbolic link to point to another backup data file and
then press &lt;<B>Return</B>> to signal that the Tape Coordinator can
continue the operation.
</UL>
<P>If this field names the actual file, there is no way to recover from
exhausting the space on the partition. You cannot change the
<B>tapeconfig</B> file in the middle of an operation.
</UL>
<P><DT><B><VAR>port_offset</VAR>
</B><DD>Specifies the port offset number that you chose for the backup data
file.
</DL>
<P><LI>Create the device configuration file <B>CFG_</B><VAR>device_name</VAR>
in the Tape Coordinator machine's <B>/usr/afs/backup</B>
directory. Include the <B>FILE YES</B> instruction in the
file.
<P>Construct the <VAR>device_name</VAR> portion of the name based on the device
name you recorded in the <B>tapeconfig</B> file in Step <A HREF="#LITAPECONFIG-FILE">6</A>. If, as recommended, you recorded a symbolic link
name, strip off the <B>/dev/</B> string and replace any other slashes
(<B>/</B>) in the name with underscores (<B>_</B>). For
example, <B>CFG_FILE</B> is the appropriate name if the symbolic link is
<B>/dev/FILE</B>. If you recorded the name of an actual file, then
strip off the initial slash only and replace any other slashes in the name
with underscores. For a backup data file called
<B>/var/tmp/FILE</B>, the appropriate device configuration filename is
<B>CFG_var_tmp_FILE</B>.
<P><LI>If you chose in Step <A HREF="#LITAPECONFIG-FILE">6</A> to record a symbolic link name in the <VAR>device_name</VAR>
field of the <B>tapeconfig</B> entry, then you must do one of the
following:
<UL>
<P><LI>Use the <B>ln -s</B> command to create the appropriate symbolic link
in the <B>/dev</B> directory
<P><LI>Write a script that initializes the backup data file in this way, and
include a <B>MOUNT</B> instruction in the device configuration file to
invoke the script. An example script appears following these
instructions.
</UL>
</OL>
<P>You do not need to create the backup data file itself, because the Tape
Coordinator does so if the file does not exist when the dump operation
begins.
<P>The following example script illustrates how you can automatically create a
symbolic link to the backup data file during the preparation phase for writing
to the file. When the Tape Coordinator is executing a <B>backup
dump</B>, <B>backup restore</B>, <B>backup savedb</B>, or
<B>backup restoredb</B> operation, the routine invokes the UNIX <B>ln
-s</B> command to create a symbolic link from the backup data file named in
the <B>tapeconfig</B> file to the actual file to use (this is the
recommended method). It uses the values of the <TT>tapename</TT> and
<TT>tapeid</TT> parameters passed to it by the Backup System when
constructing the filename.
<P>The routine makes use of two other parameters as well:
<TT>tries</TT> and <TT>operation</TT>. The <TT>tries</TT>
parameter tracks how many times the Tape Coordinator has attempted to access
the file. A value greater than one indicates that the Tape Coordinator
cannot access it, and the routine returns exit code 2
(<TT>exit_interactive</TT>), which results in a prompt for the operator to
load a tape. The operator can use this opportunity to change the name
of the backup data file specified in the <B>tapeconfig</B> file.
<PRE> #! /bin/csh -f
set devicefile = $1
set operation = $2
set tries = $3
set tapename = $4
set tapeid = $5
set exit_continue = 0
set exit_abort = 1
set exit_interactive = 2
#--------------------------------------------
if (${tries} > 1) then
echo "Too many tries"
exit ${exit_interactive}
endif
if (${operation} == "labeltape") then
echo "Won't label a tape/file"
exit ${exit_abort}
endif
if ((${operation} == "dump") |\
(${operation} == "appenddump") |\
(${operation} == "restore") |\
(${operation} == "savedb") |\
(${operation} == "restoredb")) then
/bin/rm -f ${devicefile}
/bin/ln -s /hsm/${tapename}_${tapeid} ${devicefile}
if (${status} != 0) exit ${exit_abort}
endif
exit ${exit_continue}
</PRE>
<HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auagd002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auagd010.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Top_Of_Page"><IMG SRC="../top.gif" BORDER="0" ALT="[Top of Topic]"></A> <A HREF="auagd012.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auagd026.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P>
<!-- Begin Footer Records ========================================== -->
<P><HR><B>
<br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A> All Rights Reserved
</B>
<!-- End Footer Records ============================================ -->
<A NAME="Bot_Of_Page"></A>
</BODY></HTML>