mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
9cde8b8854
"Empty" <anchor> entities seem to trigger a bug in fop. These are easily converted to reference on the containing block. Additionally, <indexterm>'s seem to need to be inside a non-structural entity (like a <para>) in order to determine their page number/location correctly. Change-Id: I2ab577f6ba8989685257fb9429e00a71dd51075c Reviewed-on: http://gerrit.openafs.org/4812 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
4303 lines
210 KiB
XML
4303 lines
210 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<chapter id="HDRWQ248">
|
|
<title>Configuring the AFS Backup System</title>
|
|
|
|
<para>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 <link linkend="HDRWQ283">Backing Up and Restoring AFS Data</link>.</para>
|
|
|
|
<sect1 id="HDRWQ249">
|
|
<title>Summary of Instructions</title>
|
|
|
|
<para>This chapter explains how to perform the following tasks by using the indicated commands:</para>
|
|
|
|
<informaltable frame="none">
|
|
<tgroup cols="2">
|
|
<colspec colwidth="70*" />
|
|
|
|
<colspec colwidth="30*" />
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>Determine tape capacity and filemark size</entry>
|
|
|
|
<entry><emphasis role="bold">fms</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Define Tape Coordinator entry in Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup addhost</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Remove Tape Coordinator entry from Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup delhost</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Display Tape Coordinator entries from Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup listhosts</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Create volume set</entry>
|
|
|
|
<entry><emphasis role="bold">backup addvolset</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Add volume entry to volume set</entry>
|
|
|
|
<entry><emphasis role="bold">backup addvolentry</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>List volume sets and entries</entry>
|
|
|
|
<entry><emphasis role="bold">backup listvolsets</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Delete volume set from Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup delvolset</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Delete volume entry from volume set</entry>
|
|
|
|
<entry><emphasis role="bold">backup delvolentry</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Define dump level</entry>
|
|
|
|
<entry><emphasis role="bold">backup adddump</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Change expiration date on existing dump level</entry>
|
|
|
|
<entry><emphasis role="bold">backup setexp</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Delete dump level from dump hierarchy</entry>
|
|
|
|
<entry><emphasis role="bold">backup deldump</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Display dump hierarchy</entry>
|
|
|
|
<entry><emphasis role="bold">backup listdumps</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Label tape</entry>
|
|
|
|
<entry><emphasis role="bold">backup labeltape</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Read label on tape</entry>
|
|
|
|
<entry><emphasis role="bold">backup readlabel</emphasis></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ251">
|
|
<title>Introduction to Backup System Features</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>introduction</secondary>
|
|
</indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 <link linkend="HDRWQ257">Overview of Backup System Configuration</link>.</para>
|
|
|
|
<sect2 id="HDRWQ252">
|
|
<title>Volume Sets and Volume Entries</title>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>volume entry</secondary>
|
|
|
|
<see>volume entry</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume entry (Backup System)</primary>
|
|
|
|
<secondary>defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>volume set</secondary>
|
|
|
|
<see>volume set</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>volume entry</secondary>
|
|
|
|
<see>volume entry</see>
|
|
</indexterm>
|
|
|
|
<para>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 <emphasis>volume sets</emphasis>, 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 <emphasis role="bold">backup dump</emphasis> command) does not accept individual volume
|
|
names.</para>
|
|
|
|
<para>A volume set consists of one or more <emphasis>volume entries</emphasis>, 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.</para>
|
|
|
|
<para>For instructions on creating and removing volume sets and volume entries, see <link linkend="HDRWQ265">Defining and
|
|
Displaying Volume Sets and Volume Entries</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_274">
|
|
<title>Dumps and Dump Sets</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump</secondary>
|
|
|
|
<see>dump</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump set</secondary>
|
|
|
|
<see>dump set</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>appended, defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>parent, defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>full, defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>incremental, defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>initial, defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>set</secondary>
|
|
|
|
<see>dump set</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump set (Backup System)</primary>
|
|
|
|
<secondary>defined</secondary>
|
|
</indexterm>
|
|
|
|
<para>A <emphasis>dump</emphasis> is the collection of data that results from backing up a volume set. A <emphasis>full
|
|
dump</emphasis> includes all of the data in every volume in the volume set, as it exists at the time of the dump operation. An
|
|
<emphasis>incremental dump</emphasis> 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 <emphasis>parent dump</emphasis>, and it can be either a full dump or an incremental
|
|
dump itself.</para>
|
|
|
|
<para>A <emphasis>dump set</emphasis> is a collection of one or more dumps stored together on one or more tapes. The first
|
|
dump in the dump set is the <emphasis>initial dump</emphasis>, and any subsequent dump added onto the end of an existing dump
|
|
set is an <emphasis>appended dump</emphasis>. 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.</para>
|
|
|
|
<para>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 <link linkend="HDRWQ256">The Backup Database and Backup Server Process</link>). 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.</para>
|
|
|
|
<para>For instructions on creating an initial dump, see <link linkend="HDRWQ296">Backing Up Data</link>, and to learn how to
|
|
append dumps, see <link linkend="HDRWQ299">Appending Dumps to an Existing Dump Set</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_275">
|
|
<title>Dump Hierarchies, Dump Levels and Expiration Dates</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump hierarchy</secondary>
|
|
|
|
<see>dump hierarchy</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump level</secondary>
|
|
|
|
<see>dump hierarchy</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>described</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>dump level</secondary>
|
|
|
|
<tertiary>defined</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>expiration date on dump level</secondary>
|
|
|
|
<tertiary>described</tertiary>
|
|
</indexterm>
|
|
|
|
<para>A <emphasis>dump hierarchy</emphasis> 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 <emphasis>dump level</emphasis>. When you create a dump by issuing the <emphasis role="bold">backup dump</emphasis>
|
|
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.</para>
|
|
|
|
<para>You can associate an <emphasis>expiration date</emphasis> 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).</para>
|
|
|
|
<para>For instructions on creating dump hierarchies, assigning expiration dates, and establishing a tape recycling schedule,
|
|
see <link linkend="HDRWQ267">Defining and Displaying the Dump Hierarchy</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump name</secondary>
|
|
|
|
<see>dump</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>tape name</secondary>
|
|
|
|
<see>tapes</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump ID number</secondary>
|
|
|
|
<see>dump</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>names</secondary>
|
|
|
|
<tertiary>described</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>ID number, described</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>name, described</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ253">
|
|
<title>Dump Names and Tape Names</title>
|
|
|
|
<para>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:</para>
|
|
|
|
<programlisting>
|
|
volume_set_name<emphasis role="bold">.</emphasis>dump_level_name
|
|
</programlisting>
|
|
|
|
<para>For example, a dump of the volume set <emphasis role="bold">user</emphasis> at the dump level <emphasis
|
|
role="bold">/sunday/friday</emphasis> is called <emphasis role="bold">user.friday</emphasis>. The Backup System also assigns a
|
|
unique <emphasis>dump ID</emphasis> number to the dump to distinguish it from other dumps with the same name that possibly
|
|
exist.</para>
|
|
|
|
<para>The Backup System assigns a similar <emphasis>AFS tape name</emphasis> 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:</para>
|
|
|
|
<programlisting>
|
|
volume_set_name<emphasis role="bold">.</emphasis>dump_level_name<emphasis role="bold">.</emphasis>tape_index (dump ID)
|
|
</programlisting>
|
|
|
|
<para>For example, the second tape in a dump set whose initial dump is of the volume set <emphasis
|
|
role="bold">uservol</emphasis> at the dump level <emphasis role="bold">/sunday/friday</emphasis> has AFS tape name like
|
|
<emphasis role="bold">uservol.friday.2</emphasis> (<emphasis role="bold">914382400</emphasis>).</para>
|
|
|
|
<para>In addition to its AFS tape name, a tape can have an optional <emphasis>permanent name</emphasis> 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 <emphasis
|
|
role="bold">backup</emphasis> commands, but still tracks the AFS tape name internally.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ254">
|
|
<title>Tape Labels, Dump Labels, and EOF Markers</title>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>label</secondary>
|
|
|
|
<tertiary>described</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>label, described</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>filemarks</secondary>
|
|
|
|
<see>Tape Coordinator</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>filemark</secondary>
|
|
|
|
<tertiary>described</tertiary>
|
|
</indexterm>
|
|
|
|
<para>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 <emphasis role="bold">backup labeltape</emphasis> command to write a label, or the
|
|
<emphasis role="bold">backup dump</emphasis> command creates one automatically if you use an unlabeled tape. The label records
|
|
the following information: <itemizedlist>
|
|
<listitem>
|
|
<para>The tape's permanent name, which you can assign by using the <emphasis role="bold">-pname</emphasis> argument to
|
|
the <emphasis role="bold">backup labeltape</emphasis> 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 <computeroutput><NULL></computeroutput> when you
|
|
use the <emphasis role="bold">backup labeltape</emphasis> command to assign an AFS tape name, or when you use the
|
|
<emphasis role="bold">backup dump</emphasis> command to write a dump to the tape.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape's AFS <emphasis>tape name</emphasis>, which can be one of three types of values: <itemizedlist>
|
|
<listitem>
|
|
<para>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 <link linkend="HDRWQ253">Dump Names and Tape Names</link>.
|
|
If the tape does not have a permanent name, you can assign the AFS tape name by using the <emphasis
|
|
role="bold">-name</emphasis> argument to the <emphasis role="bold">backup labeltape</emphasis> command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The value <computeroutput><NULL></computeroutput>, which results when you assign a permanent name, or
|
|
provide no value for the <emphasis role="bold">backup labeltape</emphasis> command's <emphasis
|
|
role="bold">-name</emphasis> argument.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>No AFS tape name at all, indicating that you have never labeled the tape or written a dump to it.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The capacity, or <emphasis>size</emphasis>, of the tape, followed by a letter that indicates the unit of measure
|
|
(<computeroutput>k</computeroutput> or <computeroutput>K</computeroutput> for kilobytes,
|
|
<computeroutput>m</computeroutput> or <computeroutput>M</computeroutput> for megabytes,
|
|
<computeroutput>g</computeroutput> or <computeroutput>G</computeroutput> for gigabytes, or
|
|
<computeroutput>t</computeroutput> or <computeroutput>T</computeroutput> 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 <link linkend="HDRWQ258">Configuring the tapeconfig File</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>For information about labeling tapes, see <link linkend="HDRWQ272">Writing and Reading Tape Labels</link>.</para>
|
|
|
|
<para>In addition to the tape label, the Backup System writes a <emphasis>dump label</emphasis> 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:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>The name of the tape containing the dump</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The date and time that the dump operation began</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The cell to which the volumes in the dump belong</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The dump's size in kilobytes</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The dump's dump level</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The dump's dump ID</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The Backup System writes a <emphasis>filemark</emphasis> (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 <link linkend="HDRWQ258">Configuring the
|
|
tapeconfig File</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ255">
|
|
<title>Tape Coordinator Machines, Port Offsets, and Backup Data Files</title>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>described</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>Tape Coordinator</secondary>
|
|
|
|
<see>Tape Coordinator</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>port offsets</secondary>
|
|
|
|
<see>Tape Coordinator</see>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>port offset number</secondary>
|
|
|
|
<tertiary>defined</tertiary>
|
|
</indexterm>
|
|
|
|
<para>A <emphasis>Tape Coordinator machine</emphasis> 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 <link linkend="HDRWQ262">To configure a Tape Coordinator machine</link>.</para>
|
|
|
|
<para>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 <emphasis>port offset number</emphasis> 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 <link linkend="HDRWQ258">Configuring the tapeconfig File</link>.</para>
|
|
|
|
<para>For a tape device to perform backup operations, a Backup Tape Coordinator (<emphasis role="bold">butc</emphasis>)
|
|
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 <emphasis role="bold">-portoffset</emphasis>
|
|
argument to the <emphasis role="bold">backup</emphasis> command.</para>
|
|
|
|
<para>In addition to writing backup data to tape, you can direct it to a <emphasis>backup data file</emphasis> 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 <link linkend="HDRWQ282">Dumping Data to a
|
|
Backup Data File</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ256">
|
|
<title>The Backup Database and Backup Server Process</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>described</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>Backup Database</secondary>
|
|
|
|
<see>Backup Database</see>
|
|
</indexterm>
|
|
|
|
<para>The <emphasis>Backup Database</emphasis> is a replicated administrative database maintained by the Backup Server process
|
|
on the cell's database server machines. Like the other AFS database server processes, the <emphasis>Backup Server</emphasis>
|
|
uses the Ubik utility to keep the various copies of the database synchronized (for a discussion of Ubik, see <link
|
|
linkend="HDRWQ52">Replicating the OpenAFS Administrative Databases</link>).</para>
|
|
|
|
<para>The Backup Database records the following information: <itemizedlist>
|
|
<listitem>
|
|
<para>The Tape Coordinator machine's hostname and the port offset number for each tape device used for backup
|
|
operations</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The dump hierarchy, which consists of its component dump levels and their associated expiration dates</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The volume sets and their component volume entries</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A record for each tape that houses dumped data</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_280">
|
|
<title>Interfaces to the Backup System</title>
|
|
|
|
<para>The <emphasis role="bold">backup</emphasis> 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 <emphasis role="bold">backup</emphasis> binary. In the conventional configuration, the binary resides on
|
|
the local disk.</para>
|
|
|
|
<para>The <emphasis role="bold">backup</emphasis> command suite provides an <emphasis>interactive mode</emphasis>, 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: <itemizedlist>
|
|
<listitem>
|
|
<para>You need to type only the operation code, omitting the initial <emphasis role="bold">backup</emphasis>
|
|
string.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you assume another AFS identity or specify a foreign cell as you enter interactive mode, it applies to all
|
|
subsequent commands.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You do not need to enclose shell metacharacters in double quotes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can track current and pending operations with the <emphasis role="bold">(backup) jobs</emphasis> command,
|
|
which is available only in this mode.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can cancel current and pending operations with the <emphasis role="bold">(backup) kill</emphasis> command,
|
|
which is available only in this mode.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>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 <emphasis role="bold">butc</emphasis> 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.</para>
|
|
|
|
<para>For further discussion and instructions, see <link linkend="HDRWQ286">Using the Backup System's
|
|
Interfaces</link>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ257">
|
|
<title>Overview of Backup System Configuration</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>configuration overview</secondary>
|
|
</indexterm>
|
|
|
|
<para>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: <itemizedlist>
|
|
<listitem>
|
|
<para>Determining a tape's capacity and a tape device's filemark size, and recording them in the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file (see <link linkend="HDRWQ258">Configuring the tapeconfig
|
|
File</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Determining how to grant administrative privilege to backup operators (see <link linkend="HDRWQ260">Granting
|
|
Administrative Privilege to Backup Operators</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Configuring Tape Coordinator machines, tape devices, and backup data files (see <link linkend="HDRWQ261">Configuring
|
|
Tape Coordinator Machines and Tape Devices</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Defining volume sets and volume entries (see <link linkend="HDRWQ265">Defining and Displaying Volume Sets and Volume
|
|
Entries</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Defining dump levels to create a dump hierarchy (see <link linkend="HDRWQ267">Defining and Displaying the Dump
|
|
Hierarchy</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Labeling tapes (see <link linkend="HDRWQ272">Writing and Reading Tape Labels</link>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Creating a device configuration file to automate the backup process (see <link linkend="HDRWQ275">Automating and
|
|
Increasing the Efficiency of the Backup Process</link>)</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>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 <link linkend="HDRWQ296">Backing Up Data</link> and <link linkend="HDRWQ306">Restoring and
|
|
Recovering Data</link>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ258">
|
|
<title>Configuring the tapeconfig File</title>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>capacity</secondary>
|
|
|
|
<tertiary>determining</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>filemark</secondary>
|
|
|
|
<tertiary>determining size</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>port offset number</secondary>
|
|
|
|
<tertiary>assigning</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>files</primary>
|
|
|
|
<secondary>tapeconfig</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapeconfig file</primary>
|
|
</indexterm>
|
|
|
|
<para>Several factors interact to determine how much data the Tape Coordinator can fit on a tape: <itemizedlist>
|
|
<listitem>
|
|
<para>The tape's capacity (size), as set by the tape manufacturer.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape device's filemark size, as set by the tape device's manufacturer. Recall from <link linkend="HDRWQ254">Tape
|
|
Labels, Dump Labels, and EOF Markers</link> 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Whether or not you use the tape device's compression mode.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>(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 <link linkend="HDRWQ282">Dumping
|
|
Data to a Backup Data File</link>.)</para>
|
|
|
|
<para>As the Tape Coordinator (<emphasis role="bold">butc</emphasis>) process initializes, it reads the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> 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 <emphasis role="bold">tapeconfig</emphasis>
|
|
file.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 <emphasis
|
|
role="bold">tapeconfig</emphasis> file explains how to determine the appropriate values.</para>
|
|
|
|
<para>Use a text editor to create an entry in a Tape Coordinator's <emphasis role="bold">tapeconfig</emphasis> 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:</para>
|
|
|
|
<programlisting>
|
|
[capacity filemark_size] device_name port_offset
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">capacity</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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
|
|
<emphasis role="bold">k</emphasis> or <emphasis role="bold">K</emphasis> indicates kilobytes, <emphasis
|
|
role="bold">m</emphasis> or <emphasis role="bold">M</emphasis> indicates megabytes, <emphasis role="bold">g</emphasis>
|
|
or <emphasis role="bold">G</emphasis> indicates gigabytes, and <emphasis role="bold">t</emphasis> or <emphasis
|
|
role="bold">T</emphasis> indicates terabytes. If the units letter is omitted, the default is kilobytes.</para>
|
|
|
|
<para>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 <emphasis
|
|
role="bold">fms</emphasis> 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 <emphasis role="bold">tapeconfig</emphasis>
|
|
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.</para>
|
|
|
|
<para>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 <emphasis role="bold">fms</emphasis> 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.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 filemark_size field empty, or provide a value in both of them.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">filemark_size</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the tape device's filemark size, which usually falls between 2 KB and 2 MB. Use the same notation as for
|
|
the capacity field, but note that if you omit the units letter, the default unit is bytes rather than kilobytes.</para>
|
|
|
|
<para>For a tape device in regular (noncompression) mode, you can use the <emphasis role="bold">fms</emphasis> 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 <emphasis
|
|
role="bold">tapeconfig</emphasis> file.</para>
|
|
|
|
<para>The recommended value for a tape device in compression mode is <emphasis role="bold">0</emphasis> (zero). The
|
|
<emphasis role="bold">fms</emphasis> command does not yield accurate results in compression mode, so you cannot use it
|
|
to determine the filemark size.</para>
|
|
|
|
<para>The recommended value for a backup data file is also <emphasis role="bold">0</emphasis> (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 capacity field.</para>
|
|
|
|
<para>If this field is empty, the Tape Coordinator uses the value <emphasis role="bold">0</emphasis> (zero). Either
|
|
leave both this field and the capacity field empty, or provide a value in both of them.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">device_name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis
|
|
role="bold">/dev/</emphasis>. For a backup data file, this field defines the complete pathname, but for suggestions on
|
|
how to name a backup data file, see <link linkend="HDRWQ282">Dumping Data to a Backup Data File</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">port_offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
|
|
<para>Legal values are the integers <emphasis role="bold">0</emphasis> through <emphasis role="bold">58510</emphasis>
|
|
(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.</para>
|
|
|
|
<para>Assign port offset <emphasis role="bold">0</emphasis> (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 <emphasis
|
|
role="bold">-portoffset</emphasis> argument from the largest possible number of <emphasis role="bold">backup</emphasis>
|
|
commands.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>The following example <emphasis role="bold">tapeconfig</emphasis> file includes entries for two tape devices, <emphasis
|
|
role="bold">/dev/rmt0h</emphasis> and <emphasis role="bold">/dev/rmt1h</emphasis>. Each one uses tapes with a capacity of 2 GB
|
|
and has a filemark size of 1 MB. Their port offset numbers are <computeroutput>0</computeroutput> and
|
|
<computeroutput>1</computeroutput>.</para>
|
|
|
|
<programlisting>
|
|
2g 1m /dev/rmt0h 0
|
|
2G 1M /dev/rmt1h 1
|
|
</programlisting>
|
|
|
|
<para>The <emphasis role="bold">fms</emphasis> 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 <emphasis role="bold">fms.log</emphasis> 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.</para>
|
|
|
|
<sect2 id="HDRWQ259">
|
|
<title>To run the fms command on a noncompressing tape device</title>
|
|
|
|
<indexterm>
|
|
<primary>fms.log file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>files</primary>
|
|
|
|
<secondary>fms.log</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>log files</primary>
|
|
|
|
<secondary>fms.log</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>fms</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>fms command</primary>
|
|
</indexterm>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>If an <emphasis role="bold">fms.log</emphasis> 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">fms</emphasis> command. <programlisting>
|
|
% <emphasis role="bold">fms</emphasis> <<replaceable>tape special file</replaceable>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">fms</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Must be typed in full.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape special file</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the tape device's UNIX device name, such as <emphasis role="bold">/dev/rmt0h</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>The following example output reports that the tape in the device with device name <emphasis
|
|
role="bold">/dev/rmt0h</emphasis> has a capacity of 2136604672 bytes (about 2 GB), and that the device's filemark size is
|
|
1910205 bytes (close to 2 MB).</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">fms /dev/rmt0h</emphasis>
|
|
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
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ260">
|
|
<title>Granting Administrative Privilege to Backup Operators</title>
|
|
|
|
<para>Each person who issues the <emphasis role="bold">backup</emphasis> and <emphasis role="bold">butc</emphasis> commands in
|
|
your cell must be listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> 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 <emphasis role="bold">UserList</emphasis> 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 <emphasis
|
|
role="bold">UserList</emphasis> file, use the <emphasis role="bold">bos adduser</emphasis> and <emphasis role="bold">bos
|
|
removeuser</emphasis> commands as described in <link linkend="HDRWQ592">Administering the UserList File</link>.</para>
|
|
|
|
<para>In addition to being listed in the <emphasis role="bold">UserList</emphasis> file, backup operators who issue the
|
|
<emphasis role="bold">butc</emphasis> command must be able to write to the files stored in each Tape Coordinator machine's local
|
|
<emphasis role="bold">/usr/afs/backup</emphasis> 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: <itemizedlist>
|
|
<listitem>
|
|
<para>The local superuser <emphasis role="bold">root</emphasis>. With this option, the issuer of the <emphasis
|
|
role="bold">butc</emphasis> command must log onto the local file system as the local superuser <emphasis
|
|
role="bold">root</emphasis>. If the Tape Coordinator is also a server machine, the <emphasis
|
|
role="bold">-localauth</emphasis> flag is used on the <emphasis role="bold">butc</emphasis> command to construct a server
|
|
ticket from the local <emphasis role="bold">/usr/afs/etc/KeyFile</emphasis> file. On non-server machine, the issuer must
|
|
issue the <emphasis role="bold">klog</emphasis> command to authenticate as an AFS administrator while logged in as
|
|
<emphasis role="bold">root</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>An administrative account for which several operators know the password. This allows them all to start the Tape
|
|
Coordinator.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>Another option is to define a group in the local group file (<emphasis role="bold">/etc/group</emphasis> or equivalent) to
|
|
which all backup operators belong. Then turn on the <emphasis role="bold">w</emphasis> mode bit (<emphasis
|
|
role="bold">write</emphasis> permission) in the group mode bits rather than the user mode bits of the <emphasis
|
|
role="bold">/usr/afs/backup</emphasis> 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.</para>
|
|
|
|
<para>For instructions on implementing your choice of protection methods, see <link linkend="HDRWQ261">Configuring Tape
|
|
Coordinator Machines and Tape Devices</link>.</para>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ261">
|
|
<title>Configuring Tape Coordinator Machines and Tape Devices</title>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>configuring</secondary>
|
|
|
|
<tertiary>machine</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>configuring</secondary>
|
|
|
|
<tertiary>tape device</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>configuring</secondary>
|
|
|
|
<tertiary>AIX system</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AIX</primary>
|
|
|
|
<secondary>configuring tape device</secondary>
|
|
</indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<note>
|
|
<para>When configuring a tape device attached to an AIX system, you must set the device's tape block size to <emphasis
|
|
role="bold">0</emphasis> (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 <emphasis role="bold">smit</emphasis>
|
|
program to verify or change the value of the tape block size for a tape device, as instructed in Sep <link
|
|
linkend="LIWQ263">3</link>.</para>
|
|
</note>
|
|
|
|
<sect2 id="HDRWQ262">
|
|
<title>To configure a Tape Coordinator machine</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Become the local superuser <emphasis role="bold">root</emphasis> on the machine, if you are not already, by issuing
|
|
the <emphasis role="bold">su</emphasis> command. <programlisting>
|
|
% <emphasis role="bold">su root</emphasis>
|
|
Password: <<replaceable>root_password</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ263">
|
|
<para>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.</para>
|
|
|
|
<para>If the Tape Coordinator machine is an AIX system, issue the following command to change the tape device's tape block
|
|
size to <emphasis role="bold">0</emphasis> (zero), which indicates variable block size. Repeat for each tape
|
|
device.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">chdev -l '</emphasis>device_name<emphasis role="bold">' -a block_size='0'</emphasis>
|
|
</programlisting>
|
|
|
|
<para>where device_name is the tape device's device name (for example, <emphasis
|
|
role="bold">/dev/rmt0h</emphasis>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Verify that the binary files for the <emphasis role="bold">backup</emphasis>, <emphasis role="bold">butc</emphasis>,
|
|
and <emphasis role="bold">fms</emphasis> commands are available on the local disk. If the machine is an AFS client, the
|
|
conventional location is the <emphasis role="bold">/usr/afsws/etc</emphasis> directory. <programlisting>
|
|
# <emphasis role="bold">ls /usr/afsws/etc</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the <emphasis role="bold">/usr/afs</emphasis> directory. (If the Tape Coordinator machine is also configured
|
|
as a file server machine, this directory already exists.) Then create the <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
directory. <programlisting>
|
|
# <emphasis role="bold">mkdir /usr/afs</emphasis>
|
|
# <emphasis role="bold">mkdir /usr/afs/backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use a text editor to create the <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis> 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 <link linkend="HDRWQ258">Configuring the tapeconfig
|
|
File</link>. <itemizedlist>
|
|
<listitem>
|
|
<para>The capacity of tapes to be used in the device, or the size of the backup data file</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's filemark size</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's device name, starting with the string <emphasis role="bold">/dev/</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's port offset number</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>assigning file ownership</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>usr/afs/backup directory</primary>
|
|
|
|
<secondary>ownership, assigning</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapeconfig file</primary>
|
|
|
|
<secondary>ownership, assigning</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>directories</primary>
|
|
|
|
<secondary>/usr/afs/backup</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Decide which user and group are to own the <emphasis role="bold">/usr/afs/backup</emphasis> directory and <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file, based on the suggestions in <link linkend="HDRWQ260">Granting
|
|
Administrative Privilege to Backup Operators</link>. Correct the UNIX mode bits on the directory and file, if necessary.
|
|
<programlisting>
|
|
# <emphasis role="bold">chown</emphasis> admin_owner <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
# <emphasis role="bold">chown</emphasis> admin_owner <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis>
|
|
# <emphasis role="bold">chgrp</emphasis> admin_group <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
# <emphasis role="bold">chgrp</emphasis> admin_group <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis>
|
|
# <emphasis role="bold">chmod 774 /usr/afs/backup</emphasis>
|
|
# <emphasis role="bold">chmod 664 /usr/afs/backup/tapeconfig</emphasis>
|
|
</programlisting></para>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup addhost</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>addhost</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>adding to Backup Database</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>Tape Coordinator</secondary>
|
|
|
|
<tertiary>adding entry</tertiary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem id="LICONFTC-ADDHOST">
|
|
<para>Issue the <emphasis role="bold">backup addhost</emphasis> command to create a Tape
|
|
Coordinator entry in the Backup Database. Repeat the command for each Tape Coordinator. <programlisting>
|
|
# <emphasis role="bold">backup addhost</emphasis> <<replaceable>tape machine name</replaceable>> [<<replaceable>TC port offset</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">addh</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">addhost</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape machine name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the Tape Coordinator machine's fully qualified hostname.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the tape device's port offset number. Provide the same value as you specified for the device in
|
|
the <emphasis role="bold">tapeconfig</emphasis> file. You must provide this argument unless the default value of 0
|
|
(zero) is appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_287">
|
|
<title>To configure an additional Tape Coordinator on an existing Tape Coordinator machine</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Become the local superuser <emphasis role="bold">root</emphasis> on the machine, if you are not already, by issuing
|
|
the <emphasis role="bold">su</emphasis> command. <programlisting>
|
|
% <emphasis role="bold">su root</emphasis>
|
|
Password: <<replaceable>root_password</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Install the tape device on the Tape Coordinator machine according to the manufacturer's instructions.</para>
|
|
|
|
<para>If the Tape Coordinator machine is an AIX system, issue the following command to change the tape device's tape block
|
|
size to <emphasis role="bold">0</emphasis> (zero), which indicates variable block size.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">chdev -l '</emphasis>device_name<emphasis role="bold">' -a block_size='0'</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Choose the port offset number to assign to the tape device. If necessary, use the <emphasis role="bold">backup
|
|
listhosts</emphasis> command to display the port offset numbers that are already used; for a discussion of the output, see
|
|
<link linkend="HDRWQ264">To display the list of configured Tape Coordinators</link>. <programlisting>
|
|
# <emphasis role="bold">backup listhosts</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <emphasis role="bold">listh</emphasis> is the shortest acceptable abbreviation of <emphasis
|
|
role="bold">listhosts</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use a text editor to add one or more entries for the device to the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file. Specify the following information in the indicated order. For
|
|
syntax details and suggestions on the values to use in each field, see <link linkend="HDRWQ258">Configuring the tapeconfig
|
|
File</link>. <itemizedlist>
|
|
<listitem>
|
|
<para>The capacity of tapes to be used in the device, or the size of the backup data file</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's filemark size</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's device name, starting with the string <emphasis role="bold">/dev/</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The device's port offset number</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup addhost</emphasis> command to create an entry in the Backup Database for the
|
|
Tape Coordinator. For complete syntax, see Step <link linkend="LICONFTC-ADDHOST">8</link> in <link linkend="HDRWQ262">To
|
|
configure a Tape Coordinator machine</link>. <programlisting>
|
|
# <emphasis role="bold">backup addhost</emphasis> <<replaceable>tape machine name</replaceable>> [<<replaceable>TC port offset</replaceable>>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>delhost</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup delhost</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>removing from Backup Database</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>Tape Coordinator</secondary>
|
|
|
|
<tertiary>removing entry</tertiary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_288">
|
|
<title>To unconfigure a Tape Coordinator</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Using a text editor, remove each of the Tape Coordinator's entries from the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup delhost</emphasis> command to delete the Tape Coordinator's Backup Database
|
|
entry. <programlisting>
|
|
% <emphasis role="bold">backup delhost</emphasis> <<replaceable>tape machine name</replaceable>> [<<replaceable>TC port offset</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">delh</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">delhost</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape machine name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the complete Internet host name of the Tape Coordinator machine.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the same port offset number removed from the <emphasis role="bold">tapeconfig</emphasis> file. You must
|
|
provide this argument unless the default value of <emphasis role="bold">0</emphasis> (zero) is appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>port offset number</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>port offset numbers</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>listhosts</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup listhosts</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ264">
|
|
<title>To display the list of configured Tape Coordinators</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup listhosts</emphasis> command to list the Tape Coordinators and port offset
|
|
numbers currently configured in the Backup Database. <programlisting>
|
|
% <emphasis role="bold">backup listhosts</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">listh</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">listhosts</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>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 <emphasis role="bold">backup addhost</emphasis>
|
|
command.</para>
|
|
|
|
<para>The following example output lists the Tape Coordinators currently defined in the Backup Database of the ABC Corporation
|
|
cell:</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup listhosts</emphasis>
|
|
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
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ265">
|
|
<title>Defining and Displaying Volume Sets and Volume Entries</title>
|
|
|
|
<para>The Backup System handles data at the level of volumes rather than individual files. You must define groups of volumes
|
|
called <emphasis>volume sets</emphasis> before performing backup operations, by using the <emphasis role="bold">backup
|
|
addvolset</emphasis> command. A volume set name can be up to 31 characters long and can include any character other than the
|
|
period (<emphasis role="bold">.</emphasis>), but avoid using metacharacters that have special meanings to the shell.</para>
|
|
|
|
<para>After creating a volume set, use the <emphasis role="bold">backup addvolentry</emphasis> command to place one or more
|
|
<emphasis>volume entries</emphasis> 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 <emphasis role="bold">-server</emphasis> argument to designate the
|
|
file server machine that houses the volumes of interest and its required <emphasis role="bold">-partition</emphasis> argument to
|
|
designate the partition. Two types of values are acceptable: <itemizedlist>
|
|
<listitem>
|
|
<para>The fully qualified hostname of one machine or full name of one partition (such as <emphasis
|
|
role="bold">/vicepm</emphasis>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The regular expression <emphasis role="bold">.*</emphasis> (period and asterisk), which matches every machine name
|
|
or partition name in the VLDB</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>regular expression</primary>
|
|
|
|
<secondary>Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>regular expressions</secondary>
|
|
</indexterm>
|
|
|
|
<para>For the volume name (the required <emphasis role="bold">-volume</emphasis> 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: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">.</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The period matches any single character.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">*</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The asterisk matches zero or more instances of the preceding character. Combine it with any other alphanumeric
|
|
character or metacharacter.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">[ ]</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Square brackets around a list of characters match a single instance of any of the characters, but no other
|
|
characters; for example, <emphasis role="bold">[abc]</emphasis> matches a single <emphasis role="bold">a</emphasis> or
|
|
<emphasis role="bold">b</emphasis> or <emphasis role="bold">c</emphasis>, but not <emphasis role="bold">d</emphasis> or
|
|
<emphasis role="bold">A</emphasis>. You can combine this expression with the asterisk.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">^</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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, <emphasis role="bold">[^a]</emphasis> matches any
|
|
single character except lowercase <emphasis role="bold">a</emphasis>. You can combine this expression with the
|
|
asterisk.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">\</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>A backslash preceding any of the metacharacters in this list makes it match its literal value only. For example,
|
|
the expression <emphasis role="bold">\.</emphasis> (backslash and period) matches a single period, <emphasis
|
|
role="bold">\*</emphasis> matches a single asterisk, and <emphasis role="bold">\\</emphasis> matches a single backslash.
|
|
You can combine such expressions with the asterisk (for example, <emphasis role="bold">\.*</emphasis> matches any number
|
|
of periods).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>Perhaps the most common regular expression is the period followed by an asterisk (<emphasis role="bold">.*</emphasis>).
|
|
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 <emphasis role="bold">user.*\.backup</emphasis> matches any volume name
|
|
that begins with the string <emphasis role="bold">user</emphasis> and ends with <emphasis role="bold">.backup</emphasis>.</para>
|
|
|
|
<para>Issuing the <emphasis role="bold">backup addvolentry</emphasis> 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 (<emphasis role="bold">"
|
|
"</emphasis>) so that the shell passes them uninterpreted to the <emphasis role="bold">backup</emphasis> command interpreter
|
|
rather than resolving them.</para>
|
|
|
|
<para>To define various combinations of volumes, provide the following types of values for the <emphasis role="bold">backup
|
|
addvolentry</emphasis> 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: <itemizedlist>
|
|
<listitem>
|
|
<para>All volumes listed in the VLDB, use the regular expression <emphasis role="bold">.*</emphasis> for all three
|
|
arguments (<emphasis role="bold">-server .* -partition .* -volume .*</emphasis>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Every volume on a specific file server machine, specify its fully qualified hostname as the <emphasis
|
|
role="bold">-server</emphasis> argument and use the regular expression <emphasis role="bold">.*</emphasis> for the
|
|
<emphasis role="bold">-partition</emphasis> and -<emphasis role="bold">volume</emphasis> arguments (for example: <emphasis
|
|
role="bold">-server fs1.abc.com -partition .* -volume .*</emphasis>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>All volumes that reside on a partition with the same name on various file server machines, specify the complete
|
|
partition name as the <emphasis role="bold">-partition</emphasis> argument and use the regular expression <emphasis
|
|
role="bold">.*</emphasis> for the <emphasis role="bold">-server</emphasis> and <emphasis role="bold">-volume</emphasis>
|
|
arguments (for example: <emphasis role="bold">-server .* -partition /vicepd -volume .*</emphasis>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Every volume with a common string in its name, use the regular expression <emphasis role="bold">.*</emphasis> for
|
|
the <emphasis role="bold">-server</emphasis> and <emphasis role="bold">-partition</emphasis> arguments, and provide a
|
|
combination of alphanumeric characters and metacharacters as the <emphasis role="bold">-volume</emphasis> argument (for
|
|
example: <emphasis role="bold">-server .* -partition .* -volume .*\.backup</emphasis> includes all volumes whose names end
|
|
in the string <emphasis role="bold">.backup</emphasis>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>All volumes on one partition, specify the machine's fully qualified hostname as the <emphasis
|
|
role="bold">-server</emphasis> argument and the full partition name as the <emphasis role="bold">-partition</emphasis>
|
|
argument, and use the regular expression <emphasis role="bold">.*</emphasis> for the <emphasis
|
|
role="bold">-volume</emphasis> argument (for example: <emphasis role="bold">-server fs2.abc.com -partition /vicepb -volume
|
|
.*</emphasis>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A single volume, specify its complete name as the <emphasis role="bold">-volume</emphasis> 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 <emphasis role="bold">-server</emphasis> and <emphasis role="bold">-partition</emphasis> arguments
|
|
respectively. However, if it is possible that you need to move the volume in future, it is best to use the regular
|
|
expression <emphasis role="bold">.*</emphasis> for the machine and partition name.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>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
|
|
<emphasis role="bold">.*</emphasis> (period followed by a backslash) for the <emphasis role="bold">-server</emphasis> and
|
|
<emphasis role="bold">-partition</emphasis> arguments to the <emphasis role="bold">backup addvolentry</emphasis> command.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>To remove a volume entry from a volume set, use the <emphasis role="bold">backup delvolentry</emphasis> command. To remove
|
|
a volume set and all of its component volume entries from the Backup Database, use the <emphasis role="bold">backup
|
|
delvolset</emphasis> command. To display the volume entries in a volume set, use the <emphasis role="bold">backup
|
|
listvolsets</emphasis> command.</para>
|
|
|
|
<para>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 <emphasis role="bold">backup
|
|
volsetrestore</emphasis> command to restore a group of volumes that were not necessarily backed up together (for further
|
|
discussion, see <link linkend="HDRWQ312">Using the backup volsetrestore Command</link>). To create a
|
|
<emphasis>temporary</emphasis> volume set, include the <emphasis role="bold">-temporary</emphasis> flag to the <emphasis
|
|
role="bold">backup addvolset</emphasis> 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 <emphasis
|
|
role="bold">backup (interactive)</emphasis> command). You can use the <emphasis role="bold">backup delvolset</emphasis> 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 <emphasis role="bold">backup addvolset</emphasis>
|
|
command, and any <emphasis role="bold">backup addvolentry</emphasis> 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.</para>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume set</secondary>
|
|
|
|
<tertiary>creating</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup addvolset</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>addvolset</secondary>
|
|
</indexterm>
|
|
|
|
<sect2 id="Header_291">
|
|
<title>To create a volume set</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">backup</emphasis> command to enter
|
|
interactive mode. If you are going to define volume entries right away with the <emphasis role="bold">backup
|
|
addvolentry</emphasis> command, this eliminates the need to surround metacharacter expressions with double quotes. You
|
|
must enter interactive mode if creating a temporary volume set. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) addvolset</emphasis> command to create the volume set. You must then issue
|
|
the <emphasis role="bold">(backup) addvolentry</emphasis> command to define volume entries in it. <programlisting>
|
|
backup> <emphasis role="bold">addvolset</emphasis> <<replaceable>volume set name</replaceable>> [<emphasis role="bold">-temporary</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">addvols</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">addvolset</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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.)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-temporary</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Creates a temporary volume set, which exists only during the current interactive session.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>volume entry (Backup System)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume entry</secondary>
|
|
|
|
<tertiary>creating</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup addvolentry</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>addvolentry</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_292">
|
|
<title>To add a volume entry to a volume set</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">backup</emphasis> 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. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) addvolentry</emphasis> 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).
|
|
<programlisting>
|
|
backup> <emphasis role="bold">addvolentry -name</emphasis> <<replaceable>volume set name</replaceable>> \
|
|
<emphasis role="bold">-server</emphasis> <<replaceable>machine name</replaceable>> \
|
|
<emphasis role="bold">-partition</emphasis> <<replaceable>partition name</replaceable>> \
|
|
<emphasis role="bold">-volumes</emphasis> <<replaceable>volume name (regular expression)</replaceable>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">addvole</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">addvolentry</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume set to which to add the volume entry. It must already exist (use the <emphasis
|
|
role="bold">backup addvolset</emphasis> command to create it).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-server</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">fs1.abc.com</emphasis>) or the metacharacter
|
|
expression <emphasis role="bold">.*</emphasis> (period and asterisk), which matches all machine names in the
|
|
VLDB.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-partition</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Defines the set of one or more partitions that house the volumes in the volume entry. Provide either one
|
|
complete partition name (such as <emphasis role="bold">/vicepa</emphasis>) or the metacharacter expression
|
|
<emphasis role="bold">.*</emphasis> (period and asterisk), which matches all partition names.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-volumes</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume set</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume entry</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume entry (Backup System)</primary>
|
|
|
|
<secondary>displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>listvolsets</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup listvolsets</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ266">
|
|
<title>To display volume sets and volume entries</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup listvolsets</emphasis> 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. <programlisting>
|
|
% <emphasis role="bold">backup listvolsets</emphasis> [<<replaceable>volume set name</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">listv</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">listvolsets</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume set to display. Omit this argument to display all defined volume sets.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>The output from the command uses the wildcard notation used when the volume entries were created. The string
|
|
<computeroutput>(temporary)</computeroutput> 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 <emphasis role="bold">pat+jones</emphasis>
|
|
created during the current interactive session:</para>
|
|
|
|
<programlisting>
|
|
backup> <emphasis role="bold">listv</emphasis>
|
|
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\..*
|
|
</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume set</secondary>
|
|
|
|
<tertiary>deleting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>deleting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup delvolset</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>delvolset</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_294">
|
|
<title>To delete a volume set</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup delvolset</emphasis> 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. <programlisting>
|
|
% <emphasis role="bold">backup delvolset</emphasis> <<replaceable>volume set name</replaceable>>+
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">delvols</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">delvolset</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names each volume set to delete.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume entry</secondary>
|
|
|
|
<tertiary>deleting from volume set</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume set (Backup System)</primary>
|
|
|
|
<secondary>deleting volume entry</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume entry (Backup System)</primary>
|
|
|
|
<secondary>deleting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup delvolentry</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>delvolentry</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_295">
|
|
<title>To delete a volume entry from a volume set</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup</emphasis> command to enter interactive mode. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the volume set includes more than one volume entry, issue the <emphasis role="bold">(backup)
|
|
listvolsets</emphasis> 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 <link linkend="HDRWQ266">To display volume
|
|
sets and volume entries</link>. <programlisting>
|
|
backup> <emphasis role="bold">listvolsets</emphasis> <<replaceable>volume set name</replaceable>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">listv</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">listvolsets</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume set for which to display volume entries.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) delvolentry</emphasis> command to delete the volume entry. <programlisting>
|
|
backup> <emphasis role="bold">delvolentry</emphasis> <<replaceable>volume set name</replaceable>> <<replaceable>volume entry index</replaceable>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">delvole</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">delvolentry</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume set from which to delete a volume entry.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume entry index</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the index number of the volume entry to delete.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ267">
|
|
<title>Defining and Displaying the Dump Hierarchy</title>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>assigning to dump levels</tertiary>
|
|
</indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>As you define dump levels with the <emphasis role="bold">backup adddump</emphasis> command, keep the following rules and
|
|
suggestions in mind: <itemizedlist>
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The name of a full dump level consists of an initial slash (<emphasis role="bold">/</emphasis>), followed by a
|
|
string of up to 28 alphanumeric characters.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Before defining a given incremental level, you must define all of the levels above it in the hierarchy.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Do not use the period (<emphasis role="bold">.</emphasis>) 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 (<emphasis role="bold">\</emphasis>) or surround the entire dump level
|
|
name with double quotes (<emphasis role="bold">" "</emphasis>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">/sunday</emphasis> level when creating a dump on a Tuesday.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis
|
|
role="bold">/full/incr/incr</emphasis>, then the dump name and AFS tape name that result from dumping a volume set at the
|
|
first incremental level (<emphasis role="bold">/full/incr</emphasis>) look the same as the names that result from dumping
|
|
at the second incremental level (<emphasis role="bold">/full/incr/incr</emphasis>).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Individual levels in different hierarchies can have the same name, but the complete pathnames must be unique. For
|
|
example, <emphasis role="bold">/sunday1/monday</emphasis> and <emphasis role="bold">/sunday2/monday</emphasis> 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.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The following example shows three hierarchies. Each begins with a full dump at the top: <emphasis
|
|
role="bold">sunday1</emphasis> for the first hierarchy, <emphasis role="bold">sunday2</emphasis> for the second hierarchy, and
|
|
<emphasis role="bold">sunday_bin</emphasis> for the third hierarchy. In all three hierarchies, each of the other dump levels is
|
|
an incremental level.</para>
|
|
|
|
<programlisting>
|
|
/sunday1
|
|
/monday
|
|
/tuesday
|
|
/wednesday
|
|
/thursday
|
|
/friday
|
|
/sunday2
|
|
/monday
|
|
/tuesday
|
|
/wednesday
|
|
/thursday
|
|
/friday
|
|
/sunday_bin
|
|
/monday
|
|
/wednesday
|
|
/friday
|
|
</programlisting>
|
|
|
|
<para>In the first hierarchy, each incremental dump level refers to the full level <emphasis role="bold">/sunday1</emphasis> as
|
|
its parent. When (for example) you dump a volume set at the <emphasis role="bold">/sunday1/wednesday</emphasis> level, it
|
|
includes data that has changed since the volume set was dumped at the <emphasis role="bold">/sunday1</emphasis> level.</para>
|
|
|
|
<para>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 (<emphasis
|
|
role="bold">/sunday2/monday/tuesday/wednesday</emphasis>), the dump includes only data that has changed since the volume set was
|
|
dumped at the <emphasis role="bold">/sunday2/monday/tuesday</emphasis> 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.</para>
|
|
|
|
<para>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).</para>
|
|
|
|
<sect2 id="HDRWQ268">
|
|
<title>Creating a Tape Recycling Schedule</title>
|
|
|
|
<indexterm>
|
|
<primary>expiration dates</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>expiration dates</primary>
|
|
|
|
<secondary>absolute</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>expiration dates</primary>
|
|
|
|
<secondary>relative</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>recycling schedule for tapes</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tape recycling schedules</primary>
|
|
</indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>The tapes used to store dumps created at the daily incremental levels in the <emphasis role="bold">/sunday1</emphasis>
|
|
hierarchy expire just in time to be recycled for daily dumps in the <emphasis role="bold">/sunday3</emphasis> hierarchy (and
|
|
vice versa), and there is a similar relationship between the <emphasis role="bold">/sunday2</emphasis> and <emphasis
|
|
role="bold">/sunday4</emphasis> hierarchies. Similarly, the tape that houses a full dump at the <emphasis
|
|
role="bold">/sunday1</emphasis> level expires just in time to be used for a full dump on the first Sunday of the following
|
|
month.</para>
|
|
|
|
<programlisting>
|
|
/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
|
|
</programlisting>
|
|
|
|
<para>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 <link linkend="HDRWQ299">Appending
|
|
Dumps to an Existing Dump Set</link>.</para>
|
|
|
|
<para>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
|
|
<computeroutput>useCount</computeroutput> counter on the tape's label. It increments the counter each time the tape's label is
|
|
rewritten (each time you use the <emphasis role="bold">backup labeltape</emphasis> or <emphasis role="bold">backup
|
|
dump</emphasis> command). To display the <computeroutput>useCount</computeroutput> counter, use the <emphasis
|
|
role="bold">backup readlabel</emphasis> or <emphasis role="bold">backup scantape</emphasis> command or include the <emphasis
|
|
role="bold">-id</emphasis> and <emphasis role="bold">-verbose</emphasis> options when you issue the <emphasis
|
|
role="bold">backup dumpinfo</emphasis> command. For instructions see <link linkend="HDRWQ272">Writing and Reading Tape
|
|
Labels</link> or <link linkend="HDRWQ302">Displaying Backup Dump Records</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>useCount counter on tape label (Backup System)</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>useCount counter on tape label</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>recycling</primary>
|
|
|
|
<secondary>useCounts of tapes (Backup System)</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tape labels</primary>
|
|
|
|
<secondary>useCounts of tapes</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ269">
|
|
<title>Archiving Tapes</title>
|
|
|
|
<indexterm>
|
|
<primary>archiving</primary>
|
|
|
|
<secondary>tapes in Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>archiving</secondary>
|
|
</indexterm>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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:</para>
|
|
|
|
<programlisting>
|
|
/1Q2000
|
|
/2Q2000
|
|
/3Q2000
|
|
/4Q2000
|
|
</programlisting>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>If you do not expect to restore archived data to the file system, you can consider using the <emphasis
|
|
role="bold">backup deletedump</emphasis> 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 <emphasis role="bold">-dbadd</emphasis>
|
|
flag to the <emphasis role="bold">backup scantape</emphasis> command to reinsert the dump records into the database. For
|
|
instructions, see <link linkend="HDRWQ305">To scan the contents of a tape</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ270">
|
|
<title>Defining Expiration Dates</title>
|
|
|
|
<para>To associate an expiration date with a dump level as you create it, use the <emphasis role="bold">-expires</emphasis>
|
|
argument to the <emphasis role="bold">backup adddump</emphasis> command. To change an existing dump level's expiration date,
|
|
use the <emphasis role="bold">-expires</emphasis> argument to the <emphasis role="bold">backup setexp</emphasis> 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). <itemizedlist>
|
|
<listitem>
|
|
<para>To define an absolute expiration date, provide a value for the <emphasis role="bold">-expires</emphasis> argument
|
|
with the following format: <programlisting>
|
|
[<emphasis role="bold">at</emphasis>] mm<emphasis role="bold">/</emphasis>dd<emphasis role="bold">/</emphasis>yyyy [hh<emphasis
|
|
role="bold">:</emphasis>MM]
|
|
</programlisting></para>
|
|
|
|
<para>where mm indicates the month, dd the day, and yyyy the year when the dump expires. Valid values for the year fall
|
|
in the range <emphasis role="bold">1970</emphasis> through <emphasis role="bold">2037</emphasis> (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 hh the hours and MM the minutes (for example, <emphasis role="bold">21:50</emphasis> is 9:50 p.m.). If you
|
|
omit the time, the default is 00:00 hours (12:00 midnight) on the indicated date.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To define a relative expiration date, provide a value for the <emphasis role="bold">-expires</emphasis> argument
|
|
with the following format: <programlisting>
|
|
[<emphasis role="bold">in</emphasis>] [years<emphasis role="bold">y</emphasis>] [months<emphasis role="bold">m</emphasis>] [days<emphasis
|
|
role="bold">d</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where each of years, months, and days is an integer. Provide at least one of them together with the corresponding
|
|
units letter (<emphasis role="bold">y</emphasis>, <emphasis role="bold">m</emphasis>, or <emphasis
|
|
role="bold">d</emphasis> respectively), with no intervening space. If you provide more than one of the three, list them
|
|
in the indicated order.</para>
|
|
|
|
<para>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 <emphasis role="bold">in 1y 6m 2d</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To indicate that a dump backed up at the corresponding dump level never expires, provide the value <emphasis
|
|
role="bold">NEVER</emphasis> instead of a date and time. To recycle tapes that contain dumps created at such a level,
|
|
you must use the <emphasis role="bold">backup readlabel</emphasis> command to overwrite the tape's label.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>If you omit the <emphasis role="bold">-expires</emphasis> argument to the <emphasis role="bold">backup
|
|
adddump</emphasis> 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.</para>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump levels</secondary>
|
|
|
|
<tertiary>adding</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>in Backup Database</secondary>
|
|
|
|
<tertiary>adding</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>dump levels</secondary>
|
|
|
|
<tertiary>adding</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>expiration dates</primary>
|
|
|
|
<secondary>setting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>setting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>setting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>setting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>adddump</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup adddump</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_300">
|
|
<title>To add a dump level to the dump hierarchy</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> command to enter
|
|
interactive mode. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup adddump</emphasis> 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. <programlisting>
|
|
backup> <emphasis role="bold">adddump -dump</emphasis> <<replaceable>dump level name</replaceable>>+ [<emphasis
|
|
role="bold">-expires</emphasis> <<replaceable>expiration date</replaceable>>+]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">addd</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">adddump</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-dump</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names each dump level to added. If you specify more than one dump level name, you must include the <emphasis
|
|
role="bold">-dump</emphasis> switch.</para>
|
|
|
|
<para>Provide the entire pathname of the dump level, preceding each level in the pathname with a slash (<emphasis
|
|
role="bold">/</emphasis>). Each component level can be up to 28 characters in length, and the pathname can include
|
|
up to 256 characters including the slashes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-expires</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Sets the expiration date associated with each dump level. Specify either a relative or absolute expiration
|
|
date, as described in <link linkend="HDRWQ270">Defining Expiration Dates</link>, or omit this argument to assign
|
|
no expiration date to the dump levels.</para>
|
|
|
|
<note>
|
|
<para>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
|
|
<emphasis role="bold">-dump</emphasis> argument.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>expiration dates</primary>
|
|
|
|
<secondary>changing</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>changing</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>changing</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>expiration dates</secondary>
|
|
|
|
<tertiary>changing</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>setexp</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup setexp</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_301">
|
|
<title>To change a dump level's expiration date</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> command to enter
|
|
interactive mode. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) setexp</emphasis> command to change the expiration date associated with one
|
|
or more dump levels. <programlisting>
|
|
backup> <emphasis role="bold">setexp -dump</emphasis> <<replaceable>dump level name</replaceable>>+ [<emphasis
|
|
role="bold">-expires</emphasis> <<replaceable>expiration date</replaceable>>+]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">se</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">setexp</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-dump</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names each existing dump level for which to change the expiration date.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-expires</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Sets the expiration date associated with each dump level. Specify either a relative or absolute expiration
|
|
date, as described in <link linkend="HDRWQ270">Defining Expiration Dates</link>; omit this argument to remove the
|
|
expiration date currently associated with each dump level.</para>
|
|
|
|
<note>
|
|
<para>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
|
|
<emphasis role="bold">-dump</emphasis> argument.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump levels</secondary>
|
|
|
|
<tertiary>deleting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>in Backup Database</secondary>
|
|
|
|
<tertiary>deleting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>dump levels</secondary>
|
|
|
|
<tertiary>deleting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>deldump</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup deldump</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_302">
|
|
<title>To delete a dump level from the dump hierarchy</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> command to enter
|
|
interactive mode. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) deldump</emphasis> 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. <programlisting>
|
|
backup> <emphasis role="bold">deldump</emphasis> <<replaceable>dump level name</replaceable>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">deld</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">deldump</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dump level name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the complete pathname of the dump level to delete.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump hierarchy</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump levels</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump hierarchy (Backup System)</primary>
|
|
|
|
<secondary>displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump levels</primary>
|
|
|
|
<secondary>in Backup Database</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>listdumps</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup listdumps</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ271">
|
|
<title>To display the dump hierarchy</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup listdumps</emphasis> command to display the dump hierarchy. <programlisting>
|
|
% <emphasis role="bold">backup listdumps</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <emphasis role="bold">listd</emphasis> is the shortest acceptable abbreviation of <emphasis
|
|
role="bold">listdumps</emphasis>.</para>
|
|
|
|
<para>The output from this command displays the dump hierarchy, reporting the expiration date associated with each dump
|
|
level, as in the following example.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup listdumps</emphasis>
|
|
/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
|
|
</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ272">
|
|
<title>Writing and Reading Tape Labels</title>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>label</secondary>
|
|
|
|
<tertiary>creating</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>label</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>capacity</secondary>
|
|
|
|
<tertiary>recording on label</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>names</secondary>
|
|
|
|
<tertiary>assigning</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>tape label (Backup System)</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>displaying</primary>
|
|
|
|
<secondary>tape label (Backup System)</secondary>
|
|
</indexterm>
|
|
|
|
<para>As described in <link linkend="HDRWQ253">Dump Names and Tape Names</link> and <link linkend="HDRWQ254">Tape Labels, Dump
|
|
Labels, and EOF Markers</link>, 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).</para>
|
|
|
|
<para>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 <computeroutput><NULL></computeroutput>, and no
|
|
value in the field at all.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>(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 <emphasis role="bold">NO</emphasis> to the <emphasis role="bold">NAME_CHECK</emphasis> instruction in the
|
|
<emphasis>device configuration file</emphasis>. See <link linkend="HDRWQ280">Eliminating the AFS Tape Name Check</link>.)</para>
|
|
|
|
<para>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: <itemizedlist>
|
|
<listitem>
|
|
<para>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).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<note>
|
|
<para>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.</para>
|
|
</note>
|
|
|
|
<sect2 id="Header_305">
|
|
<title>Recording a Name on the Label</title>
|
|
|
|
<para>To write a permanent name on a tape's label, include the <emphasis role="bold">-pname</emphasis> 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 <computeroutput><NULL></computeroutput>.
|
|
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 <emphasis role="bold">backup</emphasis> commands. The permanent name persists until you again include
|
|
the <emphasis role="bold">-pname</emphasis> argument to the <emphasis role="bold">backup labeltape</emphasis> command,
|
|
regardless of the tape's contents and of how often you recycle the tape or use the <emphasis role="bold">backup
|
|
labeltape</emphasis> command without the <emphasis role="bold">-pname</emphasis> argument.</para>
|
|
|
|
<para>To write an AFS tape name on the label, provide a value for the <emphasis role="bold">-name</emphasis> 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:</para>
|
|
|
|
<programlisting>
|
|
volume_set_name<emphasis role="bold">.</emphasis>dump_level_name<emphasis role="bold">.</emphasis>tape_index
|
|
</programlisting>
|
|
|
|
<para>If you omit the <emphasis role="bold">-name</emphasis> argument, the Backup System sets the AFS tape name to
|
|
<computeroutput><NULL></computeroutput>. The Backup System automatically constructs and records the appropriate name
|
|
when you later write an initial dump to the tape by using the <emphasis role="bold">backup dump</emphasis> or <emphasis
|
|
role="bold">backup savedb</emphasis> command.</para>
|
|
|
|
<para>You cannot use the <emphasis role="bold">-name</emphasis> argument if the tape already has a permanent name. To erase a
|
|
tape's permanent name, provide a null value to the <emphasis role="bold">-pname</emphasis> argument by issuing the following
|
|
command:</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup labeltape -pname ""</emphasis>
|
|
</programlisting>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_306">
|
|
<title>Recording a Capacity on the Label</title>
|
|
|
|
<para>To record the tape's capacity on the label, specify a number of kilobytes as the <emphasis role="bold">-size</emphasis>
|
|
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 <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis> file on the Tape
|
|
Coordinator machine. If the tape's capacity is different (in particular, larger) than the capacity recorded in the <emphasis
|
|
role="bold">tapeconfig</emphasis> 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 <emphasis role="bold">-size</emphasis> argument to the
|
|
<emphasis role="bold">backup labeltape</emphasis> command. For a discussion of the appropriate capacity to record for tapes,
|
|
see <link linkend="HDRWQ258">Configuring the tapeconfig File</link>.</para>
|
|
|
|
<para>To read a tape's label, use the <emphasis role="bold">backup readlabel</emphasis> command.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>labeltape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup labeltape</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ273">
|
|
<title>To label a tape</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">butc</emphasis> command, for
|
|
which complete instructions appear in <link linkend="HDRWQ292">To start a Tape Coordinator process</link>.
|
|
<programlisting>
|
|
% <emphasis role="bold">butc</emphasis> [<<replaceable>port offset</replaceable>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Place the tape in the device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> 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. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) labeltape</emphasis> command to label the tape. <programlisting>
|
|
backup> <emphasis role="bold">labeltape</emphasis> [<emphasis role="bold">-name</emphasis> <<replaceable>tape name, defaults to NULL</replaceable>>] \
|
|
[<emphasis role="bold">-size</emphasis> <<replaceable>tape size in Kbytes, defaults to size in tapeconfig</replaceable>>] \
|
|
[<emphasis role="bold">-portoffset</emphasis> <<replaceable>TC port offset</replaceable>>] [<emphasis role="bold">-pname</emphasis> <<replaceable>permanent tape name</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">la</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">labeltape</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the AFS tape name to record on the label. Include this argument or the <emphasis
|
|
role="bold">-pname</emphasis> argument, but not both. If you omit this argument, the AFS tape name is set to
|
|
<<replaceable>NULL</replaceable>>. If you provide it, it must have the following format. <programlisting>
|
|
volume_set_name<emphasis role="bold">.</emphasis>dump_level_name<emphasis role="bold">.</emphasis>tape_index
|
|
</programlisting></para>
|
|
|
|
<para>for the tape to be acceptable for use in a future <emphasis role="bold">backup dump</emphasis> operation.
|
|
The volume_set_name must match the volume set name of the initial dump to be written to the tape, dump_level_name
|
|
must match the last element of the dump level pathname at which the volume set is to be dumped, and tape_index
|
|
must correctly indicate the tape's place in the sequence of tapes that house the dump set; indexing begins with
|
|
the number 1 (one).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-size</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis> file on the Tape Coordinator
|
|
machine.</para>
|
|
|
|
<para>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 <emphasis role="bold">k</emphasis> or <emphasis role="bold">K</emphasis>
|
|
indicates kilobytes, <emphasis role="bold">m</emphasis> or <emphasis role="bold">M</emphasis> indicates megabytes,
|
|
and <emphasis role="bold">g</emphasis> or <emphasis role="bold">G</emphasis> indicates gigabytes. If you omit the
|
|
units letter, the default is kilobytes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-portoffset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">0</emphasis> (zero) is
|
|
appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-pname</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
|
|
<para>Include this argument or the <emphasis role="bold">-name</emphasis> argument, but not both. When you provide
|
|
this argument, the AFS tape name is set to <computeroutput><NULL></computeroutput>. If you omit this
|
|
argument, any existing permanent name is retained.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you did not include the <emphasis role="bold">-noautoquery</emphasis> flag when you issued the <emphasis
|
|
role="bold">butc</emphasis> command, or if the device's device configuration file includes the instruction <emphasis
|
|
role="bold">AUTOQUERY YES</emphasis>, 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 <emphasis role="bold"><Return></emphasis> to indicate that the tape is
|
|
ready for labeling.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>readlabel</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup readlabel</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ274">
|
|
<title>To read the label on a tape</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">butc</emphasis> command, for
|
|
which complete instructions appear in <link linkend="HDRWQ292">To start a Tape Coordinator process</link>.
|
|
<programlisting>
|
|
% <emphasis role="bold">butc</emphasis> [<<replaceable>port offset</replaceable>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Place the tape in the device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> 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. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) readlabel</emphasis> command to read the label on the tape.
|
|
<programlisting>
|
|
backup> <emphasis role="bold">readlabel</emphasis> [<<replaceable>TC port offset</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">rea</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">readlabel</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">0</emphasis> (zero) is
|
|
appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you did not include the <emphasis role="bold">-noautoquery</emphasis> flag when you issued the <emphasis
|
|
role="bold">butc</emphasis> command, or the device's device configuration file includes the instruction <emphasis
|
|
role="bold">AUTOQUERY YES</emphasis> 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 <emphasis role="bold"><Return></emphasis> to indicate that
|
|
the tape is ready for reading.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>Information from the tape label appears both in the <emphasis role="bold">backup</emphasis> command window and in the
|
|
Tape Coordinator window. The output in the command window has the following format:</para>
|
|
|
|
<programlisting>
|
|
Tape read was labelled: tape_name (initial_dump_ID)
|
|
size: size KBytes
|
|
</programlisting>
|
|
|
|
<para>where tape_name is the tape's permanent name (if it has one) or AFS tape name, initial_dump_ID is the dump ID of the
|
|
initial dump on the tape, and size is the capacity recorded on the label, in kilobytes.</para>
|
|
|
|
<para>The information in the Tape Coordinator window is more extensive. The tape's permanent name appears in the
|
|
<computeroutput>tape name</computeroutput> field and its AFS tape name in the <computeroutput>AFS tape name</computeroutput>
|
|
field. If either name is undefined, a value of <computeroutput><NULL></computeroutput> appears in the field instead. The
|
|
capacity recorded on the label appears in the <computeroutput>size</computeroutput> field. Other fields in the output report
|
|
the creation time, dump level name, and dump ID of the initial dump on the tape
|
|
(<computeroutput>creationTime</computeroutput>, <computeroutput>dump path</computeroutput>, and <computeroutput>dump
|
|
id</computeroutput> respectively). The <computeroutput>cell</computeroutput> field reports the cell in which the dump
|
|
operation was performed, and the <computeroutput>useCount</computeroutput> field reports the number of times the tape has been
|
|
relabeled, either with the <emphasis role="bold">backup labeltape</emphasis> command or during a dump operation. For further
|
|
details, see the command's reference page in the <emphasis>OpenAFS Administration Reference</emphasis>.</para>
|
|
|
|
<para>If the tape has no label, or if the drive is empty, the following message appears at the command shell:</para>
|
|
|
|
<programlisting>
|
|
Failed to read tape label.
|
|
</programlisting>
|
|
|
|
<para>The following example illustrates the output in the command shell for a tape in the device with port offset 1:</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup readlabel 1</emphasis>
|
|
Tape read was labelled: monthly_guest (917860000)
|
|
size: 2150000 KBytes
|
|
</programlisting>
|
|
|
|
<para>The following output appears in the Tape Coordinator window at the same time:</para>
|
|
|
|
<programlisting>
|
|
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 --
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ275">
|
|
<title>Automating and Increasing the Efficiency of the Backup Process</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>automating operations</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>reducing operator intervention</secondary>
|
|
</indexterm>
|
|
|
|
<para>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 device configuration file in the <emphasis
|
|
role="bold">/usr/afs/backup</emphasis> directory for each tape device that participates in automated operations. For general
|
|
instructions on creating the device configuration file, see <link linkend="HDRWQ276">Creating a Device Configuration
|
|
File</link>. The following list refers you to sections that describe each feature in greater detail. <itemizedlist>
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">MOUNT</emphasis> and <emphasis
|
|
role="bold">UNMOUNT</emphasis> instructions in its device configuration file. See <link linkend="HDRWQ277">Invoking a
|
|
Device's Tape Mounting and Unmounting Routines</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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
|
|
<emphasis role="bold">-noautoquery</emphasis> flag on the <emphasis role="bold">butc</emphasis> command, or assign the
|
|
value <emphasis role="bold">NO</emphasis> to the <emphasis role="bold">AUTOQUERY</emphasis> instruction in the device
|
|
configuration file. See <link linkend="HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">NO</emphasis> to the <emphasis role="bold">ASK</emphasis> instruction in the device
|
|
configuration file. See <link linkend="HDRWQ279">Enabling Default Responses to Error Conditions</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">NO</emphasis> to the <emphasis
|
|
role="bold">NAME_CHECK</emphasis> instruction in the device configuration file. See <link linkend="HDRWQ280">Eliminating
|
|
the AFS Tape Name Check</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">BUFFERSIZE</emphasis> instruction in the device configuration file. See
|
|
<link linkend="HDRWQ281">Setting the Memory Buffer Size to Promote Tape Streaming</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can write dumps to a <emphasis>backup data file</emphasis> 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 <emphasis role="bold">vos dump</emphasis> commands individually. To write dumps
|
|
to a file, include the <emphasis role="bold">FILE</emphasis> instruction in the device configuration file. See <link
|
|
linkend="HDRWQ282">Dumping Data to a Backup Data File</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>There are two additional ways to increase backup automation and efficiency that do not involve the device configuration
|
|
file: <itemizedlist>
|
|
<listitem>
|
|
<para>You can schedule one or more <emphasis role="bold">backup dump</emphasis> 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 <link
|
|
linkend="HDRWQ300">Scheduling Dumps</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">-append</emphasis> argument to the <emphasis role="bold">backup
|
|
dump</emphasis> command. See <link linkend="HDRWQ299">Appending Dumps to an Existing Dump Set</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<sect2 id="HDRWQ276">
|
|
<title>Creating a Device Configuration File</title>
|
|
|
|
<indexterm>
|
|
<primary>CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>files</primary>
|
|
|
|
<secondary>CFG_<device_name></secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>device configuration file (CFG)</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>configuration file</primary>
|
|
|
|
<secondary></secondary>
|
|
|
|
<see>CFG_<device_name> configuration file</see>
|
|
</indexterm>
|
|
|
|
<para>To use many of the features that automate backup operations, create a configuration file for each tape device in the
|
|
<emphasis role="bold">/usr/afs/backup</emphasis> directory on the local disk of the Tape Coordinator machine that drives the
|
|
device. The filename has the following form:</para>
|
|
|
|
<para><emphasis role="bold">CFG_</emphasis>device_name</para>
|
|
|
|
<para>where device_name represents the name of the tape device or backup data file (see <link linkend="HDRWQ282">Dumping Data
|
|
to a Backup Data File</link> to learn about writing dumps to a file rather than to tape).</para>
|
|
|
|
<para>For a tape device, construct the device_name portion of the name by stripping off the initial <emphasis
|
|
role="bold">/dev/</emphasis> string with which all UNIX device names conventionally begin, and replacing any other slashes in
|
|
the name with underscores. For example, <emphasis role="bold">CFG_rmt_4m</emphasis> is the appropriate filename for a device
|
|
called <emphasis role="bold">/dev/rmt/4m</emphasis>.</para>
|
|
|
|
<para>For a backup data file, construct the device_name portion by stripping off the initial slash (<emphasis
|
|
role="bold">/</emphasis>) and replacing any other slashes (<emphasis role="bold">/</emphasis>) in the name with underscores.
|
|
For example, <emphasis role="bold">CFG_var_tmp_FILE</emphasis> is the appropriate filename for a backup data file called
|
|
<emphasis role="bold">/var/tmp/FILE</emphasis>.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 (<emphasis role="bold"><Return></emphasis>)
|
|
characters within an instruction. <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">MOUNT and UNMOUNT</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Identify a script of routines for mounting and unmounting tapes in a tape stacker or jukebox's drive as needed.
|
|
See <link linkend="HDRWQ277">Invoking a Device's Tape Mounting and Unmounting Routines</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">AUTOQUERY</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Controls whether the Tape Coordinator prompts for the first tape it needs for a backup operation. See <link
|
|
linkend="HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">ASK</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Controls whether the Tape Coordinator asks you how to respond to certain error conditions. See <link
|
|
linkend="HDRWQ279">Enabling Default Responses to Error Conditions</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">NAME_CHECK</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Controls whether the Tape Coordinator verifies that an AFS tape name matches the initial dump you are writing to
|
|
the tape. See <link linkend="HDRWQ280">Eliminating the AFS Tape Name Check</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">BUFFERSIZE</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Sets the size of the memory buffer the Tape Coordinator uses when transferring data between a tape device and a
|
|
volume. See <link linkend="HDRWQ281">Setting the Memory Buffer Size to Promote Tape Streaming</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">FILE</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Controls whether the Tape Coordinator writes dumps to, and restores data from, a tape device or a backup data
|
|
file. See <link linkend="HDRWQ282">Dumping Data to a Backup Data File</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<indexterm>
|
|
<primary>UNMOUNT instruction in CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>MOUNT instruction in CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>automating tape mounting and unmounting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tape (Backup System)</primary>
|
|
|
|
<secondary>automating mounting and unmounting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>automating tape mounting and unmounting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>automating</primary>
|
|
|
|
<secondary>tape mounting and unmounting by Backup System</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ277">
|
|
<title>Invoking a Device's Tape Mounting and Unmounting Routines</title>
|
|
|
|
<para>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 <emphasis role="bold">MOUNT</emphasis>
|
|
and optionally <emphasis role="bold">UNMOUNT</emphasis> instructions in the device configuration file that you write for the
|
|
stacker or jukebox. The instructions share the same syntax:</para>
|
|
|
|
<programlisting><emphasis role="bold">MOUNT</emphasis> filename
|
|
<emphasis role="bold">UNMOUNT</emphasis> filename
|
|
</programlisting>
|
|
|
|
<para>where filename 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 <emphasis>script</emphasis> 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.</para>
|
|
|
|
<para>You can refer to different scripts with the <emphasis role="bold">MOUNT</emphasis> or <emphasis
|
|
role="bold">UNMOUNT</emphasis> 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 <emphasis role="bold">butc</emphasis>
|
|
command.</para>
|
|
|
|
<para>You need to include a <emphasis role="bold">MOUNT</emphasis> instruction in the device configuration file for all tape
|
|
devices, but the need for an <emphasis role="bold">UNMOUNT</emphasis> 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 <emphasis
|
|
role="bold">UNMOUNT</emphasis> instruction is not necessary. For devices that have separate mounting and unmounting routines,
|
|
you must include an <emphasis role="bold">UNMOUNT</emphasis> instruction to remove a tape when the Tape Coordinator is
|
|
finished with it; otherwise, subsequent attempts to run the <emphasis role="bold">MOUNT</emphasis> instruction fail with an
|
|
error.</para>
|
|
|
|
<para>When the device configuration file includes a <emphasis role="bold">MOUNT</emphasis> 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.</para>
|
|
|
|
<para>To obtain a list of the tapes required for a restore operation so that you can prestock them in the tape device, include
|
|
the <emphasis role="bold">-n</emphasis> flag on the appropriate <emphasis role="bold">backup</emphasis> command (<emphasis
|
|
role="bold">backup diskrestore</emphasis>, <emphasis role="bold">backup volrestore</emphasis>, or <emphasis role="bold">backup
|
|
volsetrestore</emphasis>). 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.</para>
|
|
|
|
<sect3 id="Header_312">
|
|
<title>How the Tape Coordinator Uses the MOUNT and UNMOUNT Instructions</title>
|
|
|
|
<para>When you issue the <emphasis role="bold">butc</emphasis> command to initialize the Tape Coordinator for a given tape
|
|
device, the Tape Coordinator looks for the device configuration file called <emphasis
|
|
role="bold">/usr/afs/backup/CFG_</emphasis>device_name on its local disk, where device_name has the format described in
|
|
<link linkend="HDRWQ276">Creating a Device Configuration File</link>. If the file exists and contains a <emphasis
|
|
role="bold">MOUNT</emphasis> instruction, then whenever the Tape Coordinator needs a tape, it executes the script named by
|
|
the instruction's filename argument.</para>
|
|
|
|
<para>If the device configuration file does not exist, or does not include a <emphasis role="bold">MOUNT</emphasis>
|
|
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 <emphasis role="bold"><Return></emphasis>
|
|
before the Tape Coordinator continues the backup operation.</para>
|
|
|
|
<para>Note, however, that you can modify the Tape Coordinator's behavior with respect to the first tape needed for an
|
|
operation, by setting the <emphasis role="bold">AUTOQUERY</emphasis> instruction in the device configuration file to
|
|
<emphasis role="bold">NO</emphasis>, or including the <emphasis role="bold">-noautoquery</emphasis> flag to the <emphasis
|
|
role="bold">butc</emphasis> command. In this case, the Tape Coordinator does not execute the <emphasis
|
|
role="bold">MOUNT</emphasis> 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 <link linkend="HDRWQ278">Eliminating the Search or Prompt for the Initial
|
|
Tape</link>.</para>
|
|
|
|
<para>If there is an <emphasis role="bold">UNMOUNT</emphasis> instruction in the device configuration file, then whenever
|
|
the Tape Coordinator closes the tape device, it executes the script named by the instruction's filename argument. It
|
|
executes the script only once, and regardless of whether the <emphasis role="bold">close</emphasis> operation on the device
|
|
succeeded or not. If the device configuration file does not include an <emphasis role="bold">UNMOUNT</emphasis> instruction,
|
|
then the Tape Coordinator takes no action.</para>
|
|
</sect3>
|
|
|
|
<sect3 id="Header_313">
|
|
<title>The Available Parameters and Required Exit Codes</title>
|
|
|
|
<para>When the Tape Coordinator executes the <emphasis role="bold">MOUNT</emphasis> 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. <orderedlist>
|
|
<listitem>
|
|
<para>The tape device or backup data file's pathname, as recorded in the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape operation, which (except for the exceptions noted in the following list) matches the <emphasis
|
|
role="bold">backup</emphasis> command operation code used to initiate the operation: <itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">appenddump</emphasis> (when a <emphasis role="bold">backup dump</emphasis> command
|
|
includes the <emphasis role="bold">-append</emphasis> flag)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">dump</emphasis> (when a <emphasis role="bold">backup dump</emphasis> command does
|
|
not include the <emphasis role="bold">-append</emphasis> flag)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">labeltape</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">readlabel</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">restore</emphasis> (for a <emphasis role="bold">backup diskrestore</emphasis>,
|
|
<emphasis role="bold">backup volrestore</emphasis>, or <emphasis role="bold">backup volsetrestore</emphasis>
|
|
command)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">restoredb</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">savedb</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">scantape</emphasis></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis
|
|
role="bold">MOUNT</emphasis> instruction.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape name. For some operations, the Tape Coordinator passes the string
|
|
<computeroutput>none</computeroutput>, because it does not know the tape name (when running the <emphasis
|
|
role="bold">backup scantape</emphasis> or <emphasis role="bold">backup readlabel</emphasis>, for example), or because
|
|
the tape does not necessarily have a name (when running the <emphasis role="bold">backup labeltape</emphasis> command,
|
|
for example).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape ID recorded in the Backup Database. As with the tape name, the Backup System passes the string
|
|
<computeroutput>none</computeroutput> for operations where it does not know the tape ID or the tape does not
|
|
necessarily have an ID.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<para>Your <emphasis role="bold">MOUNT</emphasis> script must return one of the following exit codes to tell the Tape
|
|
Coordinator whether or not it mounted the tape successfully: <itemizedlist>
|
|
<listitem>
|
|
<para>Code <emphasis role="bold">0</emphasis> (zero) indicates a successful mount, and the Tape Coordinator continues
|
|
the backup operation. If the script or program called by the <emphasis role="bold">MOUNT</emphasis> instruction does
|
|
not return this exit code, the Tape Coordinator never calls the <emphasis role="bold">UNMOUNT</emphasis>
|
|
instruction.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Code <emphasis role="bold">1</emphasis> indicates that mount attempt failed. The Tape Coordinator terminates the
|
|
backup operation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Any other code indicates that the script was unable to access the correct tape. The Tape Coordinator prompts the
|
|
operator to insert it.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>When the Tape Coordinator executes the <emphasis role="bold">UNMOUNT</emphasis> script, it passes in two parameters in
|
|
the following order. <orderedlist>
|
|
<listitem>
|
|
<para>The tape device's pathname (as specified in the <emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis>
|
|
file)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The tape operation, which is always <emphasis role="bold">unmount</emphasis>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<para>The following example script uses two of the parameters passed to it by the Backup System:
|
|
<computeroutput>tries</computeroutput> and <computeroutput>operation</computeroutput>. It follows the recommended practice
|
|
of exiting if the value of the <computeroutput>tries</computeroutput> parameter exceeds one, because that implies that the
|
|
stacker is out of tapes.</para>
|
|
|
|
<para>For a <emphasis role="bold">backup dump</emphasis> or <emphasis role="bold">backup savedb</emphasis> operation, the
|
|
routine calls the example <emphasis role="bold">stackerCmd_NextTape</emphasis> 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).</para>
|
|
|
|
<programlisting>
|
|
#! /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}
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>eliminating search/prompt for initial tape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>eliminating search/prompt for initial tape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tapes (Backup System)</primary>
|
|
|
|
<secondary>eliminating search/prompt for initial</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AUTOQUERY instruction in CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ278">
|
|
<title>Eliminating the Search or Prompt for the Initial Tape</title>
|
|
|
|
<para>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 <emphasis role="bold">MOUNT</emphasis> instruction in the
|
|
file, the Tape Coordinator executes the referenced script. If the device configuration file does not exist or does not have a
|
|
<emphasis role="bold">MOUNT</emphasis> instruction in it, the Tape Coordinator prompts you to insert the correct tape and
|
|
press <emphasis role="bold"><Return></emphasis>.</para>
|
|
|
|
<para>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 <emphasis role="bold">backup</emphasis> 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.</para>
|
|
|
|
<para>There are two ways to bypass the Tape Coordinator's initial tape-acquisition steps: <orderedlist>
|
|
<listitem>
|
|
<para>Include the instruction <emphasis role="bold">AUTOQUERY NO</emphasis> in the device configuration file</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Include the <emphasis role="bold">-noautoquery</emphasis> flag to the <emphasis role="bold">butc</emphasis>
|
|
command</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<para>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
|
|
<computeroutput><NULL></computeroutput>. Alternatively, suppress the Tape Coordinator's name verification step by
|
|
assigning the value <emphasis role="bold">NO</emphasis> to the <emphasis role="bold">NAME_CHECK</emphasis> instruction in the
|
|
device configuration file, as described in <link linkend="HDRWQ280">Eliminating the AFS Tape Name Check</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>ASK instruction in CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>using default responses to errors</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>using default responses to errors</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ279">
|
|
<title>Enabling Default Responses to Error Conditions</title>
|
|
|
|
<para>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 <emphasis
|
|
role="bold">ASK NO</emphasis> in the device configuration file. If you assign the value <emphasis role="bold">YES</emphasis>,
|
|
or omit the <emphasis role="bold">ASK</emphasis> instruction completely, the Tape Coordinator prompts you for direction when
|
|
it encounters one of the errors.</para>
|
|
|
|
<para>The following list describes the error conditions and the Tape Coordinator's response to them. <itemizedlist>
|
|
<listitem>
|
|
<para>The Backup System is unable to dump a volume while running the <emphasis role="bold">backup dump</emphasis>
|
|
command. When you assign the value <emphasis role="bold">NO</emphasis>, the Tape Coordinator omits the volume from the
|
|
dump and continues the operation. When you assign the value <emphasis role="bold">YES</emphasis>, 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup System is unable to restore a volume while running the <emphasis role="bold">backup
|
|
diskrestore</emphasis>, <emphasis role="bold">backup volrestore</emphasis>, or <emphasis role="bold">backup
|
|
volsetrestore</emphasis> command. When you assign the value <emphasis role="bold">NO</emphasis>, the Tape Coordinator
|
|
continues the operation, omitting the problematic volume but restoring the remaining ones. When you assign the value
|
|
<emphasis role="bold">YES</emphasis>, it prompts to ask if you want to omit the volume and continue the operation, or to
|
|
terminate the operation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup System cannot determine if the dump set includes any more tapes while running the <emphasis
|
|
role="bold">backup scantape</emphasis> command (the command's reference page in the <emphasis>OpenAFS Administration
|
|
Reference</emphasis> discusses possible reasons for this problem). When you assign the value <emphasis
|
|
role="bold">NO</emphasis>, the Tape Coordinator proceeds as though there are more tapes and invokes the <emphasis
|
|
role="bold">MOUNT</emphasis> script named in the device configuration file, or prompts the operator to insert the next
|
|
tape. When you assign the value <emphasis role="bold">YES</emphasis>, it prompts to ask if there are more tapes to
|
|
scan.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup System determines that the tape contains an unexpired dump while running the <emphasis
|
|
role="bold">backup labeltape</emphasis> command. When you assign the value <emphasis role="bold">NO</emphasis>, it
|
|
terminates the operation without relabeling the tape. With a <emphasis role="bold">YES</emphasis> value, the Tape
|
|
Coordinator prompts to ask if you want to relabel the tape anyway.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>NAME_CHECK instruction in CFG_<emphasis>device_name</emphasis> file</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>eliminating check for proper tape name</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tape (Backup System)</primary>
|
|
|
|
<secondary>eliminating check for proper name</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>eliminating check for proper tape name</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ280">
|
|
<title>Eliminating the AFS Tape Name Check</title>
|
|
|
|
<para>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: <itemizedlist>
|
|
<listitem>
|
|
<para>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 <link linkend="HDRWQ253">Dump Names and Tape Names</link>. If the tape does not
|
|
already have a permanent name, you can assign the AFS tape name by using the <emphasis role="bold">-name</emphasis>
|
|
argument to the <emphasis role="bold">backup labeltape</emphasis> command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A <computeroutput><NULL></computeroutput> value, which results when you assign a permanent name, or provide
|
|
no value for the <emphasis role="bold">backup labeltape</emphasis> command's <emphasis role="bold">-name</emphasis>
|
|
argument.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>No AFS tape name at all, indicating that you have never labeled the tape or written a dump to it.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>To bypass the name check, include the <emphasis role="bold">NAME_CHECK NO</emphasis> 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 <emphasis role="bold">backup
|
|
labeltape</emphasis> command to relabel it first. For this to work, the <emphasis role="bold">ASK NO</emphasis> instruction
|
|
cannot appear in the device configuration file.)</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ281">
|
|
<title>Setting the Memory Buffer Size to Promote Tape Streaming</title>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 <emphasis
|
|
role="bold">BUFFERSIZE</emphasis> instruction in the device configuration file. It takes an integer value, and optionally
|
|
units, in the following format:</para>
|
|
|
|
<programlisting><emphasis role="bold">BUFFERSIZE</emphasis> size[{<emphasis role="bold">k</emphasis> | <emphasis role="bold">K</emphasis> | <emphasis
|
|
role="bold">m</emphasis> | <emphasis role="bold">M</emphasis> | <emphasis role="bold">g</emphasis> | <emphasis role="bold">G</emphasis>}]
|
|
</programlisting>
|
|
|
|
<para>where size 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 <emphasis role="bold">k</emphasis> or <emphasis role="bold">K</emphasis> to
|
|
specify kilobytes, <emphasis role="bold">m</emphasis> or <emphasis role="bold">M</emphasis> for megabytes, and <emphasis
|
|
role="bold">g</emphasis> or <emphasis role="bold">G</emphasis> for gigabytes. There is no space between the size value and the
|
|
units letter.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ282">
|
|
<title>Dumping Data to a Backup Data File</title>
|
|
|
|
<para>You can write dumps to a <emphasis>backup data file</emphasis> 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 <emphasis role="bold">vos dump</emphasis> and <emphasis
|
|
role="bold">vos restore</emphasis> commands individually for multiple volumes.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 <emphasis role="bold">backup dump</emphasis> operation.</para>
|
|
|
|
<para>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 <emphasis role="bold">backup dumpinfo</emphasis> command
|
|
issued with the <emphasis role="bold">-id</emphasis> option, the value in the <computeroutput>Pos</computeroutput> 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.</para>
|
|
|
|
<para>Before writing to a backup data file, you need to configure the file as though it were a tape device.</para>
|
|
|
|
<note>
|
|
<para>A file pathname, rather than a tape device name, must appear in the third field of the <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file when the <emphasis role="bold">FILE YES</emphasis> instruction
|
|
appears in the device configuration file, and vice versa. If the <emphasis role="bold">tapeconfig</emphasis> 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 <emphasis role="bold">FILE</emphasis> instruction was set to <emphasis
|
|
role="bold">YES</emphasis>. In the same way, if the <emphasis role="bold">FILE</emphasis> instruction is set to <emphasis
|
|
role="bold">NO</emphasis>, the <emphasis role="bold">tapeconfig</emphasis> entry must refer to an actual tape device.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_319">
|
|
<title>To configure a backup data file</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. If necessary, issue the <emphasis role="bold">bos listusers</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ593">To display the users in the UserList file</link>. <programlisting>
|
|
% <emphasis role="bold">bos listusers</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Become the local superuser <emphasis role="bold">root</emphasis> on the machine, if you are not already, by issuing
|
|
the <emphasis role="bold">su</emphasis> command. <programlisting>
|
|
% <emphasis role="bold">su root</emphasis>
|
|
Password: <<replaceable>root_password</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">Optional</emphasis>. Issue the <emphasis role="bold">backup</emphasis> command to enter
|
|
interactive mode. <programlisting>
|
|
# <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Choose the port offset number to assign to the file. If necessary, display previously assigned port offsets by
|
|
issuing the <emphasis role="bold">(backup) listhosts</emphasis> command, which is fully described in <link
|
|
linkend="HDRWQ264">To display the list of configured Tape Coordinators</link>. <programlisting>
|
|
backup> <emphasis role="bold">listhosts</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>As for a tape device, acceptable values are the integers <emphasis role="bold">0</emphasis> (zero) through <emphasis
|
|
role="bold">58510</emphasis> (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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) addhost</emphasis> command to register the backup data file's port offset
|
|
in the Backup Database. <programlisting>
|
|
backup> <emphasis role="bold">addhost</emphasis> <<replaceable>tape machine name</replaceable>> [<<replaceable>TC port offset</replaceable>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">addh</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">addhost</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape machine name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the fully qualified hostname of the Tape Coordinator machine you invoke to write to the backup
|
|
data file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the file's port offset number. You must provide this argument unless the default value of
|
|
<emphasis role="bold">0</emphasis> (zero) is appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem id="LITAPECONFIG-FILE">
|
|
<para>Using a text editor, create an entry for the backup data file in the local
|
|
<emphasis role="bold">/usr/afs/backup/tapeconfig</emphasis> file, using the standard syntax: <programlisting>
|
|
[capacity filemark_size] device_name port_offset
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">capacity</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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.</para>
|
|
|
|
<para>Specify a numerical value followed by a letter that indicates units, with no intervening space. The letter
|
|
<emphasis role="bold">k</emphasis> or <emphasis role="bold">K</emphasis> indicates kilobytes, <emphasis
|
|
role="bold">m</emphasis> or <emphasis role="bold">M</emphasis> indicates megabytes, and <emphasis
|
|
role="bold">g</emphasis> or <emphasis role="bold">G</emphasis> 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 filemark_size field empty in that case.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">filemark_size</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specify the value <emphasis role="bold">0</emphasis> (zero) or leave both this field and the capacity field
|
|
empty. In the latter case, the Tape Coordinator also uses the value zero.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">device_name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis role="bold">/dev</emphasis>
|
|
directory that points to the actual file pathname, and record the symbolic link in this field. This configuration
|
|
provides these advantages: <itemizedlist>
|
|
<listitem>
|
|
<para>It makes the device_name portion of the <emphasis role="bold">CFG_</emphasis>device_name, of the
|
|
<emphasis role="bold">TE_</emphasis>device_name, and of the <emphasis role="bold">TL_</emphasis>device_name
|
|
filenames as short as possible. Because the symbolic link is in the <emphasis role="bold">/dev</emphasis>
|
|
directory as though it is a tape device, you strip off the entire <emphasis role="bold">/dev/</emphasis>
|
|
prefix when forming the filename, instead of just the initial slash (<emphasis role="bold">/</emphasis>).
|
|
If, for example, the symbolic link is called <emphasis role="bold">/dev/FILE</emphasis>, the device
|
|
configuration file's name is <emphasis role="bold">CFG_FILE</emphasis>, whereas if the actual pathname
|
|
/<emphasis role="bold">var/tmp/FILE</emphasis> appears in the <emphasis role="bold">tapeconfig</emphasis>
|
|
file, the configuration file's name must be <emphasis role="bold">CFG_var_tmp_FILE</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>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 <emphasis
|
|
role="bold">MOUNT</emphasis> script, or to prompt you if the <emphasis role="bold">MOUNT</emphasis>
|
|
instruction does not appear in the configuration file. <itemizedlist>
|
|
<listitem>
|
|
<para>If there is a <emphasis role="bold">MOUNT</emphasis> 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.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If there is no <emphasis role="bold">MOUNT</emphasis> instruction, the prompt enables you
|
|
manually to change the symbolic link to point to another backup data file and then press <<emphasis
|
|
role="bold">Return</emphasis>> to signal that the Tape Coordinator can continue the
|
|
operation.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>If this field names the actual file, there is no way to recover from exhausting the space on the
|
|
partition. You cannot change the <emphasis role="bold">tapeconfig</emphasis> file in the middle of an
|
|
operation.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">port_offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the port offset number that you chose for the backup data file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the device configuration file <emphasis role="bold">CFG_</emphasis>device_name in the Tape Coordinator
|
|
machine's <emphasis role="bold">/usr/afs/backup</emphasis> directory. Include the <emphasis role="bold">FILE
|
|
YES</emphasis> instruction in the file.</para>
|
|
|
|
<para>Construct the device_name portion of the name based on the device name you recorded in the <emphasis
|
|
role="bold">tapeconfig</emphasis> file in Step <link linkend="LITAPECONFIG-FILE">6</link>. If, as recommended, you
|
|
recorded a symbolic link name, strip off the <emphasis role="bold">/dev/</emphasis> string and replace any other slashes
|
|
(<emphasis role="bold">/</emphasis>) in the name with underscores (<emphasis role="bold">_</emphasis>). For example,
|
|
<emphasis role="bold">CFG_FILE</emphasis> is the appropriate name if the symbolic link is <emphasis
|
|
role="bold">/dev/FILE</emphasis>. 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 <emphasis
|
|
role="bold">/var/tmp/FILE</emphasis>, the appropriate device configuration filename is <emphasis
|
|
role="bold">CFG_var_tmp_FILE</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you chose in Step <link linkend="LITAPECONFIG-FILE">6</link> to record a symbolic link name in the device_name
|
|
field of the <emphasis role="bold">tapeconfig</emphasis> entry, then you must do one of the following: <itemizedlist>
|
|
<listitem>
|
|
<para>Use the <emphasis role="bold">ln -s</emphasis> command to create the appropriate symbolic link in the
|
|
<emphasis role="bold">/dev</emphasis> directory</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Write a script that initializes the backup data file in this way, and include a <emphasis
|
|
role="bold">MOUNT</emphasis> instruction in the device configuration file to invoke the script. An example script
|
|
appears following these instructions.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>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 <emphasis role="bold">backup
|
|
dump</emphasis>, <emphasis role="bold">backup restore</emphasis>, <emphasis role="bold">backup savedb</emphasis>, or <emphasis
|
|
role="bold">backup restoredb</emphasis> operation, the routine invokes the UNIX <emphasis role="bold">ln -s</emphasis> command
|
|
to create a symbolic link from the backup data file named in the <emphasis role="bold">tapeconfig</emphasis> file to the
|
|
actual file to use (this is the recommended method). It uses the values of the <computeroutput>tapename</computeroutput> and
|
|
<computeroutput>tapeid</computeroutput> parameters passed to it by the Backup System when constructing the filename.</para>
|
|
|
|
<para>The routine makes use of two other parameters as well: <computeroutput>tries</computeroutput> and
|
|
<computeroutput>operation</computeroutput>. The <computeroutput>tries</computeroutput> 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 (<computeroutput>exit_interactive</computeroutput>), 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
|
|
<emphasis role="bold">tapeconfig</emphasis> file.</para>
|
|
|
|
<programlisting>
|
|
#! /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}
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|