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>
4621 lines
245 KiB
XML
4621 lines
245 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<chapter id="HDRWQ283">
|
|
<title>Backing Up and Restoring AFS Data</title>
|
|
|
|
<para>The instructions in this chapter explain how to back up and restore AFS data and to administer the Backup Database. They
|
|
assume that you have already configured all of the Backup System components by following the instructions in <link
|
|
linkend="HDRWQ248">Configuring the AFS Backup System</link>.</para>
|
|
|
|
<sect1 id="HDRWQ284">
|
|
<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>Enter interactive mode</entry>
|
|
|
|
<entry><emphasis role="bold">backup (interactive)</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Leave interactive mode</entry>
|
|
|
|
<entry><emphasis role="bold">(backup) quit</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>List operations in interactive mode</entry>
|
|
|
|
<entry><emphasis role="bold">(backup) jobs</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Cancel operation in interactive mode</entry>
|
|
|
|
<entry><emphasis role="bold">(backup) kill</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Start Tape Coordinator</entry>
|
|
|
|
<entry><emphasis role="bold">butc</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Stop Tape Coordinator</entry>
|
|
|
|
<entry><<emphasis role="bold">Ctrl-c</emphasis>></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Check status of Tape Coordinator</entry>
|
|
|
|
<entry><emphasis role="bold">backup status</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Back up data</entry>
|
|
|
|
<entry><emphasis role="bold">backup dump</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Display dump records</entry>
|
|
|
|
<entry><emphasis role="bold">backup dumpinfo</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Display volume's dump history</entry>
|
|
|
|
<entry><emphasis role="bold">backup volinfo</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Scan contents of tape</entry>
|
|
|
|
<entry><emphasis role="bold">backup scantape</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Restore volume</entry>
|
|
|
|
<entry><emphasis role="bold">backup volrestore</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Restore partition</entry>
|
|
|
|
<entry><emphasis role="bold">backup diskrestore</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Restore group of volumes</entry>
|
|
|
|
<entry><emphasis role="bold">backup volsetrestore</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Verify integrity of Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup dbverify</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Repair corruption in Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup savedb</emphasis> and <emphasis role="bold">backup restoredb</emphasis></entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>Delete dump set from Backup Database</entry>
|
|
|
|
<entry><emphasis role="bold">backup deletedump</emphasis></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ286">
|
|
<title>Using the Backup System's Interfaces</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>interfaces</secondary>
|
|
</indexterm>
|
|
|
|
<para>When performing backup operations, you interact with three Backup System components: <itemizedlist>
|
|
<listitem>
|
|
<para>You initiate backup operations by issuing commands from the <emphasis role="bold">backup</emphasis> suite. 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
|
|
in the <emphasis role="bold">/usr/afs/bin</emphasis> directory on a server machine and the <emphasis
|
|
role="bold">/usr/afsws/etc</emphasis> directory on a client machine.</para>
|
|
|
|
<para>The 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. For a discussion and instructions, see <link linkend="HDRWQ288">Using Interactive and Regular Command
|
|
Mode</link>.</para>
|
|
|
|
<para>Note that some operating systems include a <emphasis role="bold">backup</emphasis> command of their own. You must
|
|
configure machines that run such an operating system to ensure that you are accessing the desired <emphasis
|
|
role="bold">backup</emphasis> binary.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Before you perform a backup operation that involves reading or writing to a tape device or backup data file, you
|
|
must open a dedicated connection to the appropriate Tape Coordinator machine and start the Tape Coordinator (<emphasis
|
|
role="bold">butc</emphasis>) process that handles the device or file. The <emphasis role="bold">butc</emphasis> process
|
|
must continue to run over the dedicated connection as long as it is executing an operation or is to be available to
|
|
execute one. For further discussion and instructions, see <link linkend="HDRWQ291">Starting and Stopping the Tape
|
|
Coordinator Process</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup Server (<emphasis role="bold">buserver</emphasis>) process must be running on database server machines,
|
|
because most backup operations require accessing or changing information in the Backup Database. The <emphasis>OpenAFS
|
|
Quick Beginnings</emphasis> explains how to configure the Backup Server.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>For consistent Backup System performance, the AFS build level of all three binaries (<emphasis
|
|
role="bold">backup</emphasis>, <emphasis role="bold">butc</emphasis>, and <emphasis role="bold">buserver</emphasis>) must match.
|
|
For instructions on displaying the build level, see <link linkend="HDRWQ117">Displaying A Binary File's Build
|
|
Level</link>.</para>
|
|
|
|
<sect2 id="HDRWQ287">
|
|
<title>Performing Backup Operations as the Local Superuser Root or in a Foreign Cell</title>
|
|
|
|
<indexterm>
|
|
<primary>AFSCELL environment variable</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>variable</primary>
|
|
|
|
<secondary>AFSCELL</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>running in foreign cell</secondary>
|
|
</indexterm>
|
|
|
|
<para>By default, the volumes and Backup Database involved in a backup operation must reside on server machines that belong to
|
|
the cell named in the <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> files on both the Tape Coordinator machine and
|
|
the machine where you issue the <emphasis role="bold">backup</emphasis> command. Also, to issue most <emphasis
|
|
role="bold">backup</emphasis> commands you must have AFS tokens for an identity listed in the local cell's <emphasis
|
|
role="bold">/usr/afs/etc/UserList</emphasis> file (which by convention is the same on every server machine in a cell). You
|
|
can, however, perform backup operations on volumes or the Backup Database from a foreign cell, or perform backup operations
|
|
while logged in as the local superuser <emphasis role="bold">root</emphasis> rather than as a privileged AFS identity.</para>
|
|
|
|
<para>To perform backup operations on volumes that reside in a foreign cell using machines from the local cell, you must
|
|
designate the foreign cell as the cell of execution for both the Tape Coordinator and the <emphasis
|
|
role="bold">backup</emphasis> command interpreter. Use one of the two following methods. For either method, you must also have
|
|
tokens as an administrator listed in the foreign cell's <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file.
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Before issuing <emphasis role="bold">backup</emphasis> commands and the <emphasis role="bold">butc</emphasis>
|
|
command, set the AFSCELL environment variable to the foreign cell name in both command shells.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Include the <emphasis role="bold">-cell</emphasis> argument to the <emphasis role="bold">butc</emphasis> and all
|
|
<emphasis role="bold">backup</emphasis> commands. If you include the argument on the <emphasis role="bold">backup
|
|
(interactive)</emphasis> command, it applies to all commands issued during the interactive session.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>To perform backup operations without having administrative AFS tokens, you must log on as the local superuser <emphasis
|
|
role="bold">root</emphasis> on both the Tape Coordinator machine and the machine where you issue <emphasis
|
|
role="bold">backup</emphasis> commands. Both machines must be server machines, or at least have a <emphasis
|
|
role="bold">/usr/afs/etc/KeyFile</emphasis> file that matches the file on other server machines. Then include the <emphasis
|
|
role="bold">-localauth</emphasis> argument on both the <emphasis role="bold">butc</emphasis> command and all <emphasis
|
|
role="bold">backup</emphasis> commands (or the <emphasis role="bold">backup (interactive)</emphasis> command). The Tape
|
|
Coordinator and <emphasis role="bold">backup</emphasis> command interpreter construct a server ticket using the server
|
|
encryption key with the highest key version number in the local <emphasis role="bold">/usr/afs/etc/KeyFile</emphasis> file,
|
|
and present it to the Backup Server, Volume Server, and VL Server that belong to the cell named in the local <emphasis
|
|
role="bold">/usr/afs/etc/ThisCell</emphasis> file. The ticket never expires.</para>
|
|
|
|
<para>You cannot combine the <emphasis role="bold">-cell</emphasis> and <emphasis role="bold">-localauth</emphasis> options on
|
|
the same command. Also, each one overrides the local cell setting defined by the AFSCELL environment variable or the <emphasis
|
|
role="bold">/usr/vice/etc/ThisCell</emphasis> file.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ288">
|
|
<title>Using Interactive and Regular Command Mode</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>interactive mode</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>interactive mode (Backup System)</primary>
|
|
|
|
<secondary>features</secondary>
|
|
</indexterm>
|
|
|
|
<para>The <emphasis role="bold">backup</emphasis> command suite provides an interactive mode, in which you can issue multiple
|
|
commands over a persistent connection to the Backup Server and the VL Server. Interactive mode provides the following
|
|
features: <itemizedlist>
|
|
<listitem>
|
|
<para>The <computeroutput>backup></computeroutput> prompt replaces the usual command shell prompt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You omit the initial <emphasis role="bold">backup</emphasis> string from command names. Type only the operation
|
|
code and option names.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You cannot issue commands that do not belong to the <emphasis role="bold">backup</emphasis> suite.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you assume an administrative AFS identity or specify a foreign cell as you enter interactive mode, it applies
|
|
to all commands issued during the interactive session. See <link linkend="HDRWQ287">Performing Backup Operations as the
|
|
Local Superuser Root or in a Foreign Cell</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You do not need to enclose shell metacharacters in double quotes.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>job ID numbers (Backup System)</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>job ID numbers</secondary>
|
|
|
|
<tertiary>about</tertiary>
|
|
</indexterm>
|
|
|
|
<para>When you initiate a backup operation in interactive mode, the Backup System assigns it a <emphasis>job ID
|
|
number</emphasis>. You can display the list of current and pending operations with the <emphasis role="bold">(backup)
|
|
jobs</emphasis> command, for which instructions appear in <link linkend="HDRWQ289">To display pending or running jobs in
|
|
interactive mode</link>. (In both regular and interactive modes, the Tape Coordinator also assigns a <emphasis>task ID
|
|
number</emphasis> to each operation you initiate with a <emphasis role="bold">backup</emphasis> command. You can track task ID
|
|
numbers with the <emphasis role="bold">backup status</emphasis> command. See <link linkend="HDRWQ291">Starting and Stopping
|
|
the Tape Coordinator Process</link>.)</para>
|
|
|
|
<para>You can cancel an operation in interactive mode with the <emphasis role="bold">(backup) kill</emphasis> command, for
|
|
which instructions appear in <link linkend="HDRWQ290">To cancel operations in interactive mode</link>. However, it is best not
|
|
to interrupt a dump operation because the resulting dump is incomplete, and interrupting a restore operation can leave volumes
|
|
in an inconsistent state, or even completely remove them from the server machine. For further discussion, see <link
|
|
linkend="HDRWQ296">Backing Up Data</link> and <link linkend="HDRWQ306">Restoring and Recovering Data</link>.</para>
|
|
|
|
<para>The <emphasis role="bold">(backup) jobs</emphasis> and <emphasis role="bold">(backup) kill</emphasis> commands are
|
|
available only in interactive mode and there is no equivalent functionality in regular command mode.</para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>interactive mode</secondary>
|
|
|
|
<tertiary>entering</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup</secondary>
|
|
|
|
<tertiary>to enter interactive mode</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup interactive</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>interactive mode (Backup System)</primary>
|
|
|
|
<secondary>entering</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_325">
|
|
<title>To enter interactive mode</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file. Entering interactive mode does not itself require privilege, but most other <emphasis role="bold">backup</emphasis>
|
|
commands do, and the AFS identity you assume when entering the mode applies to all commands you issue within it. 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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup (interactive)</emphasis> command at the system prompt. The
|
|
<computeroutput>backup></computeroutput> prompt appears. You can include either, but not both, of the <emphasis
|
|
role="bold">-localauth</emphasis> and <emphasis role="bold">-cell</emphasis> options, as discussed in <link
|
|
linkend="HDRWQ287">Performing Backup Operations as the Local Superuser Root or in a Foreign Cell</link>. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
backup>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>quit</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup quit</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>interactive mode (Backup System)</primary>
|
|
|
|
<secondary>exiting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>interactive mode</secondary>
|
|
|
|
<tertiary>exiting</tertiary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_326">
|
|
<title>To exit interactive mode</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">quit</emphasis> command at the <computeroutput>backup></computeroutput> prompt.
|
|
The command shell prompt reappears when the command succeeds, which it does only if there are no jobs pending or currently
|
|
running. To display and cancel pending or running jobs, follow the instructions in <link linkend="HDRWQ289">To display
|
|
pending or running jobs in interactive mode</link> and <link linkend="HDRWQ290">To cancel operations in interactive
|
|
mode</link>. <programlisting>
|
|
backup> <emphasis role="bold">quit</emphasis>
|
|
%
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>interactive mode (Backup System)</primary>
|
|
|
|
<secondary>operations</secondary>
|
|
|
|
<tertiary>displaying pending/running</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>interactive mode</secondary>
|
|
|
|
<tertiary>displaying pending/running operations</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>job ID numbers</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>job ID numbers (Backup System)</primary>
|
|
|
|
<secondary>displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>jobs</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup jobs</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ289">
|
|
<title>To display pending or running jobs in interactive mode</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">jobs</emphasis> command at the <computeroutput>backup></computeroutput> prompt.
|
|
<programlisting>
|
|
backup> <emphasis role="bold">jobs</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">j</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">jobs</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>The output always includes the expiration date and time of the tokens that the <emphasis role="bold">backup</emphasis>
|
|
command interpreter is using during the current interactive session, in the following format:</para>
|
|
|
|
<programlisting>
|
|
date time: TOKEN EXPIRATION
|
|
</programlisting>
|
|
|
|
<para>If the execution date and time specified for a scheduled dump operation is later than <emphasis>date time</emphasis>,
|
|
then its individual line (as described in the following paragraphs) appears below this line to indicate that the current
|
|
tokens will not be available to it.</para>
|
|
|
|
<para>If the issuer of the <emphasis role="bold">backup</emphasis> command included the <emphasis
|
|
role="bold">-localauth</emphasis> flag when entering interactive mode, the line instead reads as follows:</para>
|
|
|
|
<programlisting>
|
|
: TOKEN NEVER EXPIRES
|
|
</programlisting>
|
|
|
|
<para>The entry for a scheduled dump operation has the following format:</para>
|
|
|
|
<programlisting>
|
|
Job job_ID: timestamp: dump volume_set dump_level
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">job_ID</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is a job identification number assigned by the Backup System.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">timestamp</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Indicates the date and time the dump operation is to begin, in the format month/date/year hours:minutes (in
|
|
24-hour format)</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume_set</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Indicates the volume set to dump.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dump_level</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Indicates the dump level at which to perform the dump operation.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>The line for a pending or running operation of any other type has the following format:</para>
|
|
|
|
<programlisting>
|
|
Job job_ID: operation status
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">job_ID</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is a job identification number assigned by the Backup System.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">operation</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Identifies the operation the Tape Coordinator is performing, which is initiated by the indicated command:
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Dump</computeroutput> (dump name)</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup dump</emphasis> command. The dump name has the following
|
|
format:</para>
|
|
|
|
<para>volume_set_name<emphasis role="bold">.</emphasis>dump_level_name</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Restore</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup diskrestore</emphasis>, <emphasis role="bold">backup
|
|
volrestore</emphasis>, or <emphasis role="bold">backup volsetrestore</emphasis> command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Labeltape</computeroutput> (tape_label)</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup labeltape</emphasis> command. The tape_label is the name
|
|
specified by the <emphasis role="bold">backup labeltape</emphasis> command's <emphasis
|
|
role="bold">-name</emphasis> or <emphasis role="bold">-pname</emphasis> argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Scantape</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup scantape</emphasis> command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>SaveDb</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup savedb</emphasis> command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>RestoreDb</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Initiated by the <emphasis role="bold">backup restoredb</emphasis> command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">status</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Indicates the job's current status in one of the following messages. If no message appears, the job is either
|
|
still pending or has finished. <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">number <computeroutput>Kbytes, volume volume_name</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>For a running dump operation, indicates the number of kilobytes copied to tape or a backup data file so
|
|
far, and the volume currently being dumped.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">number <computeroutput>Kbytes, restore.volume</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>For a running restore operation, indicates the number of kilobytes copied into AFS from a tape or a
|
|
backup data file so far.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[abort requested]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The <emphasis role="bold">(backup) kill</emphasis> command was issued, but the termination signal has
|
|
yet to reach the Tape Coordinator.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[abort sent]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The operation is canceled by the <emphasis role="bold">(backup) kill</emphasis> command. Once the Backup
|
|
System removes an operation from the queue or stops it from running, it no longer appears at all in the output
|
|
from the command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[butc contact lost]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The <emphasis role="bold">backup</emphasis> command interpreter cannot reach the Tape Coordinator. The
|
|
message can mean either that the Tape Coordinator handling the operation was terminated or failed while the
|
|
operation was running, or that the connection to the Tape Coordinator timed out.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[done]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The Tape Coordinator has finished the operation.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[drive wait]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The operation is waiting for the specified tape drive to become free.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[operator wait]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The Tape Coordinator is waiting for the backup operator to insert a tape in the drive.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<indexterm>
|
|
<primary>interactive mode (Backup System)</primary>
|
|
|
|
<secondary>operations</secondary>
|
|
|
|
<tertiary>canceling pending/running</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>interactive mode</secondary>
|
|
|
|
<tertiary>canceling operations</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>job ID numbers (Backup System)</primary>
|
|
|
|
<secondary>operations</secondary>
|
|
|
|
<tertiary>canceling</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>kill</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup kill</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ290">
|
|
<title>To cancel operations in interactive mode</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">jobs</emphasis> command at the <computeroutput>backup></computeroutput> prompt,
|
|
to learn the job ID number of the operation you want to cancel. For details, see <link linkend="HDRWQ289">To display
|
|
pending or running jobs in interactive mode</link>. <programlisting>
|
|
backup> <emphasis role="bold">jobs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) kill</emphasis> command to cancel the operation. <programlisting>
|
|
backup> <emphasis role="bold">kill</emphasis> <<emphasis>job ID or dump set name</emphasis>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">k</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">kill</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">job ID or dump set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies either the job ID number of the operation to cancel, as reported by the <emphasis
|
|
role="bold">jobs</emphasis> command, or for a dump operation only, the dump name in the format
|
|
volume_set_name.dump_level_name.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ291">
|
|
<title>Starting and Stopping the Tape Coordinator Process</title>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>process</secondary>
|
|
|
|
<tertiary>starting</tertiary>
|
|
</indexterm>
|
|
|
|
<para>Before performing a backup operation that reads from or writes to a tape device or backup data file, you must start the
|
|
Tape Coordinator (<emphasis role="bold">butc</emphasis>) process that handles the drive or file. This section explains how to
|
|
start, stop, and check the status of a Tape Coordinator process. To use these instructions, you must have already configured
|
|
the Tape Coordinator machine and created a Tape Coordinator entry in the Backup Database, as instructed in <link
|
|
linkend="HDRWQ261">Configuring Tape Coordinator Machines and Tape Devices</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>task ID numbers (Backup System)</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>task ID numbers</secondary>
|
|
</indexterm>
|
|
|
|
<para>The Tape Coordinator assigns a <emphasis>task ID number</emphasis> to each operation it performs. The number is distinct
|
|
from the job ID number assigned by the <emphasis role="bold">backup</emphasis> command interpreter in interactive mode (which
|
|
is discussed in <link linkend="HDRWQ288">Using Interactive and Regular Command Mode</link>). The Tape Coordinator reports the
|
|
task ID number in its onscreen trace and in the messages that it writes to its log and error files. To view the task ID
|
|
numbers of a Tape Coordinator's running or pending operations, issue the <emphasis role="bold">backup status</emphasis>
|
|
command.</para>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>starting</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>butc command</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>butc</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ292">
|
|
<title>To start a Tape Coordinator process</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Verify that you are authenticated as a user listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis>
|
|
file of the cell in which the Tape Coordinator is to access volume data and the Backup Database. 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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
|
|
<para>Alternately, you can log into a file server machine as the local superuser <emphasis role="bold">root</emphasis> in
|
|
Step <link linkend="LIWQ293">3</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Verify that you can write to the Tape Coordinator's log and error files in the local <emphasis
|
|
role="bold">/usr/afs/backup</emphasis> directory (the <emphasis role="bold">TE_</emphasis>device_name and <emphasis
|
|
role="bold">TL_</emphasis>device_name files). If the log and error files do not already exist, you must be able to insert
|
|
and write to files in the <emphasis role="bold">/usr/afs/backup</emphasis> directory.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ293">
|
|
<para>Open a connection (using a command such as <emphasis role="bold">telnet</emphasis> or
|
|
<emphasis role="bold">rlogin</emphasis>) to the Tape Coordinator machine that drives the tape device, or whose local disk
|
|
houses the backup data file. The Tape Coordinator uses a devoted connection or window that must remain open for the Tape
|
|
Coordinator to accept requests and while it is executing them.</para>
|
|
|
|
<para>If you plan to include the <emphasis role="bold">-localauth</emphasis> flag to the <emphasis
|
|
role="bold">butc</emphasis> command in the next step, log in as the local superuser <emphasis
|
|
role="bold">root</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ294">
|
|
<para>Issue the <emphasis role="bold">butc</emphasis> command to start the Tape Coordinator. You
|
|
can include either, but not both, of the <emphasis role="bold">-localauth</emphasis> and <emphasis
|
|
role="bold">-cell</emphasis> options, as discussed in <link linkend="HDRWQ287">Performing Backup Operations as the Local
|
|
Superuser Root or in a Foreign Cell</link>. <programlisting>
|
|
% <emphasis role="bold">butc</emphasis> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-debuglevel</emphasis> <<emphasis>trace level</emphasis>>] \
|
|
[<emphasis role="bold">-cell</emphasis> <<emphasis>cellname</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>] [<emphasis
|
|
role="bold">-localauth</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">butc</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Must be typed in full.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the Tape Coordinator'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>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-debuglevel</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the type of trace messages that the Tape Coordinator writes to the standard output stream
|
|
(stdout). Provide one of the following three values, or omit this argument to display the default type of messages
|
|
(equivalent to setting a value of <emphasis role="bold">0</emphasis> [zero]): <itemizedlist>
|
|
<listitem>
|
|
<para><emphasis role="bold">0</emphasis>: The Tape Coordinator generates only the minimum number of messages
|
|
necessary to communicate with the backup operator, including prompts for insertion of additional tapes and
|
|
messages that indicate errors or the beginning or completion of operations.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">1</emphasis>: In addition to the messages displayed at level <emphasis
|
|
role="bold">0</emphasis>, the Tape Coordinator displays the name of each volume being dumped or
|
|
restored.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">2</emphasis>: In addition to the messages displayed at levels <emphasis
|
|
role="bold">0</emphasis> and <emphasis role="bold">1</emphasis>, the Tape Coordinator displays all of the
|
|
messages it is also writing to its log file (<emphasis
|
|
role="bold">/usr/afs/backup/TL_</emphasis>device_name).</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">cellname</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the cell in which to perform the backup operations (the cell where the relevant volumes reside and the
|
|
Backup Server process is running). If you omit this argument, the Tape Coordinator uses its home cell, as defined
|
|
in the local <emphasis role="bold">/usr/vice/etc/ThisCell</emphasis> file. Do not combine this argument with the
|
|
<emphasis role="bold">-localauth</emphasis> flag.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-noautoquery</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Disables the Tape Coordinator's prompt for the first tape it needs for each operation. For a description of
|
|
the advantages and consequences of including this flag, see <link linkend="HDRWQ278">Eliminating the Search or
|
|
Prompt for the Initial Tape</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-localauth</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Constructs a server ticket using a key from the local <emphasis role="bold">/usr/afs/etc/KeyFile</emphasis>
|
|
file. The <emphasis role="bold">butc</emphasis> process presents it to the Backup Server, Volume Server, and VL
|
|
Server during mutual authentication. You must be logged into a file server machine as the local superuser
|
|
<emphasis role="bold">root</emphasis> to include this flag, and cannot combine it with the <emphasis
|
|
role="bold">-cell</emphasis> argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>stopping</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_331">
|
|
<title>To stop a Tape Coordinator process</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Enter an interrupt signal such as <<emphasis role="bold">Ctrl-c</emphasis>> over the dedicated connection to
|
|
the Tape Coordinator.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Tape Coordinator (Backup System)</primary>
|
|
|
|
<secondary>status</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>status</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup status</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ295">
|
|
<title>To check the status of a Tape Coordinator process</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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup status</emphasis> command. <programlisting>
|
|
% <emphasis role="bold">backup status</emphasis> [<<emphasis>TC port offset</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">st</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">status</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the Tape Coordinator'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>
|
|
</orderedlist>
|
|
|
|
<para>The following message indicates that the Tape Coordinator is not currently performing an operation:</para>
|
|
|
|
<programlisting>
|
|
Tape coordinator is idle
|
|
</programlisting>
|
|
|
|
<para>Otherwise, the output includes a message of the following format for each running or pending operation:</para>
|
|
|
|
<programlisting>
|
|
Task task_ID: operation: status
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">task_ID</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is a task identification number assigned by the Tape Coordinator. It begins with the Tape Coordinator's port
|
|
offset number.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">operation</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Identifies the operation the Tape Coordinator is performing, which is initiated by the indicated command:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><computeroutput>Dump</computeroutput> (the <emphasis role="bold">backup dump</emphasis> command)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>Restore</computeroutput> (the <emphasis role="bold">backup diskrestore</emphasis>,
|
|
<emphasis role="bold">backup volrestore</emphasis>, or <emphasis role="bold">backup volsetrestore</emphasis>
|
|
commands)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>Labeltape</computeroutput> (the <emphasis role="bold">backup labeltape</emphasis>
|
|
command)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>Scantape</computeroutput> (the <emphasis role="bold">backup scantape</emphasis>
|
|
command)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>SaveDb</computeroutput> (the <emphasis role="bold">backup savedb</emphasis>
|
|
command)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>RestoreDb</computeroutput> (the <emphasis role="bold">backup restoredb</emphasis>
|
|
command)</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">status</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Indicates the job's current status in one of the following messages. <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">number <computeroutput>Kbytes transferred, volume</computeroutput>
|
|
volume_name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>For a running dump operation, indicates the number of kilobytes copied to tape or a backup data file so
|
|
far, and the volume currently being dumped.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">number <computeroutput>Kbytes, restore.volume</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>For a running restore operation, indicates the number of kilobytes copied into AFS from a tape or a
|
|
backup data file so far.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[abort requested]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The <emphasis role="bold">(backup) kill</emphasis> command was issued, but the termination signal has
|
|
yet to reach the Tape Coordinator.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[abort sent]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The operation is canceled by the <emphasis role="bold">(backup) kill</emphasis> command. Once the Backup
|
|
System removes an operation from the queue or stops it from running, it no longer appears at all in the output
|
|
from the command.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[butc contact lost]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The <emphasis role="bold">backup</emphasis> command interpreter cannot reach the Tape Coordinator. The
|
|
message can mean either that the Tape Coordinator handling the operation was terminated or failed while the
|
|
operation was running, or that the connection to the Tape Coordinator timed out.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[done]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The Tape Coordinator has finished the operation.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[drive wait]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The operation is waiting for the specified tape drive to become free.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>[operator wait]</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The Tape Coordinator is waiting for the backup operator to insert a tape in the drive.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>If the Tape Coordinator is communicating with an XBSA server (a third-party backup utility that implements the Open
|
|
Group's Backup Service API [XBSA]), the following message appears last in the output:</para>
|
|
|
|
<programlisting>
|
|
XBSA_program Tape coordinator
|
|
</programlisting>
|
|
|
|
<para>where XBSA_program is the name of the XBSA-compliant program.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ296">
|
|
<title>Backing Up Data</title>
|
|
|
|
<indexterm>
|
|
<primary>volume</primary>
|
|
|
|
<secondary>backing up using Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>data</secondary>
|
|
|
|
<tertiary>backing up/dumping</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump set (Backup System)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dumps, full and incremental defined</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump set (Backup System)</primary>
|
|
|
|
<secondary>full dumps</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump set (Backup System)</primary>
|
|
|
|
<secondary>incremental dumps</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>full dump</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>incremental dump</primary>
|
|
|
|
<secondary>creating with Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backing up</primary>
|
|
|
|
<secondary>data from AFS volumes</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dumping</primary>
|
|
|
|
<secondary>data</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dumping</primary>
|
|
|
|
<secondary>full dumps</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dumping</primary>
|
|
|
|
<secondary>incremental dumps</secondary>
|
|
</indexterm>
|
|
|
|
<para>This section explains how to use the <emphasis role="bold">backup dump</emphasis> command to back up AFS data to tape or
|
|
to a backup data file. The instructions assume that you understand Backup System concepts and have already configured the Backup
|
|
System according to the instructions in <link linkend="HDRWQ248">Configuring the AFS Backup System</link>. Specifically, you
|
|
must already have: <itemizedlist>
|
|
<listitem>
|
|
<para>Decided whether to dump data to tape or to a backup data file, and configured the Tape Coordinator machine and Tape
|
|
Coordinator process appropriately. See <link linkend="HDRWQ261">Configuring Tape Coordinator Machines and Tape
|
|
Devices</link> and <link linkend="HDRWQ282">Dumping Data to a Backup Data File</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Defined a volume set that includes the volumes you want to dump together. See <link linkend="HDRWQ265">Defining and
|
|
Displaying Volume Sets and Volume Entries</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Defined the dump level in the dump hierarchy at which you want to dump the volume set. If it is an incremental dump
|
|
level, you must have previously created a dump at its parent level. See <link linkend="HDRWQ267">Defining and Displaying
|
|
the Dump Hierarchy</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Created a device configuration file. Such a file is required for each tape stacker, jukebox device, or backup data
|
|
file. You can also use it to configure the Backup System's automation features. See <link linkend="HDRWQ275">Automating
|
|
and Increasing the Efficiency of the Backup Process</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The most basic way to perform a dump operation is to create an initial dump of a single volume set as soon as the
|
|
appropriate Tape Coordinator is available, by providing only the required arguments to the <emphasis role="bold">backup
|
|
dump</emphasis> command. Instructions appear in <link linkend="HDRWQ301">To create a dump</link>. The command has several
|
|
optional arguments that you can use to increase the efficiency and flexibility of your backup procedures: <itemizedlist>
|
|
<listitem>
|
|
<para>To append a dump to the end of a set of tapes that already contains other dumps, include the <emphasis
|
|
role="bold">-append</emphasis> argument. Otherwise, the Backup System creates an initial dump. Appending dumps enables you
|
|
to use a tape's full capacity and has other potentially useful features. For a discussion, see <link
|
|
linkend="HDRWQ299">Appending Dumps to an Existing Dump Set</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To schedule one or more dump operations to run at a future time, include the <emphasis role="bold">-at</emphasis>
|
|
argument. For a discussion and instructions, see <link linkend="HDRWQ300">Scheduling Dumps</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To initiate a number of dump operations with a single <emphasis role="bold">backup dump</emphasis> command, include
|
|
the <emphasis role="bold">-file</emphasis> argument to name a file in which you have listed the commands. For a discussion
|
|
and instructions, see <link linkend="HDRWQ299">Appending Dumps to an Existing Dump Set</link> and <link
|
|
linkend="HDRWQ300">Scheduling Dumps</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To generate a list of the volumes to be included in a dump, without actually dumping them, combine the <emphasis
|
|
role="bold">-n</emphasis> flag with the other arguments to be used on the actual command.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<sect2 id="HDRWQ297">
|
|
<title>Making Backup Operations More Efficient</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>suggestions for improving efficiency</secondary>
|
|
</indexterm>
|
|
|
|
<para>There are several ways to make dump operations more efficient, less prone to error, and less disruptive to your users.
|
|
Several of them also simplify the process of restoring data if that becomes necessary. <itemizedlist>
|
|
<listitem>
|
|
<para>It is best not to dump the read/write or read-only version of a volume, because no other users or processes can
|
|
access a volume while it is being dumped. Instead, shortly before the dump operation begins, create a backup version of
|
|
each volume to be dumped, and dump the backup version. Creating a Backup version usually makes the source volume
|
|
unavailable for just a few moments (during which access attempts by other processes are blocked but do not fail). To
|
|
automate the creation of backup volumes, you can create a <emphasis role="bold">cron</emphasis> process in the <emphasis
|
|
role="bold">/usr/afs/local/BosConfig</emphasis> file on one or more server machines, setting its start time at a
|
|
sufficient interval before the dump operation is to begin. Include the <emphasis role="bold">-localauth</emphasis>
|
|
argument to the <emphasis role="bold">vos backup</emphasis> or <emphasis role="bold">vos backupsys</emphasis> command to
|
|
enable it to run without administrative tokens. For instructions, see <link linkend="HDRWQ162">To create and start a new
|
|
process</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The volume set, dump level, and Tape Coordinator port offset you specify on the <emphasis role="bold">backup
|
|
dump</emphasis> command line must be properly defined in the Backup Database. The Backup System checks the database
|
|
before beginning a dump operation and halts the command immediately if any of the required entities are missing. If
|
|
necessary, use the indicated commands: <itemizedlist>
|
|
<listitem>
|
|
<para>To display volume sets, use the <emphasis role="bold">backup listvolsets</emphasis> command as described in
|
|
<link linkend="HDRWQ266">To display volume sets and volume entries</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To display dump levels, use the <emphasis role="bold">backup listdumps</emphasis> command as described in
|
|
<link linkend="HDRWQ271">To display the dump hierarchy</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To display port offsets, use the <emphasis role="bold">backup listhosts</emphasis> command as described in
|
|
<link linkend="HDRWQ264">To display the list of configured Tape Coordinators</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ensure that a valid token corresponding to a privileged administrative identity is available to the Backup System
|
|
processes both when the <emphasis role="bold">backup dump</emphasis> command is issued and when the dump operation
|
|
actually runs (for a complete description or the necessary privileges, see <link linkend="HDRWQ260">Granting
|
|
Administrative Privilege to Backup Operators</link>). This is a special concern for scheduled dumps. One alternative is
|
|
to run <emphasis role="bold">backup</emphasis> commands (or the script that invokes them) and the <emphasis
|
|
role="bold">butc</emphasis> command on server machines, and to include the <emphasis role="bold">-localauth</emphasis>
|
|
argument on the command. In this case, the processes use the key with the highest key version number in the local
|
|
<emphasis role="bold">/usr/afs/etc/KeyFile</emphasis> file to construct a token that never expires. Otherwise, you must
|
|
use a method to renew tokens before they expire, or grant tokens with long lifetimes. In either case, you must protect
|
|
against improper access to the tokens by securing the machines both physically and against unauthorized network access.
|
|
The protection possibly needs to be even stronger than when a human operator is present during the operations.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Record tape capacity and filemark size values that are as accurate as possible in the Tape Coordinator's <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file and on the tape's label. For suggested values and a description
|
|
of what can happen when they are inaccurate, see <link linkend="HDRWQ258">Configuring the tapeconfig File</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If an unattended dump requires multiple tapes, arrange to provide them by properly configuring a tape stacker or
|
|
jukebox and writing a tape-mounting script to be invoked in the device's <emphasis
|
|
role="bold">CFG_</emphasis>device_name file. For instructions, see <link linkend="HDRWQ277">Invoking a Device's Tape
|
|
Mounting and Unmounting Routines</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can configure any tape device or backup data file's <emphasis role="bold">CFG_</emphasis>device_name file to
|
|
take advantage of the Backup System's automation features. See <link linkend="HDRWQ275">Automating and Increasing the
|
|
Efficiency of the Backup Process</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>When you issue a <emphasis role="bold">backup</emphasis> command in regular (noninteractive) mode, the command
|
|
shell prompt does not return until the operation completes. To avoid having to open additional connections, issue the
|
|
<emphasis role="bold">backup dump</emphasis> command in interactive mode, especially when including the <emphasis
|
|
role="bold">-at</emphasis> argument to schedule dump operations.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>An incremental dump proceeds most smoothly if there is a dump created at the dump level immediately above the
|
|
level you are using. If the Backup System does not find a Backup Database record for a dump created at the immediate
|
|
parent level, it looks for a dump created at one level higher in the hierarchy, continuing up to the full dump level if
|
|
necessary. It creates an incremental dump at the level one below the lowest valid parent dump that it finds, or even
|
|
creates a full dump if that is necessary. This algorithm guarantees that the dump captures all data that has changed
|
|
since the last dump, but has a couple of disadvantages. First, the Backup System's search through the database for a
|
|
valid parent dump takes extra time. Second, the subsequent pattern of dumps can be confusing to a human operator who
|
|
needs to restore data from them, because they were not performed at the expected dump levels.</para>
|
|
|
|
<para>The easiest way to guarantee that a dump exists at the immediate parent level is always to perform dump operations
|
|
on the predetermined schedule. To check that the parent dump exists, you can issue the <emphasis role="bold">backup
|
|
dumpinfo</emphasis> command (as described in <link linkend="HDRWQ303">To display dump records</link>) and search for it
|
|
in the output. Alternatively, issue the <emphasis role="bold">backup volinfo</emphasis> command (as described in <link
|
|
linkend="HDRWQ304">To display a volume's dump history</link>) for a volume that you believe is in the parent
|
|
dump.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Always use dump levels from the same hierarchy (levels that are descendants of the same full level) when dumping a
|
|
given volume set. The result of alternating between levels from different hierarchies can be confusing when you need to
|
|
restore data or read dump records. It also increases the chance that changed data is not captured in any dump, or is
|
|
backed up redundantly into more than one dump.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use permanent tape names rather than AFS tape names. You can make permanent names more descriptive than is allowed
|
|
by an AFS tape name's strict format, and also bypass the name-checking step that the Backup System performs by default
|
|
when a tape has an AFS tape name only. You can also configure the Tape Coordinator always to skip the check, however;
|
|
for instructions and a description of the acceptable format for AFS tape names, see <link linkend="HDRWQ280">Eliminating
|
|
the AFS Tape Name Check</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you write dumps to tape, restore operations are simplest if all of your tape devices are compatible (can read
|
|
the same type of tape, at the same compression ratios, and so on). If you must use incompatible devices, then at least
|
|
use compatible devices for all dumps performed at dump levels that are at the same depth in their respective hierarchies
|
|
(compatible devices for all dumps performed at a full dump level, compatible devices for all dumps performed at a level
|
|
1 incremental dump level, and so on). The <emphasis role="bold">-portoffset</emphasis> argument to the <emphasis
|
|
role="bold">backup diskrestore</emphasis> and <emphasis role="bold">backup volsetrestore</emphasis> commands accepts
|
|
multiple port offset numbers, but uses the first listed port offset when restoring all full dumps, the second port
|
|
offset when restoring all level 1 dumps, and so on. If you did not use compatible tape devices when creating dumps at
|
|
the same depth in a hierarchy, you must restore one volume at a time with the <emphasis role="bold">backup
|
|
volrestore</emphasis> command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>In some cases, it makes sense to use a <emphasis>temporary</emphasis> volume set, which exists only within the
|
|
context of the interactive session in which it is created and for which no record is created in the Backup Database. One
|
|
suitable situation is when dumping a volume to tape in preparation for removing it permanently (perhaps because its
|
|
owner is leaving the cell). In this case, you can define a volume entry that includes only the volume of interest
|
|
without cluttering up the Backup Database with a volume set record that you are using only once.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Do not perform a dump operation when you know that there are network, machine, or server process problems that can
|
|
prevent the Backup System from accessing volumes or the Volume Location Database (VLDB). Although the Backup System
|
|
automatically makes a number of repeated attempts to get to an inaccessible volume, the dump operation takes extra time
|
|
and in some cases stops completely to prompt you for instructions on how to continue. Furthermore, if the Backup
|
|
System's last access attempt fails and the volume is omitted from the dump, you must take extra steps to have it backed
|
|
up (namely, the steps described just following for a halted dump operation). For a more complete description of how the
|
|
Backup System makes repeated access attempts, see <link linkend="HDRWQ298">How Your Configuration Choices Influence the
|
|
Dump Process</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Review the logs created by the Backup System as soon as possible after a dump operation completes, particularly if
|
|
it ran unattended. They name any volumes that were not successfully backed up, among other problems. The Backup Server
|
|
writes to the <emphasis role="bold">/usr/afs/logs/BackupLog</emphasis> file on the local disk of the database server
|
|
machine, and you can use the <emphasis role="bold">bos getlog</emphasis> command to read it remotely if you wish; for
|
|
instructions, see <link linkend="HDRWQ173">Displaying Server Process Log Files</link>. The Tape Coordinator writes to
|
|
two files in the local <emphasis role="bold">/usr/afs/backup</emphasis> directory on the machine where it is running:
|
|
the <emphasis role="bold">TE_</emphasis>device_name file records errors, and the <emphasis
|
|
role="bold">TL_</emphasis>device_name file records both trace and error messages.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Avoid halting a dump operation (for instance, by issuing the <emphasis role="bold">(backup) kill</emphasis>
|
|
command in interactive mode), both because it introduces the potential for confusion and because recovering from the
|
|
interruption requires extra effort. When a dump operation is interrupted, the volumes that were backed up before the
|
|
halt signal is received are complete on the tape or in the backup data file, and are usable in restore operations. The
|
|
records in the Backup Database about the volumes' dump history accurately show when and at which dump level they were
|
|
backed up; to display the records, use the <emphasis role="bold">backup volinfo</emphasis> command as described in <link
|
|
linkend="HDRWQ304">To display a volume's dump history</link>.</para>
|
|
|
|
<para>However, there is no indication in the dump's Backup Database record that volumes were omitted; to display the
|
|
record, use the <emphasis role="bold">backup dumpinfo</emphasis> command as described in <link linkend="HDRWQ303">To
|
|
display dump records</link>. You must choose one of the following methods for dealing with the volumes that were not
|
|
backed up before the dump operation halted. (Actually, you must make the same decision if the dump operation halts for
|
|
reasons outside your control.) <itemizedlist>
|
|
<listitem>
|
|
<para>You can take no action, waiting until the next regularly scheduled dump operation to back them up. At that
|
|
time, the Backup System automatically dumps them at the appropriate level to guarantee that the dump captures all
|
|
of the data that changed since the volume was last dumped. However, you are gambling that restoring the volume is
|
|
not necessary before the next dump operation. If restoration is necessary, you can restore the volume only to its
|
|
state at the time it was last included in a dump--you have lost all changes made to the volume since that
|
|
time.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can discard the entire dump and run the dump operation again. To discard the dump, use the <emphasis
|
|
role="bold">backup labeltape</emphasis> command to relabel the tapes or backup data file, which automatically
|
|
removes all associated records from the Backup Database. For instructions, see <link linkend="HDRWQ272">Writing
|
|
and Reading Tape Labels</link>. If a long time has passed since the backup version of the volumes was created,
|
|
some of the source volumes have possibly changed. If that seems likely, reissue the <emphasis role="bold">vos
|
|
backup</emphasis> or <emphasis role="bold">vos backupsys</emphasis> command on them before redoing the dump
|
|
operation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can create a new volume set that includes the missed volumes and dump it at a full dump level (even if
|
|
you specify an incremental dump level, the Backup System uses the full dump level at the top of your specified
|
|
level's hierarchy, because it has never before backed up these volumes as part of the new volume set). The next
|
|
time you dump the original volume set, the Backup System automatically dumps the missed volumes at the level one
|
|
below the level it used the last time it dumped the volumes as part of the original volume set.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ298">
|
|
<title>How Your Configuration Choices Influence the Dump Process</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump operation, overview</secondary>
|
|
</indexterm>
|
|
|
|
<para>This section provides an overview of the backup process, describing what happens at each stage both by default and as a
|
|
result of your configuration choices, including the configuration instructions you include in the device-specific <emphasis
|
|
role="bold">CFG_</emphasis>device_name file. For the sake of clarity, it tracks the progress of a single <emphasis
|
|
role="bold">backup dump</emphasis> command that creates an initial dump. For a discussion of the slight differences in the
|
|
procedure when you append or schedule dumps, see <link linkend="HDRWQ299">Appending Dumps to an Existing Dump Set</link> or
|
|
<link linkend="HDRWQ300">Scheduling Dumps</link>.</para>
|
|
|
|
<para>As a concrete example, the following description traces a dump of the volume set <emphasis role="bold">user</emphasis>
|
|
at the <emphasis role="bold">/weekly/mon/tues/wed</emphasis> dump level. The <emphasis role="bold">user</emphasis> volume set
|
|
has one volume entry that matches the backup version of all user volumes:</para>
|
|
|
|
<programlisting>
|
|
<emphasis role="bold">.* .* user.*\.backup</emphasis>
|
|
</programlisting>
|
|
|
|
<para>The dump level belongs to the following dump hierarchy.</para>
|
|
|
|
<programlisting>
|
|
/weekly
|
|
/mon
|
|
/tues
|
|
/wed
|
|
/thurs
|
|
/fri
|
|
</programlisting>
|
|
|
|
<orderedlist>
|
|
<listitem id="LIBKOV-BUTC">
|
|
<para>You issue the <emphasis role="bold">butc</emphasis> command to start a Tape Coordinator
|
|
to handle the dump operation. The Tape Coordinator does not have to be running when you issue the <emphasis
|
|
role="bold">backup dump</emphasis> command, but must be active in time to accept the list of volumes to be included in the
|
|
dump, when Step <link linkend="LIBKOV-VOLMATCHES">3</link> is completed. To avoid coordination problems, it is best to
|
|
start the Tape Coordinator before issuing the <emphasis role="bold">backup dump</emphasis> command.</para>
|
|
|
|
<para>As the Tape Coordinator initializes, it reads the entry in its local <emphasis
|
|
role="bold">/usr/afs/backup/tapeconfig</emphasis> file for the port offset you specify on the <emphasis
|
|
role="bold">butc</emphasis> command line. The entry specifies the name of the device to use, and the Tape Coordinator
|
|
verifies that it can access it. It also reads the device's configuration file, <emphasis
|
|
role="bold">/usr/afs/backup/CFG_</emphasis>device_name, if it exists. See Step <link linkend="LIBKOV-READCFG">6</link> for
|
|
a description of how the instructions in the file influence the dump operation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You issue the <emphasis role="bold">backup dump</emphasis> command, specifying a volume set, dump level, and the
|
|
same port offset number you specified on the <emphasis role="bold">butc</emphasis> command in Step <link
|
|
linkend="LIBKOV-BUTC">1</link>. The Backup System verifies that they have correct Backup Database records and halts the
|
|
operation with an error message if they do not.</para>
|
|
|
|
<para>If you issue the command in interactive mode, the Backup System assigns the operation a job ID number, which you can
|
|
use to check the operation's status or halt it by using the <emphasis role="bold">(backup) jobs</emphasis> or <emphasis
|
|
role="bold">(backup) kill</emphasis> command, respectively. For instructions, see <link linkend="HDRWQ289">To display
|
|
pending or running jobs in interactive mode</link> and <link linkend="HDRWQ290">To cancel operations in interactive
|
|
mode</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-VOLMATCHES">
|
|
<para>The Backup System works with the VL Server to generate a list of the volumes in the
|
|
VLDB that match the name and location criteria defined in the volume set's volume entries. If a volume matches more than
|
|
one volume entry, the Backup System ignores the duplicates so that the dump includes only one copy of data from the
|
|
volume.</para>
|
|
|
|
<para>To reduce the number of times you need to switch tapes during a restore operation, the Backup System sorts the
|
|
volumes by server machine and partition, and during the dump operation writes the data from all volumes stored on a
|
|
specific partition before moving to the next partition.</para>
|
|
|
|
<para>As previously mentioned, it is best to back up backup volumes rather than read/write volumes, to avoid blocking
|
|
users' access to data during the dump. To achieve this, you must explicitly include the <emphasis
|
|
role="bold">.backup</emphasis> suffix on the volume names in volume entry definitions. For instructions, and to learn how
|
|
to define volume entries that match multiple volumes, see <link linkend="HDRWQ265">Defining and Displaying Volume Sets and
|
|
Volume Entries</link>.</para>
|
|
|
|
<para>In the example, suppose that 50 volumes match the <emphasis role="bold">user</emphasis> volume set criteria,
|
|
including three called <emphasis role="bold">user.pat.backup</emphasis>, <emphasis
|
|
role="bold">user.terry.backup</emphasis>, and <emphasis role="bold">user.smith.backup</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-CLONEDATE">
|
|
<para>The Backup System next scans the dump hierarchy for the dump level you have
|
|
specified on the <emphasis role="bold">backup dump</emphasis> command line. If it is a full level, then in the current
|
|
operation the Backup System backs up all of the data in all of the volumes in the list obtained in Step <link
|
|
linkend="LIBKOV-VOLMATCHES">3</link>.</para>
|
|
|
|
<para>If the dump level is incremental, the Backup System reads each volume's dump history in the Backup Database to learn
|
|
which of the parent levels in its pathname was used when the volume was most recently backed up as part of this volume
|
|
set. In the usual case, it is the current dump level's immediate parent level.</para>
|
|
|
|
<para>An incremental dump of a volume includes only the data that changed since the volume was included in the parent
|
|
dump. To determine which data are eligible, the Backup System uses the concept of a volume's <emphasis>clone
|
|
date</emphasis>. A read/write volume's clone date is when the Backup System locks the volume before copying its contents
|
|
into a dump. A backup volume's clone date is the completion time of the operation that created it by cloning its
|
|
read/write source volume (the operation initiated by a <emphasis role="bold">vos backup</emphasis> or <emphasis
|
|
role="bold">vos backupsys</emphasis> command). A read-only volume's clone date is the time of the release operation
|
|
(initiated by the <emphasis role="bold">vos release</emphasis> command) that completed most recently before the dump
|
|
operation.</para>
|
|
|
|
<para>More precisely then, an incremental dump includes only data that have a modification timestamp between the clone
|
|
date of the volume included in the parent dump (the <emphasis>parent clone date</emphasis>) and the clone date of the
|
|
volume to be included in the current dump (the <emphasis>current clone date</emphasis>).</para>
|
|
|
|
<para>There are some common exceptions to the general rule that a volume's parent dump is the dump created at the
|
|
immediate parent level: <itemizedlist>
|
|
<listitem>
|
|
<para>The volume did not exist at all at the time of the last dump. In this case, the Backup System automatically
|
|
does a full dump of it.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The volume did not match the volume set's name and location criteria at the time of the last dump. In this
|
|
case, the Backup System automatically does a full dump of it, even if it was backed up recently (fully or
|
|
incrementally) as part of another volume set. This redundancy is an argument for defining volume entries in terms of
|
|
names rather than locations, particularly if you move volumes frequently.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The volume was not included in the dump at the immediate parent level for some reason (perhaps a process,
|
|
machine, or network access prevented the Backup System from accessing it). In this case, the Backup System sets the
|
|
clone date to the time of the last dump operation that included the volume. If the volume was not included in a dump
|
|
performed at any of the levels in the current level's pathname, the Backup System does a full dump of it.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>In the example, the current dump level is <emphasis role="bold">/weekly/mon/tues/wed</emphasis>. The <emphasis
|
|
role="bold">user.pat.backup</emphasis> and <emphasis role="bold">user.terry.backup</emphasis> volumes were included in the
|
|
dump performed yesterday, Tuesday, at the <emphasis role="bold">/weekly/mon/tues</emphasis> level. The Backup System uses
|
|
as their parent clone date 3:00 a.m. on Tuesday, which is when backup versions of them were created just before Tuesday's
|
|
dump operation. However, Tuesday's dump did not include the <emphasis role="bold">user.smith.backup</emphasis> volume for
|
|
some reason. The last time it was included in a dump was Monday, at the <emphasis role="bold">/weekly/mon</emphasis>
|
|
level. The Backup System uses a parent clone date of Monday at 2:47 a.m., which is when a backup version of the volume was
|
|
created just before the dump operation on Monday.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If performing an incremental dump, the Backup System works with the Volume Server to prepare a list of all of the
|
|
files in each volume that have changed (have modification timestamps) between the parent clone date and the current clone
|
|
date. The dump includes the complete contents of every such file. If a file has not changed, the dump includes only a
|
|
placeholder stub for it. The dump also includes a copy of the complete directory structure in the volume, whether or not
|
|
it has changed since the previous dump.</para>
|
|
|
|
<para>If none of the data in the volume has changed since the last dump, the Backup System omits the volume completely. It
|
|
generates the following message in the Tape Coordinator window and log files:</para>
|
|
|
|
<programlisting>
|
|
Volume volume_name (volume_ID) not dumped - has not been modified
|
|
since last dump.
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-READCFG">
|
|
<para>The Tape Coordinator prepares to back up the data. If there is a <emphasis
|
|
role="bold">CFG_</emphasis>device_name file, the Tape Coordinator already read it in Step <link
|
|
linkend="LIBKOV-BUTC">1</link>. The following list describes how the instructions in the file guide the Tape Coordinator's
|
|
behavior at this point: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">FILE</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>If this instruction is set to <emphasis role="bold">YES</emphasis>, the Tape Coordinator writes data to a
|
|
backup data file. The device_name field in the <emphasis role="bold">tapeconfig</emphasis> file must also specify
|
|
a filename for the dump to work properly. For further discussion and instructions on configuring a backup data
|
|
file, see <link linkend="HDRWQ282">Dumping Data to a Backup Data File</link>.</para>
|
|
|
|
<para>If it is set to <emphasis role="bold">NO</emphasis> or does not appear in the file, the Tape Coordinator
|
|
writes to a tape device.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">MOUNT and UNMOUNT</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>If there is a <emphasis role="bold">MOUNT</emphasis> instruction in the file, each time the Tape Coordinator
|
|
needs a new tape, it invokes the indicated script or program to mount a tape in the device's tape drive. There
|
|
must be a <emphasis role="bold">MOUNT</emphasis> instruction if you want to utilize a tape stacker or jukebox's
|
|
ability to switch between tapes automatically. If there is no <emphasis role="bold">MOUNT</emphasis> instruction,
|
|
the Tape Coordinator prompts the human operator whenever it needs a tape.</para>
|
|
|
|
<para>The <emphasis role="bold">AUTOQUERY</emphasis> instruction, which is described just following, modifies the
|
|
Tape Coordinator's tape acquisition procedure for the first tape it needs in a dump operation.</para>
|
|
|
|
<para>If there is an <emphasis role="bold">UNMOUNT</emphasis> instruction, then the Tape Coordinator invokes the
|
|
indicated script or program whenever it closes the tape device. Not all tape devices have a separate tape
|
|
unmounting routine, in which case the <emphasis role="bold">UNMOUNT</emphasis> instruction is not necessary. For
|
|
more details on both instructions, 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>If this instruction is set to <emphasis role="bold">NO</emphasis>, the Tape Coordinator assumes that the
|
|
first tape needed for the dump operation is already in the tape drive. It does not use its usual tape acquisition
|
|
procedure as described in the preceding discussion of the <emphasis role="bold">MOUNT</emphasis> instruction. You
|
|
can achieve the same effect by including the <emphasis role="bold">-noautoquery</emphasis> flag to the <emphasis
|
|
role="bold">butc</emphasis> command.</para>
|
|
|
|
<para>If this instruction is absent or set to <emphasis role="bold">YES</emphasis>, the Tape Coordinator uses its
|
|
usual tape acquisition procedure even for the first tape. For more details, see <link
|
|
linkend="HDRWQ278">Eliminating the Search or Prompt for the Initial Tape</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">BUFFERSIZE</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>If this instruction appears in the file, the Tape Coordinator sets its buffer size to the specified value
|
|
rather than using the default buffer size of 16 KB. For further discussion, see <link linkend="HDRWQ281">Setting
|
|
the Memory Buffer Size to Promote Tape Streaming</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>If there is no <emphasis role="bold">CFG_</emphasis>device_name file, the Tape Coordinator writes data to a tape
|
|
device and prompts the human operator each time it needs a tape (the only exception being the first tape if you include
|
|
the <emphasis role="bold">-noautoquery</emphasis> flag to the <emphasis role="bold">butc</emphasis> command).</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-NAMECHECK">
|
|
<para>The Tape Coordinator opens either a tape drive or backup data file at this point, as
|
|
directed by the instructions in the <emphasis role="bold">CFG_</emphasis>device_name file (described in Step <link
|
|
linkend="LIBKOV-READCFG">6</link>). The instructions also determine whether it invokes a mount script or prompts the
|
|
operator. In Step <link linkend="LIBKOV-BUTC">1</link> the Tape Coordinator read in the device's capacity and filemark
|
|
size from the <emphasis role="bold">tapeconfig</emphasis> file. It now reads the same values from the tape or backup data
|
|
file's magnetic label, and overwrites the <emphasis role="bold">tapeconfig</emphasis> values if there is a
|
|
difference.</para>
|
|
|
|
<para>If creating an initial dump (as in the current example) and there is no permanent name on the label, the Tape
|
|
Coordinator next checks that the AFS tape name has one of the three acceptable formats. If not, it rejects the tape and
|
|
you must use the <emphasis role="bold">backup labeltape</emphasis> command to write an acceptable name. You can bypass
|
|
this name-checking step by including the <emphasis role="bold">NAME_CHECK NO</emphasis> instruction in the <emphasis
|
|
role="bold">CFG_</emphasis>device_name file. For discussion and a list of the acceptable AFS tape name values, see <link
|
|
linkend="HDRWQ280">Eliminating the AFS Tape Name Check</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-EXPDATE">
|
|
<para>For an initial dump, the Tape Coordinator starts writing at the beginning of the tape
|
|
or backup dump file, overwriting any existing data. To prevent inappropriate overwriting, the Backup System first checks
|
|
the Backup Database for any dump records associated with the name (permanent or AFS tape name) on the tape or backup dump
|
|
file's label. It refuses to write to a backup data file that has unexpired dumps in it, or to a tape that belongs to a
|
|
dump set with any unexpired dumps. To recycle a file or tape before all dumps have expired, you must use the <emphasis
|
|
role="bold">backup labeltape</emphasis> command to relabel it. Doing so removes the Backup Database records of all dumps
|
|
in the file or on all tapes in the dump set, which makes it impossible to restore data from any of the tapes. For more
|
|
information on expiration dates, see <link linkend="HDRWQ270">Defining Expiration Dates</link>.</para>
|
|
|
|
<para>The Tape Coordinator also checks for two other types of inappropriate tape reuse. The tape cannot already have data
|
|
on it that belongs to the dump currently being performed, because that implies that the previous tape is still in the
|
|
drive, or you have mistakenly reinserted it. The Tape Coordinator generates the following message and attempts to obtain
|
|
another tape:</para>
|
|
|
|
<programlisting>
|
|
Can't overwrite tape containing the dump in progress
|
|
</programlisting>
|
|
|
|
<para>The tape cannot contain data from a parent dump of the current (incremental) dump, because overwriting a parent dump
|
|
makes it impossible to restore data from the current dump. The Tape Coordinator generates the following message and
|
|
attempts to obtain another tape:</para>
|
|
|
|
<programlisting>
|
|
Can't overwrite the parent dump parent_name (parent_dump_ID)
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKOV-WRITE">
|
|
<para>The Tape Coordinator now writes data to the tape or backup data file. It uses the
|
|
capacity and filemark size it obtained in Step <link linkend="LIBKOV-NAMECHECK">7</link> as it tracks how much more space
|
|
is available, automatically using its tape acquisition procedure if the dump is not finished when it reaches the end of
|
|
the tape. For a more detailed description, and a discussion of what happens if the Tape Coordinator reaches the physical
|
|
end-of-tape unexpectedly, see <link linkend="HDRWQ258">Configuring the tapeconfig File</link>. Similarly, for instructions
|
|
on configuring a backup data file to optimize recovery from unexpectedly running out of space, see Step <link
|
|
linkend="LITAPECONFIG-FILE">6</link> in the instructions in <link linkend="HDRWQ282">Dumping Data to a Backup Data
|
|
File</link>.</para>
|
|
|
|
<para>If the Tape Coordinator cannot access a volume during the dump (perhaps because of a server process, machine, or
|
|
network outage), it skips the volume and continues dumping all volumes that it can access. It generates an error message
|
|
in the Tape Coordinator window and log file about the omitted volume. It generates a similar message if it discovers that
|
|
a backup volume has not been recloned since the previous dump operation (that is, that the volume's current clone date is
|
|
the same as its parent clone date):</para>
|
|
|
|
<programlisting>
|
|
Volume volume_name (volume_ID) not dumped - has not been re-cloned
|
|
since last dump.
|
|
</programlisting>
|
|
|
|
<para>After completing a first pass through all of the volumes, it attempts to dump each omitted volume again. It first
|
|
checks to see if the reason that the volume was inaccessible during the first pass is that it has been moved since the VL
|
|
Server generated the list of volumes to dump in Step <link linkend="LIBKOV-VOLMATCHES">3</link>. If so, it dumps the
|
|
volume from its new site. If the second attempt to access a volume also fails, the Tape Coordinator it generates the
|
|
following message, prompting you for instruction on how to proceed:</para>
|
|
|
|
<programlisting>
|
|
Dump of volume volume_name (volume_ID) failed
|
|
Please select action to be taken for this volume.
|
|
r - retry, try dumping this volume again
|
|
o - omit, this volume from this dump
|
|
a - abort, the entire dump
|
|
</programlisting>
|
|
|
|
<para>To increase the automation of the dump process, you can include the <emphasis role="bold">ASK NO</emphasis>
|
|
instruction in the <emphasis role="bold">CFG_</emphasis>device_name file to suppress this prompt and have the Tape
|
|
Coordinator automatically omit the volume from the dump.</para>
|
|
|
|
<para>If you are tracking the dump as it happens, the prompt enables you to take corrective action. If the volume has not
|
|
been recloned, you can issue the <emphasis role="bold">vos backup</emphasis> command. If the volume is inaccessible, you
|
|
can investigate and attempt to resolve the cause.</para>
|
|
|
|
<indexterm>
|
|
<primary>dump ID numbers (Backup System)</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dumping</primary>
|
|
|
|
<secondary>dump ID numbers</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump ID number</secondary>
|
|
|
|
<tertiary>assigning as part of dump operation</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump records</secondary>
|
|
|
|
<tertiary>creating as part of dump operation</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>creating Backup Database record</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the tape or backup data file does not already have an AFS tape name, the Backup System constructs the appropriate
|
|
one and records it on the label and in the Backup Database. It also assigns a dump name and ID number to the dump and
|
|
records them in dump record that it creates in the Backup Database. For details on tape and dump names, see <link
|
|
linkend="HDRWQ253">Dump Names and Tape Names</link>. For instructions on displaying dump records or a volume's dump
|
|
history, or scanning the contents of a tape, see <link linkend="HDRWQ302">Displaying Backup Dump Records</link>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ299">
|
|
<title>Appending Dumps to an Existing Dump Set</title>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>appended</secondary>
|
|
|
|
<tertiary>creating</tertiary>
|
|
</indexterm>
|
|
|
|
<para>The AFS Backup System enables you to append dumps to the end of the final tape in a dump set by including the <emphasis
|
|
role="bold">-append</emphasis> flag to the <emphasis role="bold">backup dump</emphasis> command. Appending dumps improves
|
|
Backup System automation and efficiency in several ways: <itemizedlist>
|
|
<listitem>
|
|
<para>It maximizes use of a tape's capacity. An initial dump must always start on a new tape, but does not necessarily
|
|
extend to the end of the final tape in the dump set. You can fill up the unused tape by appending one or more
|
|
dumps.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>It can reduce the number of tapes and tape changes needed to complete a dump operation. Rather than performing a
|
|
series of initial dumps first, instead begin with an initial dump and follow it immediately with several appended dumps.
|
|
In this way you can write all dumps in the series to the same tape (assuming the tape is large enough to accommodate
|
|
them all). If, in contrast, you perform all of the initial dumps first, each must begin on a new tape and you must
|
|
switch tapes again if you then want to append dumps.</para>
|
|
|
|
<para>You can either issue the appropriate series of <emphasis role="bold">backup dump</emphasis> commands at the
|
|
interactive <computeroutput>backup></computeroutput> prompt, or record them in a file that you then name with the
|
|
<emphasis role="bold">-file</emphasis> argument to the <emphasis role="bold">backup dump</emphasis> command. Appending
|
|
dumps in this way enables you to run multiple unattended backup operations even without a tape stacker or jukebox, if
|
|
all of the dumps fit on one tape.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>It can reduce the number of tape changes during a restore operation. For example, if you append all of the
|
|
incremental dumps of a volume set to tapes in one dump set, then restoring a volume from the volume set requires a
|
|
minimum number of tape changes. It is best not to append incremental dumps to a tape that contains the parent full dump,
|
|
however: if the tape is lost or damaged, you lose all of the data from the volume.</para>
|
|
|
|
<para>Although it can be efficient to group together appended dumps that are related, the Backup System does not require
|
|
any relationship between the appended dumps on a tape or in a dump set.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>When writing an appended dump, the Backup System performs most of the steps described in <link linkend="HDRWQ298">How
|
|
Your Configuration Choices Influence the Dump Process</link>. Appended dumps do not have to be related to one another or the
|
|
initial dump, so it skips Step <link linkend="LIBKOV-NAMECHECK">7</link>: there is no need to check that the AFS tape name
|
|
reflects the volume set and dump level names in this case. It also skips Step <link linkend="LIBKOV-EXPDATE">8</link>. Because
|
|
it is not overwriting any existing data on the tape, it does not need to check the expiration dates of existing dumps on the
|
|
tape or in the file. Then in Step <link linkend="LIBKOV-WRITE">9</link> the Tape Coordinator scans to the end of the last dump
|
|
on the tape or in the backup data file before it begins writing data.</para>
|
|
|
|
<para>The Backup System imposes the following conditions on appended dumps: <itemizedlist>
|
|
<listitem>
|
|
<para>If writing to tape, the Tape Coordinator checks that it is the final one in a dump set for which there are
|
|
complete and valid tape and dump records in the Backup Database. If not, it rejects the tape and requests an acceptable
|
|
one. If you believe the tape has valid data on it, you can reconstruct the Backup Database dump records for it by using
|
|
the <emphasis role="bold">-dbadd</emphasis> argument to the <emphasis role="bold">backup scantape</emphasis> command as
|
|
instructed in <link linkend="HDRWQ305">To scan the contents of a tape</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The most recent dump on the tape or in the backup data file must have completed successfully.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The dump set to which the tape or file belongs must begin with an initial dump that is recorded in the Backup
|
|
Database. If there are no dumps on the current tape, then the Backup System treats the dump operation as an initial dump
|
|
and imposes the relevant requirements (for example, checks the AFS tape name if appropriate).</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>As you append dumps, keep in mind that all of a dump set's dump and tape records in the Backup Database are indexed to
|
|
the initial dump. If you want to delete an appended dump's record, you must delete the initial dump record, and doing so
|
|
erases the records of all dumps in the dump set. Without those records, you cannot restore any of the data in the dump
|
|
set.</para>
|
|
|
|
<para>Similarly, all of the dumps in a dump set must expire before you can recycle (write a new initial dump to) any of the
|
|
tapes in a dump set. Do not append a dump if its expiration date is later than the date on which you want to recycle any of
|
|
the tapes in its dump set. To recycle a tape before the last expiration date, you must delete the initial dump's record from
|
|
the Backup Database. Either use the <emphasis role="bold">backup labeltape</emphasis> command to relabel the tape as
|
|
instructed in <link linkend="HDRWQ273">To label a tape</link>, or use the <emphasis role="bold">backup deletedump</emphasis>
|
|
command to delete the record directly as instructed in <link linkend="HDRWQ322">To delete dump records from the Backup
|
|
Database</link>.</para>
|
|
|
|
<para>Although in theory you can append as many dumps as you wish, it generally makes sense to limit the number of tapes in a
|
|
dump set (for example, to five), for these reasons: <itemizedlist>
|
|
<listitem>
|
|
<para>If an unreadable spot develops on one of the tapes in a dump set, it can prevent the Tape Coordinator from
|
|
scanning the tape as part of a <emphasis role="bold">backup scantape</emphasis> operation you use to reconstruct Backup
|
|
Database records. The Tape Coordinator can almost always scan the tape successfully up to the point of damage and can
|
|
usually skip past minor damage. A scanning operation can start on any tape in a dump set, so damage on one tape does not
|
|
prevent scanning of the others in the dump set. However, you can scan only the tapes that precede the damaged one in the
|
|
dump set or the ones that follow the damaged one, but not both. (For more information on using tapes to reconstruct the
|
|
information in the Backup Database, see <link linkend="HDRWQ305">To scan the contents of a tape</link>.)</para>
|
|
|
|
<para>An unreadable bad spot can also prevent you from restoring a volume completely, because restore operations must
|
|
begin with the full dump and continue with each incremental dump in order. If you cannot restore a specific dump, you
|
|
cannot restore any data from later incremental dumps.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you decide in the future to archive one or more dumps, then you must archive the entire set of tapes that
|
|
constitute the dump set, rather than just the ones that contain the data of interest. This wastes both tape and archive
|
|
storage space. For more information on archiving, see <link linkend="HDRWQ269">Archiving Tapes</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ300">
|
|
<title>Scheduling Dumps</title>
|
|
|
|
<para>By default, the Backup System starts executing a dump operation as soon as you enter the <emphasis role="bold">backup
|
|
dump</emphasis> command, and the Tape Coordinator begins writing data as soon as it is not busy and the list of files to write
|
|
is available. You can, however, schedule a dump operation to begin at a specific later time: <itemizedlist>
|
|
<listitem>
|
|
<para>To schedule a single dump operation, include the <emphasis role="bold">-at</emphasis> argument to specify its
|
|
start time.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To schedule multiple dump operations, list the operations in a file named by the <emphasis
|
|
role="bold">-file</emphasis> argument and use the <emphasis role="bold">-at</emphasis> argument to specify when the
|
|
<emphasis role="bold">backup</emphasis> command interpreter reads the file. If you omit the <emphasis
|
|
role="bold">-at</emphasis> argument, the command interpreter reads the file immediately, which does not count as
|
|
scheduling, but does allow you to initiate multiple dump operations in a single command. Do not combine the <emphasis
|
|
role="bold">-file</emphasis> argument with the <emphasis role="bold">-volumeset</emphasis>, <emphasis
|
|
role="bold">-dump</emphasis>, <emphasis role="bold">-portoffset</emphasis>, <emphasis role="bold">-append</emphasis>, or
|
|
<emphasis role="bold">-n</emphasis> options.</para>
|
|
|
|
<para>For file-formatting instructions, see the description of the <emphasis role="bold">-file</emphasis> argument in
|
|
Step <link linkend="LIBKDUMP-SYNTAX">7</link> of <link linkend="HDRWQ301">To create a dump</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The Backup System performs initial and appended dumps in the same manner whether they are scheduled or begin running as
|
|
soon as you issue the <emphasis role="bold">backup dump</emphasis> command. The only difference is that the requirements for
|
|
successful execution hold both at the time you issue the command and when the Backup System actually begins running it. All
|
|
required Backup Database entries for volume sets, dump levels, and port offsets, and all dump and tape records must exist at
|
|
both times. Perhaps more importantly, the required administrative tokens must be available at both times. See <link
|
|
linkend="HDRWQ297">Making Backup Operations More Efficient</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ301">
|
|
<title>To create a dump</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> <<emphasis>machine name</emphasis>>
|
|
</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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If using a tape device, insert the tape.</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>Decide which volume set and dump level to use. If necessary, issue the <emphasis role="bold">backup
|
|
listvolsets</emphasis> and <emphasis role="bold">backup listdumps</emphasis> commands to display the existing volume sets
|
|
and dump levels. For complete instructions and a description of the output, see <link linkend="HDRWQ266">To display volume
|
|
sets and volume entries</link> and <link linkend="HDRWQ271">To display the dump hierarchy</link>. <programlisting>
|
|
backup> <emphasis role="bold">listvolsets</emphasis> [<<emphasis>volume set name</emphasis>>]
|
|
backup> <emphasis role="bold">listdumps</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>If you want to use a temporary volume set, you must create it during the current interactive session. This can be
|
|
useful if you are dumping a volume to tape in preparation for removing it permanently (perhaps because its owner is
|
|
leaving the cell). In this case, you can define a volume entry that includes only the volume of interest without
|
|
cluttering up the Backup Database with a volume set record that you are using only once. Complete instructions appear in
|
|
<link linkend="HDRWQ265">Defining and Displaying Volume Sets and Volume Entries</link>.</para>
|
|
|
|
<programlisting>
|
|
backup> <emphasis role="bold">addvolset</emphasis> <<emphasis>volume set name</emphasis>> <emphasis role="bold">-temporary</emphasis>
|
|
backup> <emphasis role="bold">addvolentry -name</emphasis> <<emphasis>volume set name</emphasis>> \
|
|
<emphasis role="bold">-server</emphasis> <<emphasis>machine name</emphasis>> \
|
|
<emphasis role="bold">-partition</emphasis> <<emphasis>partition name</emphasis>> \
|
|
<emphasis role="bold">-volumes</emphasis> <<emphasis>volume name (regular expression)</emphasis>>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are creating an initial dump and writing to a tape or backup data file that does not have a permanent name,
|
|
its AFS tape name must satisfy the Backup System's format requirements as described in <link
|
|
linkend="HDRWQ280">Eliminating the AFS Tape Name Check</link>. If necessary, use the <emphasis role="bold">backup
|
|
readlabel</emphasis> command to display the label and the <emphasis role="bold">backup labeltape</emphasis> command to
|
|
change the names, as instructed in <link linkend="HDRWQ272">Writing and Reading Tape Labels</link>. You must also relabel
|
|
a tape if you want to overwrite it and it is part of a dump set that includes any unexpired dumps, though this is not
|
|
recommended. For a discussion of the appropriate way to recycle tapes, see <link linkend="HDRWQ268">Creating a Tape
|
|
Recycling Schedule</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>dump</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup dump</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem id="LIBKDUMP-SYNTAX">
|
|
<para>Issue the <emphasis role="bold">backup dump</emphasis> command to dump the volume
|
|
set. <itemizedlist>
|
|
<listitem>
|
|
<para>To create one initial dump, provide only the volume set name, dump level name, and port offset (if not
|
|
zero).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To create one appended dump, add the <emphasis role="bold">-append</emphasis> flag.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To schedule a single initial or appended dump, add the <emphasis role="bold">-at</emphasis> argument.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To initiate multiple dump operations, record the appropriate commands in a file and name it with the <emphasis
|
|
role="bold">-file</emphasis> argument. Do not combine this argument with options other than the <emphasis
|
|
role="bold">-at</emphasis> argument.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<programlisting>
|
|
backup> <emphasis role="bold">dump</emphasis> <<emphasis>volume set name</emphasis>> <<emphasis>dump level name</emphasis>> [<<emphasis>TC port offset</emphasis>>] \
|
|
[<emphasis role="bold">-at</emphasis> <<emphasis>Date/time to start dump</emphasis>>+] \
|
|
[<emphasis role="bold">-append</emphasis>] [<emphasis role="bold">-n</emphasis>] [<emphasis role="bold">-file</emphasis> <<emphasis>load file</emphasis>>]
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dump</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Must be typed in full.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume set name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume set to dump.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dump level name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the complete pathname of the dump level at which to dump the volume set.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the port offset number of the Tape Coordinator process that is handling the operation. You must
|
|
provide this argument unless the default value of 0 (zero) is appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-at</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the date and time in the future at which to run the command, or to read the file named by the
|
|
<emphasis role="bold">-file</emphasis> argument. Provide a value in the format mm/dd/yyyy [hh:MM], where the month
|
|
(mm), day (dd), and year (yyyy) are required. Valid values for the year range from <emphasis
|
|
role="bold">1970</emphasis> to <emphasis role="bold">2037</emphasis>; higher values are not valid because the
|
|
latest possible date in the standard UNIX representation is in February 2038. The Backup System automatically
|
|
reduces any later date to the maximum value in 2038.</para>
|
|
|
|
<para>The hour and minutes (hh:MM) are optional, but if provided must be in 24-hour format (for example, the value
|
|
<emphasis role="bold">14:36</emphasis> represents 2:36 p.m.). If you omit them, the time defaults to midnight
|
|
(00:00 hours).</para>
|
|
|
|
<para>As an example, the value <emphasis role="bold">04/23/1999 20:20</emphasis> schedules the command for 8:20
|
|
p.m. on 23 April 1999.</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.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-append</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Creates an appended dump by scanning to the end of the data from one or more previous dump operations that
|
|
it finds on the tape or in the backup data file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-n</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Displays the names of all volumes to be included in the indicated dump, without actually writing data to
|
|
tape or the backup data file. Combine this flag with the arguments you plan to use on the actual command, but not
|
|
with the <emphasis role="bold">-file</emphasis> argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-file</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the local disk or AFS pathname of a file containing <emphasis role="bold">backup</emphasis>
|
|
commands. The Backup System reads the file immediately, or at the time specified by the <emphasis
|
|
role="bold">-at</emphasis> argument if it is provided. A partial pathname is interpreted relative to the current
|
|
working directory.</para>
|
|
|
|
<para>Place each <emphasis role="bold">backup dump</emphasis> command on its own line in the indicated file, using
|
|
the same syntax as for the command line, but without the word <emphasis role="bold">backup</emphasis> at the start
|
|
of the line. Each command must include the volume set name and dump level name arguments plus the TC port offset
|
|
argument if the default value of zero is not appropriate. Commands in the file can also include any of the
|
|
<emphasis role="bold">backup dump</emphasis> command's optional arguments, including the <emphasis
|
|
role="bold">-at</emphasis> argument (which must specify a date and time later than the date and time at which the
|
|
Backup System reads the file).</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 <emphasis role="bold">CFG_</emphasis>device_name 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>
|
|
|
|
<para>If more than one tape is required, you must either include the <emphasis role="bold">MOUNT</emphasis> instruction in
|
|
the <emphasis role="bold">CFG_</emphasis>device_name file and stock the corresponding stacker or jukebox with tapes, or
|
|
remain at the console to respond to the Tape Coordinator's prompts for subsequent tapes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After the dump operation completes, review the Backup System's log files to check for errors. Use the <emphasis
|
|
role="bold">bos getlog</emphasis> command as instructed in <link linkend="HDRWQ173">Displaying Server Process Log
|
|
Files</link> to read the <emphasis role="bold">/usr/afs/logs/BackupLog</emphasis> file, and a text editor on the Tape
|
|
Coordinator machine to read the <emphasis role="bold">TE_</emphasis>device_name and <emphasis
|
|
role="bold">TL_</emphasis>device_name files in the local <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
directory.</para>
|
|
|
|
<para>It is also a good idea to record the tape name and dump ID number on the exterior label of each tape.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ302">
|
|
<title>Displaying Backup Dump Records</title>
|
|
|
|
<para>The <emphasis role="bold">backup</emphasis> command suite includes three commands for displaying information about data
|
|
you have backed up: <itemizedlist>
|
|
<listitem>
|
|
<para>To display information about one or more dump operations, such as the date it was performed and the number of
|
|
volumes included, use the <emphasis role="bold">backup dumpinfo</emphasis> command as described in <link
|
|
linkend="HDRWQ303">To display dump records</link>. You can display a detailed record of a single dump or more condensed
|
|
records for a certain number of dumps, starting with the most recent and going back in time. You can specify the number of
|
|
dumps or accept the default of 10.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To display a volume's dump history, use the <emphasis role="bold">backup volinfo</emphasis> command as described in
|
|
<link linkend="HDRWQ304">To display a volume's dump history</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To display information extracted from a tape or backup data file about the volumes it includes, use the <emphasis
|
|
role="bold">backup scantape</emphasis> command. To create new dump and tape records in the Backup Database derived from
|
|
the tape and dump labels, add the <emphasis role="bold">-dbadd</emphasis> flag. For instructions, see <link
|
|
linkend="HDRWQ305">To scan the contents of a tape</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump records</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>displaying Backup Database record</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump (Backup System)</primary>
|
|
|
|
<secondary>ID number, displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>dumpinfo</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup dumpinfo</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>dump ID numbers, displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dump ID number (Backup System)</primary>
|
|
|
|
<secondary>displaying</secondary>
|
|
</indexterm>
|
|
|
|
<sect2 id="HDRWQ303">
|
|
<title>To display dump records</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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup dumpinfo</emphasis> command to list information about dumps recorded in the
|
|
Backup Database. <programlisting>
|
|
% <emphasis role="bold">backup dumpinfo</emphasis> [<emphasis role="bold">-ndumps</emphasis> <<emphasis>no. of dumps</emphasis>>] [<emphasis
|
|
role="bold">-id</emphasis> <<emphasis>dump id</emphasis>>] [<emphasis role="bold">-verbose</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dump</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">dumpinfo</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-ndumps</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Displays the Backup Database record for each of the specified number of dumps, starting with the most recent
|
|
and going back in time. If the database contains fewer dumps than are requested, the output includes the records
|
|
for all existing dumps. Do not combine this argument with the <emphasis role="bold">-id</emphasis> argument or
|
|
<emphasis role="bold">-verbose</emphasis> flag; omit all three options to display the records for the last 10
|
|
dumps.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-id</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the dump ID number of a single dump for which to display the Backup Database record. You must
|
|
include the <emphasis role="bold">-id</emphasis> switch. Do not combine this option with the <emphasis
|
|
role="bold">-ndumps</emphasis> or <emphasis role="bold">-verbose</emphasis> arguments; omit all three arguments to
|
|
display the records for the last 10 dumps.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-verbose</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Provides more detailed information about the dump specified with the <emphasis role="bold">-id</emphasis>
|
|
argument, which must be provided along with it. Do not combine this flag with the <emphasis
|
|
role="bold">-ndumps</emphasis> option.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>If the <emphasis role="bold">-ndumps</emphasis> argument is provided, the output presents the following information in
|
|
table form, with a separate line for each dump: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>dumpid</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The dump ID number.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>parentid</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The dump ID number of the dump's parent dump. A value of <computeroutput>0</computeroutput> (zero) identifies a
|
|
full dump.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>lv</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The depth in the dump hierarchy of the dump level used to create the dump. A value of
|
|
<computeroutput>0</computeroutput> (zero) identifies a full dump, in which case the value in the
|
|
<computeroutput>parentid</computeroutput> field is also <computeroutput>0</computeroutput>. A value of
|
|
<computeroutput>1</computeroutput> or greater indicates an incremental dump made at the corresponding level in the
|
|
dump hierarchy.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>created</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The date and time at which the Backup System started the dump operation that created the dump.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>nt</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of tapes that contain the data in the dump. A value of <computeroutput>0</computeroutput> (zero)
|
|
indicates that the dump operation was terminated or failed. Use the <emphasis role="bold">backup deletedump</emphasis>
|
|
command to remove such entries.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>nvols</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of volumes from which the dump includes data. If a volume spans tapes, it is counted twice. A value
|
|
of <computeroutput>0</computeroutput> (zero) indicates that the dump operation was terminated or failed; the value in
|
|
the <computeroutput>nt</computeroutput> field is also <computeroutput>0</computeroutput> (zero) in this case.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>dump name</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The dump name in the form <programlisting>
|
|
volume_set_name.dump_level_name (initial_dump_ID)
|
|
</programlisting></para>
|
|
|
|
<para>where volume_set_name is the name of the volume set, and dump_level_name is the last element in the dump level
|
|
pathname at which the volume set was dumped.</para>
|
|
|
|
<para>The initial_dump_ID, if displayed, is the dump ID of the initial dump in the dump set to which this dump
|
|
belongs. If there is no value in parentheses, the dump is the initial dump in a dump set that has no appended
|
|
dumps.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>If the <emphasis role="bold">-id</emphasis> argument is provided alone, the first line of output begins with the string
|
|
<computeroutput>Dump</computeroutput> and reports information for the entire dump in the following fields: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>id</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The dump ID number.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>level</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The depth in the dump hierarchy of the dump level used to create the dump. A value of
|
|
<computeroutput>0</computeroutput> (zero) identifies a full dump. A value of <computeroutput>1</computeroutput> (one)
|
|
or greater indicates an incremental dump made at the specified level in the dump hierarchy.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>volumes</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of volumes for which the dump includes data.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>created</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The date and time at which the dump operation began.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>If an XBSA server was the backup medium for the dump (rather than a tape device or backup data file), the following line
|
|
appears next:</para>
|
|
|
|
<programlisting>
|
|
Backup Service: XBSA_program: Server: hostname
|
|
</programlisting>
|
|
|
|
<para>where XBSA_program is the name of the XBSA-compliant program and hostname is the name of the machine on which the
|
|
program runs.</para>
|
|
|
|
<para>Next the output includes an entry for each tape that houses volume data from the dump. Following the string
|
|
<computeroutput>Tape</computeroutput>, the first two lines of each entry report information about that tape in the following
|
|
fields: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>name</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The tape's permanent name if it has one, or its AFS tape name otherwise, and its tape ID number in
|
|
parentheses.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>nVolumes</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of volumes for which this tape includes dump data.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>created</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The date and time at which the Tape Coordinator began writing data to this tape.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>Following another blank line, the tape-specific information concludes with a table that includes a line for each volume
|
|
dump on the tape. The information appears in columns with the following headings: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Pos</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The relative position of each volume in this tape or file. On a tape, the counter begins at position 2 (the tape
|
|
label occupies position 1), and increments by one for each volume. For volumes in a backup data file, the position
|
|
numbers start with 1 and do not usually increment only by one, because each is the ordinal of the 16 KB offset in the
|
|
file at which the volume's data begins. The difference between the position numbers therefore indicates how many 16 KB
|
|
blocks each volume's data occupies. For example, if the second volume is at position 5 and the third volume in the
|
|
list is at position 9, that means that the dump of the second volume occupies 64 KB (four 16-KB blocks) of space in
|
|
the file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Clone time</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>For a backup or read-only volume, the time at which it was cloned from its read/write source. For a Read/Write
|
|
volume, it is the same as the dump creation date reported on the first line of the output.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Nbytes</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of bytes of data in the dump of the volume.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Volume</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The volume name, complete with <computeroutput>.backup</computeroutput> or
|
|
<computeroutput>.readonly</computeroutput> extension if appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>If both the <emphasis role="bold">-id</emphasis> and <emphasis role="bold">-verbose</emphasis> options are provided, the
|
|
output is divided into several sections: <itemizedlist>
|
|
<listitem>
|
|
<para>The first section, headed by the underlined string <computeroutput>Dump</computeroutput>, includes information
|
|
about the entire dump. The fields labeled <computeroutput>id</computeroutput>, <computeroutput>level</computeroutput>,
|
|
<computeroutput>created</computeroutput>, and <computeroutput>nVolumes</computeroutput> report the same values (though
|
|
in a different order) as appear on the first line of output when the <emphasis role="bold">-id</emphasis> argument is
|
|
provided by itself. Other fields of potential interest to the backup operator are: <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Group id</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The dump's <emphasis>group ID number</emphasis>, which is recorded in the dump's Backup Database record if
|
|
the <emphasis role="bold">GROUPID</emphasis> instruction appears in the Tape Coordinator's <emphasis
|
|
role="bold">/usr/afs/backup/CFG_</emphasis>tcid file when the dump is created.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>maxTapes</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The number of tapes that contain the dump set to which this dump belongs.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold"><computeroutput>Start Tape Seq</computeroutput></emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The ordinal of the tape on which this dump begins in the set of tapes that contain the dump set.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>For each tape that contains data from this dump, there follows a section headed by the underlined string
|
|
<computeroutput>Tape</computeroutput>. The fields labeled <computeroutput>name</computeroutput>,
|
|
<computeroutput>written</computeroutput>, and <computeroutput>nVolumes</computeroutput> report the same values (though
|
|
in a different order) as appear on the second and third lines of output when the <emphasis role="bold">-id</emphasis>
|
|
argument is provided by itself. Other fields of potential interest to the backup operator are: <variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>expires</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The date and time when this tape can be recycled, because all dumps it contains have expired.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>nMBytes Data</computeroutput> and <computeroutput>nBytes Data</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>Summed together, these fields represent the total amount of dumped data actually from volumes (as opposed
|
|
to labels, filemarks, and other markers).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>KBytes Tape Used</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The number of kilobytes of tape (or disk space, for a backup data file) used to store the dump data. It is
|
|
generally larger than the sum of the values in the <computeroutput>nMBytes Data</computeroutput> and
|
|
<computeroutput>nBytes Data</computeroutput> fields, because it includes the space required for the label, file
|
|
marks and other markers, and because the Backup System writes data at 16 KB offsets, even if the data in a given
|
|
block doesn't fill the entire 16 KB.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>For each volume on a given tape, there follows a section headed by the underlined string
|
|
<computeroutput>Volume</computeroutput>. The fields labeled <computeroutput>name</computeroutput>,
|
|
<computeroutput>position</computeroutput>, <computeroutput>clone</computeroutput>, and
|
|
<computeroutput>nBytes</computeroutput> report the same values (though in a different order) as appear in the table that
|
|
lists the volumes in each tape when the <emphasis role="bold">-id</emphasis> argument is provided by itself. Other
|
|
fields of potential interest to the backup operator are: <variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>id</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The volume ID.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>tape</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The name of the tape containing this volume data.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The following example command displays the Backup Database records for the five most recent dump operations.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup dump 5</emphasis>
|
|
dumpid parentid lv created nt nvols dump name
|
|
924424000 0 0 04/18/1999 04:26 1 22 usr.sun (924424000)
|
|
924685000 924424000 1 04/21/1999 04:56 1 62 usr.wed (924424000)
|
|
924773000 924424000 1 04/22/1999 05:23 1 46 usr.thu (924424000)
|
|
924860000 924424000 1 04/23/1999 05:33 1 58 usr.fri (924424000)
|
|
925033000 0 0 04/25/1999 05:36 2 73 sys.week
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume dump history</secondary>
|
|
|
|
<tertiary>displaying</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume</primary>
|
|
|
|
<secondary>Backup System dump history, displaying</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>volinfo</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup volinfo</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ304">
|
|
<title>To display a volume's dump history</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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup volinfo</emphasis> command to display a volume's dump history.
|
|
<programlisting>
|
|
% <emphasis role="bold">backup volinfo</emphasis> <<emphasis>volume name</emphasis>>
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">voli</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">volinfo</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume for which to display the dump history. If you dumped the backup or read-only version of the
|
|
volume, include the <emphasis role="bold">.backup</emphasis> or <emphasis role="bold">.readonly</emphasis>
|
|
extension.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>The output includes a line for each Backup Database dump record that mentions the specified volume, order from most to
|
|
least recent. The output for each record appears in a table with six columns: <variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>dumpID</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The dump ID of the dump that includes the volume.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>lvl</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The depth in the dump hierarchy of the dump level at which the volume was dumped. A value of
|
|
<computeroutput>0</computeroutput> indicates a full dump. A value of <computeroutput>1</computeroutput> or greater
|
|
indicates an incremental dump made at the specified depth in the dump hierarchy.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>parentid</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The dump ID of the dump's parent dump. A value of <computeroutput>0</computeroutput> indicates a full dump,
|
|
which has no parent; in this case, the value in the <computeroutput>lvl</computeroutput> column is also
|
|
<computeroutput>0</computeroutput>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>creation date</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The date and time at which the Backup System started the dump operation that created the dump.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>clone date</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>For a backup or read-only volume, the time at which it was cloned from its read/write source. For a read/write
|
|
volume, the same as the value in the <computeroutput>creation date</computeroutput> field.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>tape name</computeroutput></term>
|
|
|
|
<listitem>
|
|
<para>The name of the tape containing the dump: either the permanent tape name, or an AFS tape name in the format
|
|
<emphasis>volume_set_name</emphasis>.<emphasis>dump_level_name</emphasis>.<emphasis>tape_index</emphasis> where
|
|
<emphasis>volume_set_name</emphasis> is the name of the volume set associated with the initial dump in the dump set of
|
|
which this tape is a part; <emphasis>dump_level_name</emphasis> is the name of the dump level at which the initial
|
|
dump was backed up; <emphasis>tape_index</emphasis> is the ordinal of the tape in the dump set. Either type of name
|
|
can be followed by a dump ID in parentheses; if it appears, it is the dump ID of the initial dump in the dump set to
|
|
which this appended dump belongs.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>The following example shows part of the dump history of the backup volume <emphasis
|
|
role="bold">user.smith.backup</emphasis>:</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup volinfo user.smith.backup</emphasis>
|
|
DumpID lvl parentID creation date clone date tape name
|
|
924600000 1 924427600 04/20/1999 05:20 04/20/1999 05:01 user_incr_2 (924514392)
|
|
924514392 1 924427600 04/19/1999 05:33 04/19/1999 05:08 user_incr_2
|
|
924427600 0 0 04/18/1999 05:26 04/18/1999 04:58 user_full_6
|
|
. . . . . . . .
|
|
. . . . . . . .
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>scanning tapes</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>tape (Backup System)</primary>
|
|
|
|
<secondary>scanning</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump history</secondary>
|
|
|
|
<tertiary>recovering from tapes</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>volume dump history</secondary>
|
|
|
|
<tertiary>recovering from tapes</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>volume dump history</secondary>
|
|
|
|
<tertiary>recovering from tapes</tertiary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ305">
|
|
<title>To scan the contents of a tape</title>
|
|
|
|
<note>
|
|
<para>The ability to scan a tape that is corrupted or damaged depends on the extent of the damage and what type of data is
|
|
corrupted. The Backup System can almost always scan the tape successfully up to the point of damage. If the damage is minor,
|
|
the Backup System can usually skip over it and scan the rest of the tape, but more major damage can prevent further
|
|
scanning. A scanning operation does not have to begin with the first tape in a dump set, but the Backup System can process
|
|
tapes only in sequential order after the initial tape provided. Therefore, damage on one tape does not prevent scanning of
|
|
the others in the dump set, but it is possible to scan either the tapes that precede the damaged one or the ones that follow
|
|
it, not both.</para>
|
|
</note>
|
|
|
|
<para>If you use the <emphasis role="bold">-dbadd</emphasis> flag to scan information into the Backup Database and the first
|
|
tape you provide is not the first tape in the dump set, the following restrictions apply: <itemizedlist>
|
|
<listitem>
|
|
<para>If the first data on the tape is a continuation of a volume that begins on the previous (unscanned) tape in the
|
|
dump set, the Backup System does not add a record for that volume to the Backup Database.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup System must read the marker that indicates the start of an appended dump to add database records for
|
|
the volumes in it. If the first volume on the tape belongs to an appended dump, but is not immediately preceded by the
|
|
appended-dump marker, the Backup System does not create a Backup Database record for it or any subsequent volumes that
|
|
belong to that appended dump.</para>
|
|
</listitem>
|
|
</itemizedlist> <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> <<emphasis>machine name</emphasis>>
|
|
</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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If scanning a tape, place it in the drive.</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>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>scantape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup scantape</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup scantape</emphasis> command to read the contents of the tape.
|
|
<programlisting>
|
|
backup> <emphasis role="bold">scantape</emphasis> [<emphasis role="bold">-dbadd</emphasis>] [<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offset</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">sc</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">scantape</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-dbadd</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Constructs dump and tape records from the tape and dump labels in the dump and writes them into the Backup
|
|
Database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">TC port offset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the port offset number of the Tape Coordinator process that is handling the operation. You must
|
|
provide this argument unless the default value of 0 (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 <emphasis role="bold">CFG_</emphasis>device_name 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>
|
|
|
|
<para>To terminate a tape scanning operation, use a termination signal such as <<emphasis
|
|
role="bold">Ctrl-c</emphasis>>, or issue the <emphasis role="bold">(backup) kill</emphasis> command in interactive mode. It
|
|
is best not to interrupt the scan if you included the <emphasis role="bold">-dbadd</emphasis> argument. If the Backup System
|
|
has already written new records into the Backup Database, then you must remove them before rerunning the scanning operation.
|
|
If during the repeated scan operation the Backup System finds that a record it needs to create already exists, it halts the
|
|
operation.</para>
|
|
|
|
<para>For each dump on the tape, the output in the Tape Coordinator window displays the dump label followed by an entry for
|
|
each volume. There is no output in the command window. The dump label has the same fields as the tape label displayed by the
|
|
<emphasis role="bold">backup readlabel</emphasis> command, as described in <link linkend="HDRWQ272">Writing and Reading Tape
|
|
Labels</link>. Or see the <emphasis>OpenAFS Administration Reference</emphasis> for a detailed description of the fields in
|
|
the output.</para>
|
|
|
|
<para>The following example shows the dump label and first volume entry on the tape in the device that has port offset
|
|
2:</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">backup scantape 2</emphasis>
|
|
-- Dump 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 dump label --
|
|
-- volume --
|
|
volume name: user.guest10.backup
|
|
volume ID 1937573829
|
|
dumpSetName: guests.monthly
|
|
dumpID 917860000
|
|
level 0
|
|
parentID 0
|
|
endTime 0
|
|
clonedate Mon Feb 1 03:03:23 1999
|
|
</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ306">
|
|
<title>Restoring and Recovering Data</title>
|
|
|
|
<indexterm>
|
|
<primary>volume</primary>
|
|
|
|
<secondary>restoring</secondary>
|
|
|
|
<tertiary>using Backup System</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>partition</primary>
|
|
|
|
<secondary>restoring contents using Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine</primary>
|
|
|
|
<secondary>restoring partitions using Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>restoring</secondary>
|
|
|
|
<tertiary>data</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>data</secondary>
|
|
|
|
<tertiary>restoring</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>data</secondary>
|
|
|
|
<tertiary>recovering</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>restores</secondary>
|
|
|
|
<tertiary>full</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>restores</secondary>
|
|
|
|
<tertiary>date-specific</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>full restores</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>date-specific restores</primary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>restoring</primary>
|
|
|
|
<secondary>data using Backup System</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>restoring</secondary>
|
|
|
|
<tertiary>backed up data</tertiary>
|
|
</indexterm>
|
|
|
|
<para>The purpose of making backups is to enable you to recover when data becomes corrupted or is removed accidentally,
|
|
returning the data to a coherent past state. The AFS Backup System provides three commands that restore varying numbers of
|
|
volumes: <itemizedlist>
|
|
<listitem>
|
|
<para>To restore one or more volumes to a single site (partition on an AFS file server machine), use the <emphasis
|
|
role="bold">backup volrestore</emphasis> command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To restore one or more volumes that are defined as a volume set, each to a specified site, use the <emphasis
|
|
role="bold">backup volsetrestore</emphasis> command.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To restore an entire partition (that is, all of the volumes that the VLDB lists as resident on it), use the
|
|
<emphasis role="bold">backup diskrestore</emphasis> command.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The commands are suited to different purposes because they vary in the combinations of features they offer and in the
|
|
requirements they impose. To decide which is appropriate for a specific restore operation, see the subsequent sections of this
|
|
introduction: <link linkend="HDRWQ308">Using the backup volrestore Command</link>, <link linkend="HDRWQ310">Using the backup
|
|
diskrestore Command</link>, and <link linkend="HDRWQ312">Using the backup volsetrestore Command</link>.</para>
|
|
|
|
<sect2 id="HDRWQ307">
|
|
<title>Making Restore Operations More Efficient</title>
|
|
|
|
<para>The following comments apply to all types of restore operation: <itemizedlist>
|
|
<listitem>
|
|
<para>The Backup System begins by restoring the most recent full dump of a volume. As it restores subsequent incremental
|
|
dumps, it alters the data in the full dump appropriately, essentially repeating the volume's change history. The
|
|
<emphasis role="bold">backup diskrestore</emphasis> and <emphasis role="bold">backup volsetrestore</emphasis> commands
|
|
always restore all incremental dumps, bringing a volume to its state at the time of the most recent incremental dump.
|
|
You can use the <emphasis role="bold">backup volrestore</emphasis> command to return a volume to its state at a
|
|
specified time in the past, by not restoring the data from incremental dumps performed after that time.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The Backup System sets a restored volume's creation date to the date and time of the restore operation. The
|
|
creation date appears in the <computeroutput>Creation</computeroutput> field of the output from the <emphasis
|
|
role="bold">vos examine</emphasis> and <emphasis role="bold">vos listvol</emphasis> commands.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>When identifying the volumes to restore, it is best to specify the base (read/write) name. In this case, the
|
|
Backup System searches the Backup Database for the most recent dump set that includes data from either the read/write or
|
|
backup version of the volume, and restores dumps of that volume starting with the most recent full dump. If you include
|
|
the <emphasis role="bold">.backup</emphasis> or <emphasis role="bold">.readonly</emphasis> extension on the volume name,
|
|
the Backup System restores dumps of that version only. If it cannot find data dumped from that version, it does not
|
|
perform the restoration even if another version was dumped.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>All three restoration commands accept the <emphasis role="bold">-n</emphasis> option, which generates a list of
|
|
the volumes to be restored and the tapes or backup data files that contain the necessary dumps, without actually
|
|
restoring data to AFS server partitions. This enables you to gather together the tapes before beginning the restore
|
|
operation, even preloading them into a stacker or jukebox if you are using one.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you back up AFS data to tape, restoration is simplest if all of your tape devices are compatible, meaning that
|
|
they can read the same type of tape, at the same compression ratios, and so on. (This suggestion also appears in <link
|
|
linkend="HDRWQ297">Making Backup Operations More Efficient</link>, because by the time you need to restore data it is
|
|
too late to implement it.) You can still restore multiple volumes with a single command even if data was backed up using
|
|
incompatible devices, because the <emphasis role="bold">-portoffset</emphasis> argument to all three restoration
|
|
commands accepts multiple values. However, the Backup System uses the first port offset listed when restoring the full
|
|
dump of each volume, the next port offset when restoring the level 1 incremental dump of each volume, and so on. If you
|
|
did not use a compatible tape device when creating the full dump of every volume (and at each incremental level too),
|
|
you cannot restore multiple volumes with a single command. You must use the <emphasis role="bold">backup
|
|
volrestore</emphasis> command to restore one volume at a time, or use the <emphasis role="bold">backup
|
|
volsetrestore</emphasis> command after defining volume sets that group volumes according to the tape device used to dump
|
|
them.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>During a restore operation, the Backup System uses instructions in the relevant <emphasis
|
|
role="bold">CFG_</emphasis>device_name configuration file in much the same way as during a dump operation, as described
|
|
in <link linkend="HDRWQ298">How Your Configuration Choices Influence the Dump Process</link>. It uses the <emphasis
|
|
role="bold">MOUNT</emphasis>, <emphasis role="bold">UNMOUNT</emphasis>, <emphasis role="bold">AUTOQUERY</emphasis>,
|
|
<emphasis role="bold">BUFFERSIZE</emphasis>, and <emphasis role="bold">FILE</emphasis> instructions just as for a dump
|
|
operation. A difference for the <emphasis role="bold">BUFFERSIZE</emphasis> instruction is that the default buffer size
|
|
overridden by the instruction is 32 KB for restore operations rather than the 16 KB used for dump operations. The Backup
|
|
System does not use the <emphasis role="bold">NAME_CHECK</emphasis> instruction at all during restore operations. The
|
|
<emphasis role="bold">ASK</emphasis> instruction controls whether the Backup System prompts you if it cannot restore a
|
|
volume for any reason. If the setting is <emphasis role="bold">NO</emphasis>, it skips the problematic volume and
|
|
restores as many of the other volumes as possible.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Do not perform a restore operation when you know that there are network, machine, or server process problems that
|
|
can prevent the Backup System from accessing volumes or the VLDB. Although the Backup System automatically makes a
|
|
number of repeated attempts to restore a volume, the restore operation takes extra time and in some cases stops
|
|
completely to prompt you for instructions on how to continue.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Avoid halting a restore operation (for instance by issuing the <emphasis role="bold">(backup) kill</emphasis>
|
|
command in interactive mode). If a restore operation is interrupted for any reason, including causes outside your
|
|
control, reissue the same restoration command as soon as is practical; if an outage or other problem caused the
|
|
operation to halt, do not continue until the system returns to normal.</para>
|
|
|
|
<para>Any volume that is completely restored when the operation halts is online and usable, but very few volumes are
|
|
likely to be in this state. When restoring multiple volumes at once, the Backup System restores the full dump of every
|
|
volume before beginning the level 1 incremental restore for any of them, and so on, completing the restore of every
|
|
volume at a specific incremental level before beginning to restore data from the next incremental level. Unless a volume
|
|
was dumped at fewer incremental levels than others being restored as part of the same operation, it is unlikely to be
|
|
complete.</para>
|
|
|
|
<para>It is even more dangerous to interrupt a restore operation if you are overwriting the current contents of the
|
|
volume. Depending on how far the restore operation has progressed, it is possible that the volume is in such an
|
|
inconsistent state that the Backup System removes it entirely. The data being restored is still available on tape or in
|
|
the backup data file, but you must take extra steps to re-create the volume.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ308">
|
|
<title>Using the backup volrestore Command</title>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>restoring</secondary>
|
|
|
|
<tertiary>backup data</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>restoring</primary>
|
|
|
|
<secondary>existing data</secondary>
|
|
|
|
<tertiary>overwriting</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume</primary>
|
|
|
|
<secondary>overwriting contents during Backup System restore</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>restoring</primary>
|
|
|
|
<secondary>existing data</secondary>
|
|
|
|
<tertiary>preserving</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>volume</primary>
|
|
|
|
<secondary>preserving contents during Backup System restore</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>restoring</primary>
|
|
|
|
<secondary>data</secondary>
|
|
|
|
<tertiary>that no longer exists</tertiary>
|
|
</indexterm>
|
|
|
|
<para>The <emphasis role="bold">backup volrestore</emphasis> command is most appropriate when you need to restore a few
|
|
volumes to a single site (partition on a file server machine). By default, it restores the volumes to their state at the time
|
|
of the most recent dump operation (this is termed a <emphasis>full restore</emphasis>). You can also use the command to
|
|
perform a <emphasis>date-specific restore</emphasis>, which restores only the dumps (full and incremental) performed before a
|
|
specified date and time, leaving the volume in the state it was in at the time of the final relevant incremental dump. The
|
|
<emphasis role="bold">backup diskrestore</emphasis> and <emphasis role="bold">backup volsetrestore</emphasis> commands can
|
|
only perform full restores.</para>
|
|
|
|
<para>You can restore data into a new copy of each volume rather than overwriting the current version, by including the
|
|
<emphasis role="bold">-extension</emphasis> argument. After mounting the new volume in the filespace, you can compare the
|
|
contents of the two and decide which to keep permanently.</para>
|
|
|
|
<para>The following list summarizes how to combine the <emphasis role="bold">backup volrestore</emphasis> command's arguments
|
|
to restore a volume in different ways: <itemizedlist>
|
|
<listitem>
|
|
<para>To perform a date-specific restore as described just previously, use the <emphasis role="bold">-date</emphasis>
|
|
argument to specify the date and optionally time. The Backup System restores the most recent full dump and each
|
|
subsequent incremental dump for which the clone date of the volume included in the dump is before the indicated date and
|
|
time (for a definition of the clone date, see Step <link linkend="LIBKOV-CLONEDATE">4</link> in <link
|
|
linkend="HDRWQ298">How Your Configuration Choices Influence the Dump Process</link>). You can combine this argument with
|
|
the <emphasis role="bold">-extension</emphasis> argument to place the date-specific restore in a new volume.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To move a volume to a new site as you overwrite its contents with the restored data, use the <emphasis
|
|
role="bold">-server</emphasis> and <emphasis role="bold">-partition</emphasis> arguments, singly or in combination, to
|
|
specify the new site rather than the current site. The Backup System creates a new volume at that site, removes the
|
|
existing volume, and updates the site information in the volume's VLDB entry. The volume's backup version is not removed
|
|
automatically from the original site, if it exists. Use the <emphasis role="bold">vos remove</emphasis> command to
|
|
remove it and the <emphasis role="bold">vos backup</emphasis> command to create a backup version at the new site.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To create a new volume to house the restored data, rather than overwriting an existing volume, use the <emphasis
|
|
role="bold">-extension</emphasis> argument. The Backup System creates the new volume on the server and partition named
|
|
by the <emphasis role="bold">-server</emphasis> and <emphasis role="bold">-partition</emphasis> arguments, derives its
|
|
name by adding the extension to the name specified with the <emphasis role="bold">-volume</emphasis> argument, and
|
|
creates a new VLDB entry for it. The command does not affect the existing volume in any way. However, if a volume with
|
|
the specified extension also already exists, the command overwrites it. To make the contents of the new volume
|
|
accessible, use the <emphasis role="bold">fs mkmount</emphasis> command to mount it. You can then compare its contents
|
|
to those of the existing volume, to see which to retain permanently.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To restore a volume that no longer exists on an AFS server partition, but for which you have backed up data,
|
|
specify the name of the new volume with the <emphasis role="bold">-volume</emphasis> argument and use the <emphasis
|
|
role="bold">-server</emphasis> and <emphasis role="bold">-partition</emphasis> arguments to place it at the desired
|
|
site. The Backup System creates a new volume and new VLDB entry.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>volrestore</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup volrestore</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ309">
|
|
<title>To restore volumes with the backup volrestore command</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> <<emphasis>machine name</emphasis>>
|
|
</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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>Repeat the command for each Tape Coordinator if you are using more than one tape device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If using a tape device, insert the tape.</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>Issue the <emphasis role="bold">backup volrestore</emphasis> command with the desired arguments. <programlisting>
|
|
backup> <emphasis role="bold">volrestore</emphasis> <<emphasis>destination machine</emphasis>> <<emphasis>destination partition</emphasis>> \
|
|
<emphasis role="bold">-volume</emphasis> <<emphasis>volume(s) to restore</emphasis>>+ \
|
|
[<emphasis role="bold">-extension</emphasis> <<emphasis>new volume name extension</emphasis>>] \
|
|
[<emphasis role="bold">-date</emphasis> <<emphasis>date from which to restore</emphasis>>] \
|
|
[<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offsets</emphasis>>+] [<emphasis
|
|
role="bold">-n</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volr</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">volrestore</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">destination machine</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the file server machine on which to restore each volume. It does not have to be a volume's current
|
|
site.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">destination partition</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the partition on which to restore each volume. It does not have to be a volume's current site.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-volume</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names each volume to restore. It is best to provide the base (read/write) name, for the reasons discussed in
|
|
<link linkend="HDRWQ307">Making Restore Operations More Efficient</link>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-extension</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Creates a new volume to house the restored data, with a name derived by appending the specified string to
|
|
each volume named by the <emphasis role="bold">-volume</emphasis> extension. The Backup System preserves the
|
|
contents of the existing volume if it still exists. Do not use either of the <emphasis
|
|
role="bold">.readonly</emphasis> or <emphasis role="bold">.backup</emphasis> extensions, which are reserved. The
|
|
combination of base volume name and extension cannot exceed 22 characters in length. If you want a period to
|
|
separate the extension from the name, specify it as the first character of the string (as in <emphasis
|
|
role="bold">.rst</emphasis>, for example).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-date</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies a date and optionally time; the restored volume includes data from dumps performed before the date
|
|
only. Provide a value in the format mm/dd/yyyy [hh:MM], where the required mm/dd/yyyy portion indicates the month
|
|
(mm), day (dd), and year (yyyy), and the optional hh:MM portion indicates the hour and minutes in 24-hour format
|
|
(for example, the value <emphasis role="bold">14:36</emphasis> represents 2:36 p.m.). If omitted, the time
|
|
defaults to 59 seconds after midnight (00:00:59 hours).</para>
|
|
|
|
<para>Valid values for the year range from <emphasis role="bold">1970</emphasis> to <emphasis
|
|
role="bold">2037</emphasis>; higher values are not valid because the latest possible date in the standard UNIX
|
|
representation is in February 2038. The command interpreter automatically reduces any later date to the maximum
|
|
value.</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.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-portoffset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies one or more port offset numbers, each corresponding to a Tape Coordinator to use in the operation.
|
|
If there is more than one value, the Backup System uses the first one when restoring the full dump of each volume,
|
|
the second one when restoring the level 1 incremental dump of each volume, and so on. It uses the final value in
|
|
the list when restoring dumps at the corresponding depth in the dump hierarchy and all dumps at lower
|
|
levels.</para>
|
|
|
|
<para>Provide this argument unless the default value of 0 (zero) is appropriate for all dumps. If 0 is just one of
|
|
the values in the list, provide it explicitly in the appropriate order.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-n</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Displays the list of tapes that contain the dumps required by the restore operation, without actually
|
|
performing the operation.</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 <emphasis role="bold">CFG_</emphasis>device_name 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>
|
|
|
|
<para>If more than one tape is required, you must either include the <emphasis role="bold">MOUNT</emphasis> instruction in
|
|
the <emphasis role="bold">CFG_</emphasis>device_name file and stock the corresponding stacker or jukebox with tapes, or
|
|
remain at the console to respond to the Tape Coordinator's prompts for subsequent tapes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After the restore operation completes, review the Backup System's log files to check for errors. Use the <emphasis
|
|
role="bold">bos getlog</emphasis> command as instructed in <link linkend="HDRWQ173">Displaying Server Process Log
|
|
Files</link> to read the <emphasis role="bold">/usr/afs/logs/BackupLog</emphasis> file, and a text editor on the Tape
|
|
Coordinator machine to read the <emphasis role="bold">TE_</emphasis>device_name and <emphasis
|
|
role="bold">TL_</emphasis>device_name files in the local <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
directory.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ310">
|
|
<title>Using the backup diskrestore Command</title>
|
|
|
|
<indexterm>
|
|
<primary>partition</primary>
|
|
|
|
<secondary>restoring using Backup System</secondary>
|
|
|
|
<tertiary>to the same location</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>partition</primary>
|
|
|
|
<secondary>restoring using Backup System</secondary>
|
|
|
|
<tertiary>to a new location</tertiary>
|
|
</indexterm>
|
|
|
|
<para>The <emphasis role="bold">backup diskrestore</emphasis> command is most appropriate when you need to restore all of the
|
|
volumes on an AFS server partition, perhaps because a hardware failure has corrupted or destroyed all of the data. The command
|
|
performs a full restore of all of the read/write volumes for which the VLDB lists the specified partition as the current site,
|
|
using the dumps of either the read/write or backup version of each volume depending on which type was dumped more recently.
|
|
(You can restore any backup or read-only volumes that resided on the partition by using the <emphasis role="bold">vos
|
|
backup</emphasis> and <emphasis role="bold">vos release</emphasis> commands after the <emphasis role="bold">backup
|
|
diskrestore</emphasis> operation is complete.)</para>
|
|
|
|
<para>By default, the Backup System restores the volumes to the site they previously occupied. To move the partition contents
|
|
to a different site, use the <emphasis role="bold">-newserver</emphasis> and <emphasis role="bold">-newpartition</emphasis>
|
|
arguments, singly or in combination.</para>
|
|
|
|
<para>By default, the Backup System overwrites the contents of existing volumes with the restored data. To create a new volume
|
|
to house the restored data instead, use the <emphasis role="bold">-extension</emphasis> argument. The Backup System creates
|
|
the new volume at the site designated by the <emphasis role="bold">-newserver</emphasis> and <emphasis
|
|
role="bold">-newpartition</emphasis> arguments if they are used or the <emphasis role="bold">-server</emphasis> and <emphasis
|
|
role="bold">-partition</emphasis> arguments otherwise. It derives the volume name by adding the extension to the read/write
|
|
base name listed in the VLDB, and creates a new VLDB entry. The command does not affect the existing volume in any way.
|
|
However, if a volume with the specified extension also already exists, the command overwrites it.</para>
|
|
|
|
<para>If a partition seems damaged, be sure not to run the <emphasis role="bold">vos syncserv</emphasis> command before the
|
|
<emphasis role="bold">backup diskrestore</emphasis> command. As noted, the Backup System restores volumes according to VLDB
|
|
site definitions. The <emphasis role="bold">vos syncserv</emphasis> command sometimes removes a volume's VLDB entry when the
|
|
corruption on the partition is so severe that the Volume Server cannot confirm the volume's presence.</para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>diskrestore</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup diskrestore</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ311">
|
|
<title>To restore a partition with the backup diskrestore command</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> <<emphasis>machine name</emphasis>>
|
|
</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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>Repeat the command for each Tape Coordinator if you are using more than one tape device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If using a tape device, insert the tape.</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>Issue the <emphasis role="bold">backup diskrestore</emphasis> command with the desired arguments. <programlisting>
|
|
backup> <emphasis role="bold">diskrestore</emphasis> <<emphasis>machine to restore</emphasis>> <<emphasis>partition to restore</emphasis>> \
|
|
[<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offset</emphasis>>+] \
|
|
[<emphasis role="bold">-newserver</emphasis> <<emphasis>destination machine</emphasis>>] \
|
|
[<emphasis role="bold">-newpartition</emphasis> <<emphasis>destination partition</emphasis>>] \
|
|
[<emphasis role="bold">-extension</emphasis> <<emphasis>new volume name extension</emphasis>>] [<emphasis
|
|
role="bold">-n</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">di</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">diskrestore</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">machine to restore</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the file server machine that the VLDB lists as the site of the volumes that need to be
|
|
restored.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">partition to restore</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the partition that the VLDB lists as the site of the volumes that need to be restored.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-portoffset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies one or more port offset numbers, each corresponding to a Tape Coordinator to use in the operation.
|
|
If there is more than one value, the Backup System uses the first one when restoring the full dump of each volume,
|
|
the second one when restoring the level 1 incremental dump of each volume, and so on. It uses the final value in
|
|
the list when restoring dumps at the corresponding depth in the dump hierarchy and all dumps at lower
|
|
levels.</para>
|
|
|
|
<para>Provide this argument unless the default value of 0 (zero) is appropriate for all dumps. If 0 is just one of
|
|
the values in the list, provide it explicitly in the appropriate order.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-newserver</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names an alternate file server machine to which to restore the volumes. If you omit this argument, the
|
|
volumes are restored to the file server machine named by the <emphasis role="bold">-server</emphasis>
|
|
argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-newpartition</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names an alternate partition to which to restore the data. If you omit this argument, the volumes are
|
|
restored to the partition named by the <emphasis role="bold">-partition</emphasis> argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-extension</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Creates a new volume for each volume being restored, to house the restored data, appending the specified
|
|
string to the volume's read/write base name as listed in the VLDB. Any string other than <emphasis
|
|
role="bold">.readonly</emphasis> or <emphasis role="bold">.backup</emphasis> is acceptable, but the combination of
|
|
the base name and extension cannot exceed 22 characters in length. To use a period to separate the extension from
|
|
the name, specify it as the first character of the string (as in <emphasis role="bold">.rst</emphasis>, for
|
|
example).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-n</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Displays a list of the tapes necessary to perform the requested restore, without actually performing the
|
|
operation.</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 <emphasis role="bold">CFG_</emphasis>device_name 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>
|
|
|
|
<para>If more than one tape is required, you must either include the <emphasis role="bold">MOUNT</emphasis> instruction in
|
|
the <emphasis role="bold">CFG_</emphasis>device_name file and stock the corresponding stacker or jukebox with tapes, or
|
|
remain at the console to respond to the Tape Coordinator's prompts for subsequent tapes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After the restore operation completes, review the Backup System's log files to check for errors. Use the <emphasis
|
|
role="bold">bos getlog</emphasis> command as instructed in <link linkend="HDRWQ173">Displaying Server Process Log
|
|
Files</link> to read the <emphasis role="bold">/usr/afs/logs/BackupLog</emphasis> file, and a text editor on the Tape
|
|
Coordinator machine to read the <emphasis role="bold">TE_</emphasis>device_name and <emphasis
|
|
role="bold">TL_</emphasis>device_name files in the local <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
directory.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ312">
|
|
<title>Using the backup volsetrestore Command</title>
|
|
|
|
<para>The <emphasis role="bold">backup volsetrestore</emphasis> command is most appropriate when you need to perform a full
|
|
restore of several read/write volumes, placing each at a specified site. You specify the volumes to restore either by naming a
|
|
volume set with the <emphasis role="bold">-name</emphasis> argument or by listing each volume's name and restoration site in a
|
|
file named by the <emphasis role="bold">-file</emphasis> argument, as described in the following sections.</para>
|
|
|
|
<para>Because the <emphasis role="bold">backup volsetrestore</emphasis> command enables you to restore a large number of
|
|
volumes with a single command, the restore operation can potentially take hours to complete. One way to reduce the time is to
|
|
run multiple instances of the command simultaneously. Either use the <emphasis role="bold">-name</emphasis> argument to
|
|
specify disjoint volume sets for each command, or the <emphasis role="bold">-file</emphasis> argument to name files that list
|
|
different volumes. You must have several Tape Coordinators available to read the required tapes. Depending on how the volumes
|
|
to be restored were dumped to tape, specifying disjoint volume sets can also reduce the number of tape changes
|
|
required.</para>
|
|
|
|
<sect3 id="HDRWQ313">
|
|
<title>Restoring a Volume Set with the -name Argument</title>
|
|
|
|
<para>Use the <emphasis role="bold">-name</emphasis> argument to restore a group of volumes defined in a volume set. The
|
|
Backup System creates a list of the volumes in the VLDB that match the server, partition, and volume name criteria defined
|
|
in the volume set's volume entries, and for which dumps are available. The volumes do not have to exist on the server
|
|
partition as long as the VLDB still lists them (this can happen when, for instance, a hardware problem destroys the contents
|
|
of an entire disk).</para>
|
|
|
|
<para>By default, the Backup System restores, as a read/write volume, each volume that matches the volume set criteria to
|
|
the site listed in the VLDB. If a volume of the matching name exists at that site, its current contents are overwritten. You
|
|
can instead create a new volume to house the restored data by including the <emphasis role="bold">-extension</emphasis>
|
|
argument. The Backup System creates the new volume at the existing volume's site, derives its name by adding the extension
|
|
to the existing volume's read/write base name, and creates a new VLDB entry for it. The command does not affect the existing
|
|
volume in any way. However, if a volume with the specified extension also already exists, the command overwrites it. To make
|
|
the contents of the new volume accessible, use the <emphasis role="bold">fs mkmount</emphasis> command to mount it. You can
|
|
then compare its contents to those of the existing volume, to see which to retain permanently.</para>
|
|
|
|
<para>It is not required that the volume set was previously used to back up volumes (was used as the <emphasis
|
|
role="bold">-volumeset</emphasis> option to the <emphasis role="bold">backup dump</emphasis> command). It can be defined
|
|
especially to match the volumes that need to be restored with this command, and that is usually the better choice. Indeed, a
|
|
<emphasis>temporary</emphasis> volume set, created by including the <emphasis role="bold">-temporary</emphasis> flag to the
|
|
<emphasis role="bold">backup addvolset</emphasis> command, can be especially useful in this context (instructions appear in
|
|
<link linkend="HDRWQ265">Defining and Displaying Volume Sets and Volume Entries</link>). A temporary volume set is not added
|
|
to the Backup Database and exists only during the current interactive backup session, which is suitable if the volume set is
|
|
needed only to complete the single restore operation initialized by this command.</para>
|
|
|
|
<para>The reason that a specially defined volume set is probably better is that volume sets previously defined for use in
|
|
dump operations usually match the backup version of volumes, whereas for a restore operation it is best to define volume
|
|
entries that match the base (read/write) name. In this case, the Backup System searches the Backup Database for the newest
|
|
dump set that includes a dump of either the read/write or the backup version of the volume. If, in contrast, a volume entry
|
|
explicitly matches the volume's backup or read-only version, the Backup System uses dumps of that volume version only,
|
|
restoring them to a read/write volume by stripping off the <emphasis role="bold">.backup</emphasis> or <emphasis
|
|
role="bold">.readonly</emphasis> extension.</para>
|
|
|
|
<para>If there are VLDB entries that match the volume set criteria, but for which there are no dumps recorded in the Backup
|
|
Database, the Backup System cannot restore them. It generates an error message on the standard error stream for each
|
|
one.</para>
|
|
</sect3>
|
|
|
|
<sect3 id="HDRWQ314">
|
|
<title>Restoring Volumes Listed in a File with the -file Argument</title>
|
|
|
|
<para>Use the <emphasis role="bold">-file</emphasis> argument to specify the name and site of each read/write volume to
|
|
restore. Each volume's entry must appear on its own (unbroken) line in the file, and comply with the following
|
|
format:</para>
|
|
|
|
<programlisting>
|
|
machine partition volume [comments...]
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">machine</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the file server machine to which to restore the volume. You can move the volume as you restore it by
|
|
naming a machine other than the current site.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">partition</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the partition to which to restore the volume. You can move the volume as you restore it by naming a
|
|
partition other than the current site.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the volume to restore. Specify the base (read/write) name to have the Backup System search the Backup
|
|
Database for the newest dump set that includes a dump of either the read/write or the backup version of the volume.
|
|
It restores the dumps of that version of the volume, starting with the most recent full dump. If, in contrast, you
|
|
include the <computeroutput>.backup</computeroutput> or <computeroutput>.readonly</computeroutput> extension, the
|
|
Backup System restores dumps of that volume version only, but into a read/write volume without the extension. The
|
|
base name must match the name used in Backup Database dump records rather than in the VLDB, if they differ, because
|
|
the Backup System does not consult the VLDB when you use the <emphasis role="bold">-file</emphasis> argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">comments...</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is any other text. The Backup System ignores any text on each line that appears after the volume name, so you
|
|
can use this field for helpful notes.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>Do not use wildcards (for example, <emphasis role="bold">.*</emphasis>) in the machine, partition, or volume fields.
|
|
It is acceptable for multiple lines in the file to name the same volume, but the Backup System processes only the first of
|
|
them.</para>
|
|
|
|
<para>By default, the Backup System replaces the existing version of each volume with the restored data, placing the volume
|
|
at the site specified in the machine and partition fields. You can instead create a new volume to house the restored
|
|
contents by including the <emphasis role="bold">-extension</emphasis> argument. The Backup System creates a new volume at
|
|
the site named in the machine and partition fields, derives its name by adding the specified extension to the read/write
|
|
version of the name in the volume field, and creates a new VLDB entry for it. The command does not affect the existing
|
|
volume in any way. However, if a volume with the specified extension also already exists, the command overwrites it. To make
|
|
the contents of the new volume accessible, use the <emphasis role="bold">fs mkmount</emphasis> command to mount it. You can
|
|
then compare its contents to those of the existing volume, to see which to retain permanently.</para>
|
|
|
|
<para>If the file includes entries for volumes that have no dumps recorded in the Backup Database, the Backup System cannot
|
|
restore them. It generates an error message on the standard error stream for each one.</para>
|
|
|
|
<para>One way to generate a file to use as input to the <emphasis role="bold">-file</emphasis> argument is to issue the
|
|
command with the <emphasis role="bold">-name</emphasis> and <emphasis role="bold">-n</emphasis> options and direct the
|
|
output to a file. The output includes a line like the following for each volume (shown here on two lines only for legibility
|
|
reasons); the value comes from the source indicated in the following list:</para>
|
|
|
|
<programlisting>
|
|
machine partition volume_dumped # as volume_restored; \
|
|
tape_name (tape_ID); pos position_number; date
|
|
</programlisting>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">machine</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the file server machine that currently houses the volume, as listed in the VLDB.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">partition</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the partition that currently houses the volume, as listed in the VLDB.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume_dumped</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the version (read/write or backup) of the volume that was dumped, as listed in the Backup
|
|
Database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">volume_restored</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the name under which the Backup System restores the volume when the <emphasis
|
|
role="bold">-n</emphasis> flag is not included. If you include the <emphasis role="bold">-extension</emphasis>
|
|
argument with the <emphasis role="bold">-name</emphasis> and <emphasis role="bold">-n</emphasis> options, then the
|
|
extension appears on the name in this field (as in <computeroutput>user.pat.rst</computeroutput>, for
|
|
example).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape_name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names the tape containing the dump of the volume, from the Backup Database. If the tape has a permanent name,
|
|
it appears here; otherwise, it is the AFS tape name.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">tape_ID</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The tape ID of the tape containing the dump of the volume, from the Backup Database.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">position_number</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the dump's position on the tape (for example, <computeroutput>31</computeroutput> indicates that 30
|
|
volume dumps precede the current one on the tape). If the dump was written to a backup data file, this number is the
|
|
ordinal of the 16 KB-offset at which the volume's data begins.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">date</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>The date and time when the volume was dumped.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>To make the entries suitable for use with the <emphasis role="bold">-file</emphasis> argument, edit them as indicated:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>The Backup System uses only the first three fields on each line of the input file, and so ignores all the fields
|
|
after the number sign (<computeroutput>#</computeroutput>). You can remove them if it makes it easier for you to read
|
|
the file, but that is not necessary.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The volume_dumped (third) field of each line in the output file becomes the volume field in the input file. The
|
|
Backup System restores data to read/write volumes only, so remove the <computeroutput>.backup</computeroutput> or
|
|
<computeroutput>.readonly</computeroutput> extension if it appears on the name in the volume_dumped field.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The output file includes a line for every dump operation in which a specific volume was included (the full dump
|
|
and any incremental dumps), but the Backup System only processes the first line in the input file that mentions a
|
|
specific volume. You can remove the repeated lines if it makes the file easier for you to read.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The <emphasis>machine</emphasis> and <emphasis>partition</emphasis> fields on an output line designate the
|
|
volume's current site. To move the volume to another location as you restore it, change the values.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>volsetrestore</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup volsetrestore</secondary>
|
|
</indexterm>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ315">
|
|
<title>To restore a group of volumes with the backup volsetrestore command</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> <<emphasis>machine name</emphasis>>
|
|
</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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>Repeat the command for each Tape Coordinator if you are using more than one tape device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If using a tape device, insert the tape.</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><emphasis role="bold">(Optional)</emphasis> If appropriate, issue the <emphasis role="bold">(backup)
|
|
addvolset</emphasis> command to create a new volume set expressly for this restore operation. Include the <emphasis
|
|
role="bold">-temporary</emphasis> flag if you do not need to add the volume set to the Backup Database. Then issue one or
|
|
more <emphasis role="bold">(backup) addvolentry</emphasis> commands to create volume entries that include only the volumes
|
|
to be restored. Complete instructions appear in <link linkend="HDRWQ265">Defining and Displaying Volume Sets and Volume
|
|
Entries</link>. <programlisting>
|
|
backup> <emphasis role="bold">addvolset</emphasis> <<emphasis>volume set name</emphasis>> [<emphasis role="bold">-temporary</emphasis>]
|
|
backup> <emphasis role="bold">addvolentry -name</emphasis> <<emphasis>volume set name</emphasis>> \
|
|
<emphasis role="bold">-server</emphasis> <<emphasis>machine name</emphasis>> \
|
|
<emphasis role="bold">-partition</emphasis> <<emphasis>partition name</emphasis>> \
|
|
<emphasis role="bold">-volumes</emphasis> <<emphasis>volume name (regular expression)</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup volsetrestore</emphasis> command with the desired arguments. <programlisting>
|
|
backup> <emphasis role="bold">volsetrestore</emphasis> [<emphasis role="bold">-name</emphasis> <<emphasis>volume set name</emphasis>>] \
|
|
[<emphasis role="bold">-file</emphasis> <<emphasis>file name</emphasis>>] \
|
|
[<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offset</emphasis>>+] \
|
|
[<emphasis role="bold">-extension</emphasis> <<emphasis>new volume name extension</emphasis>>] [<emphasis
|
|
role="bold">-n</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-name</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Names a volume set to restore. The Backup System restores all of the volumes listed in the VLDB that match
|
|
the volume set's volume entries, as described in <link linkend="HDRWQ313">Restoring a Volume Set with the -name
|
|
Argument</link>. Provide this argument or the <emphasis role="bold">-file</emphasis> argument, but not
|
|
both.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-file</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the full pathname of a file that lists one or more volumes and the site (file server machine and
|
|
partition) to which to restore each. The input file has the format described in <link linkend="HDRWQ314">Restoring
|
|
Volumes Listed in a File with the -file Argument</link>. Use either this argument or the <emphasis
|
|
role="bold">-name</emphasis> argument, but not both.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-portoffset</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies one or more port offset numbers, each corresponding to a Tape Coordinator to use in the operation.
|
|
If there is more than one value, the Backup System uses the first one when restoring the full dump of each volume,
|
|
the second one when restoring the level 1 incremental dump of each volume, and so on. It uses the final value in
|
|
the list when restoring dumps at the corresponding depth in the dump hierarchy and all dumps at lower
|
|
levels.</para>
|
|
|
|
<para>Provide this argument unless the default value of 0 (zero) is appropriate for all dumps. If 0 is just one of
|
|
the values in the list, provide it explicitly in the appropriate order.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-extension</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Creates a new volume for each volume being restored, to house the restored data, appending the specified
|
|
string to the volume's read/write base name as listed in the VLDB. Any string other than <emphasis
|
|
role="bold">.readonly</emphasis> or <emphasis role="bold">.backup</emphasis> is acceptable, but the combination of
|
|
the base name and extension cannot exceed 22 characters in length. To use a period to separate the extension from
|
|
the name, specify it as the first character of the string (as in <emphasis role="bold">.rst</emphasis>, for
|
|
example).</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-n</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Displays a list of the volumes to be restored when the flag is not included, without actually restoring
|
|
them. The <emphasis role="bold">Output</emphasis> section of this reference page details the format of the output.
|
|
When combined with the <emphasis role="bold">-name</emphasis> argument, its output is easily edited for use as
|
|
input to the <emphasis role="bold">-file</emphasis> argument on a subsequent <emphasis role="bold">backup
|
|
volsetrestore</emphasis> command.</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 <emphasis role="bold">CFG_</emphasis>device_name 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>
|
|
|
|
<para>If more than one tape is required, you must either include the <emphasis role="bold">MOUNT</emphasis> instruction in
|
|
the <emphasis role="bold">CFG_</emphasis>device_name file and stock the corresponding stacker or jukebox with tapes, or
|
|
remain at the console to respond to the Tape Coordinator's prompts for subsequent tapes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>After the restore operation completes, review the Backup System's log files to check for errors. Use the <emphasis
|
|
role="bold">bos getlog</emphasis> command as instructed in <link linkend="HDRWQ173">Displaying Server Process Log
|
|
Files</link> to read the <emphasis role="bold">/usr/afs/logs/BackupLog</emphasis> file, and a text editor on the Tape
|
|
Coordinator machine to read the <emphasis role="bold">TE_</emphasis>device_name and <emphasis
|
|
role="bold">TL_</emphasis>device_name files in the local <emphasis role="bold">/usr/afs/backup</emphasis>
|
|
directory.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>administering</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ316">
|
|
<title>Maintaining the Backup Database</title>
|
|
|
|
<para>The Backup Database stores all of the configuration and tracking information that the Backup System uses when dumping and
|
|
restoring data. If a hardware failure or other problem on a database server machine corrupts or damages the database, it is
|
|
relatively easy to recreate the configuration information (the dump hierarchy and lists of volume sets and Tape Coordinator port
|
|
offset numbers). However, restoring the dump tracking information (dump records) is more complicated and time-consuming. To
|
|
protect yourself against loss of data, back up the Backup Database itself to tape on a regular schedule.</para>
|
|
|
|
<para>Another potential concern is that the Backup Database can grow large rather quickly, because the Backup System keeps very
|
|
detailed and cross-referenced records of dump operations. Backup operations become less efficient if the Backup Server has to
|
|
navigate through a large number of obsolete records to find the data it needs. To keep the database to a manageable size, use
|
|
the <emphasis role="bold">backup deletedump</emphasis> command to delete obsolete records, as described in <link
|
|
linkend="HDRWQ321">Removing Obsolete Records from the Backup Database</link>. If you later find that you have removed records
|
|
that you still need, you can use the <emphasis role="bold">backup scantape</emphasis> command to read the information from the
|
|
dump and tape labels on the corresponding tapes back into the database, as instructed in <link linkend="HDRWQ305">To scan the
|
|
contents of a tape</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>restoring</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>backing up</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>dumping</primary>
|
|
|
|
<secondary>Backup Database to tape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backing up</primary>
|
|
|
|
<secondary>Backup Database to tape</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>restoring</primary>
|
|
|
|
<secondary>Backup Database from tape</secondary>
|
|
</indexterm>
|
|
|
|
<sect2 id="HDRWQ317">
|
|
<title>Backing Up and Restoring the Backup Database</title>
|
|
|
|
<para>Because of the importance of the information in the Backup Database, it is best to back it up to tape or other permanent
|
|
media on a regular basis. As for the other AFS, administrative databases, the recommended method is to use a utility designed
|
|
to back up a machine's local disk, such as the UNIX <emphasis role="bold">tar</emphasis> command. For instructions, see <link
|
|
linkend="HDRWQ107">Backing Up and Restoring the Administrative Databases</link>.</para>
|
|
|
|
<para>In the rare event that the Backup Database seems damaged or corrupted, you can use the <emphasis role="bold">backup
|
|
dbverify</emphasis> command to check its status. If it is corrupted, use the <emphasis role="bold">backup savedb</emphasis>
|
|
command to repair some types of damage. Then use the <emphasis role="bold">backup restoredb</emphasis> to return the corrected
|
|
database to the local disks of the database server machines. For instructions, see <link linkend="HDRWQ318">Checking for and
|
|
Repairing Corruption in the Backup Database</link>.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ318">
|
|
<title>Checking for and Repairing Corruption in the Backup Database</title>
|
|
|
|
<para>In rare cases, the Backup Database can become damaged or corrupted, perhaps because of disk or other hardware errors.
|
|
Use the <emphasis role="bold">backup dbverify</emphasis> command to check the integrity of the database. If it is corrupted,
|
|
the most efficient way to repair it is to use the <emphasis role="bold">backup savedb</emphasis> command to copy the database
|
|
to tape. The command automatically repairs several types of corruption, and you can then use the <emphasis role="bold">backup
|
|
restoredb</emphasis> command to transfer the repaired copy of the database back to the local disks of the database server
|
|
machines.</para>
|
|
|
|
<para>The <emphasis role="bold">backup savedb</emphasis> command also removes <emphasis>orphan blocks</emphasis>, which are
|
|
ranges of memory that the Backup Server preallocated in the database but cannot use. Orphan blocks do not interfere with
|
|
database access, but do waste disk space. The <emphasis role="bold">backup dbverify</emphasis> command reports the existence
|
|
of orphan blocks if you include the <emphasis role="bold">-detail</emphasis> flag.</para>
|
|
|
|
<indexterm>
|
|
<primary>Backup Database</primary>
|
|
|
|
<secondary>verifying integrity</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>dbverify</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup dbverify</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ319">
|
|
<title>To verify the integrity of the Backup Database</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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup dbverify</emphasis> command to check the integrity of the Backup Database.
|
|
<programlisting>
|
|
% <emphasis role="bold">backup dbverify</emphasis> [<emphasis role="bold">-detail</emphasis>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">db</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">dbverify</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-detail</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Reports the existence of orphan blocks and other information about the database, as described on the
|
|
<emphasis role="bold">backup dbverify</emphasis> reference page in the <emphasis>OpenAFS Administration
|
|
Reference</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
|
|
<para>The output reports one of the following messages: <itemizedlist>
|
|
<listitem>
|
|
<para><computeroutput>Database OK</computeroutput> indicates that the Backup Database is undamaged.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><computeroutput>Database not OK</computeroutput> indicates that the Backup Database is damaged. To recover
|
|
from the problem, use the instructions in <link linkend="HDRWQ320">To repair corruption in the Backup
|
|
Database</link>.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup savedb</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>savedb</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ320">
|
|
<title>To repair corruption in the Backup Database</title>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Log in as the local superuser <emphasis role="bold">root</emphasis> on each database server machine in the
|
|
cell.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LISAVEDB-STARTTC">
|
|
<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> [<<emphasis>port offset</emphasis>>] [<emphasis role="bold">-noautoquery</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If writing to tape, place a tape in the appropriate device.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Working on one of the machines, issue the <emphasis role="bold">backup</emphasis> command to enter interactive mode.
|
|
<programlisting>
|
|
# <emphasis role="bold">backup -localauth</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <emphasis role="bold">-localauth</emphasis> constructs a server ticket from the local <emphasis
|
|
role="bold">/usr/afs/etc/KeyFile</emphasis> file. This flag enables you to issue a privileged command while logged in as
|
|
the local superuser <emphasis role="bold">root</emphasis> but without AFS administrative tokens.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Verify that no backup operations are actively running. If necessary, issue the <emphasis role="bold">(backup)
|
|
status</emphasis> command as described in <link linkend="HDRWQ295">To check the status of a Tape Coordinator
|
|
process</link>. Repeat for each Tape Coordinator port offset in turn. <programlisting>
|
|
backup> <emphasis role="bold">status -portoffset</emphasis> <<emphasis>TC port offset</emphasis>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem id="LISAVEDB-CMD">
|
|
<para>Issue the <emphasis role="bold">(backup) savedb</emphasis> command to repair corruption
|
|
in the database as it is written to tape or a file. <programlisting>
|
|
backup> <emphasis role="bold">savedb</emphasis> [<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offset</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">sa</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">savedb</emphasis>.</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 0 (zero) is appropriate.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Exit interactive mode. <programlisting>
|
|
backup> <emphasis role="bold">quit</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On each machine in turn, issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the Backup
|
|
Server process. Include the <emphasis role="bold">-localauth</emphasis> flag because you are logged in as the local
|
|
superuser root, but do not necessarily have administrative tokens. For complete command syntax, see <link
|
|
linkend="HDRWQ168">To stop processes temporarily</link>. <programlisting>
|
|
# <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> <<emphasis>machine name</emphasis>> <emphasis role="bold">buserver -localauth -wait</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On each machine in turn, issue the following commands to remove the Backup Database. <programlisting>
|
|
# <emphasis role="bold">cd /usr/afs/db</emphasis>
|
|
# <emphasis role="bold">rm bdb.DB0</emphasis>
|
|
# <emphasis role="bold">rm bdb.DBSYS1</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On each machine in turn, starting with the machine with the lowest IP address, issue the <emphasis role="bold">bos
|
|
start</emphasis> command to restart the Backup Server process, which creates a zero-length copy of the Backup Database as
|
|
it starts. For complete command syntax, see <link linkend="HDRWQ166">To start processes by changing their status flags to
|
|
Run</link>. <programlisting>
|
|
# <emphasis role="bold">/usr/afs/bin/bos start</emphasis> <<emphasis>machine name</emphasis>> <emphasis role="bold">buserver -localauth</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Working on one of the machines, issue the <emphasis role="bold">backup</emphasis> command to enter interactive mode.
|
|
<programlisting>
|
|
# <emphasis role="bold">backup -localauth</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>where <emphasis role="bold">-localauth</emphasis> constructs a server ticket from the local <emphasis
|
|
role="bold">/usr/afs/etc/KeyFile</emphasis> file.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) addhost</emphasis> command to create an entry in the new, empty database
|
|
for the Tape Coordinator process handling the tape or file from which you are reading the repaired copy of the database
|
|
(presumably the process you started in Step <link linkend="LISAVEDB-STARTTC">2</link> and which performed the <emphasis
|
|
role="bold">backup savedb</emphasis> operation in Step <link linkend="LISAVEDB-CMD">6</link>). For complete syntax, see
|
|
Step <link linkend="LICONFTC-ADDHOST">8</link> in <link linkend="HDRWQ262">To configure a Tape Coordinator machine</link>.
|
|
<programlisting>
|
|
backup> <emphasis role="bold">addhost</emphasis> <<emphasis>tape machine name</emphasis>> [<<emphasis>TC port offset</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup restoredb</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>restoredb</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">(backup) restoredb</emphasis> command to copy the repaired database to the database
|
|
server machines. <programlisting>
|
|
backup> <emphasis role="bold">restoredb</emphasis> [<emphasis role="bold">-portoffset</emphasis> <<emphasis>TC port offset</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">res</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">restoredb</emphasis>.</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>
|
|
</variablelist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Exit interactive mode if you do not plan to issue any additional
|
|
<emphasis role="bold">backup</emphasis> commands. <programlisting>
|
|
backup> <emphasis role="bold">quit</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> If desired, enter <emphasis role="bold">Ctrl-d</emphasis> or another
|
|
interrupt signal to exit the <emphasis role="bold">root</emphasis> shell on each database server machine. You can also
|
|
issue the <emphasis role="bold">Ctrl-c</emphasis> signal on the Tape Coordinator machine to stop the process.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>dump set (Backup System)</primary>
|
|
|
|
<secondary>deleting from Backup Database</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Backup System</primary>
|
|
|
|
<secondary>dump records</secondary>
|
|
|
|
<tertiary>deleting</tertiary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ321">
|
|
<title>Removing Obsolete Records from the Backup Database</title>
|
|
|
|
<para>Whenever you recycle or relabel a tape using the <emphasis role="bold">backup dump</emphasis> or <emphasis
|
|
role="bold">backup labeltape</emphasis> command, the Backup System automatically removes all of the dump records for the dumps
|
|
contained on the tape and all other tapes in the dump set. However, obsolete records can still accumulate in the Backup
|
|
Database over time. For example, when you discard a backup tape after using it the maximum number of times recommended by the
|
|
manufacturer, the records for dumps on it remain in the database. Similarly, the Backup System does not automatically remove a
|
|
dump's record when the dump reaches its expiration date, but only if you then recycle or relabel the tape that contains the
|
|
dump. Finally, if a backup operation halts in the middle, the records for any volumes successfully written to tape before the
|
|
halt remain in the database.</para>
|
|
|
|
<para>A very large Backup Database can make backup operations less efficient because the Backup Server has to navigate through
|
|
a large number of records to find the ones it needs. To remove obsolete records, use the <emphasis role="bold">backup
|
|
deletedump</emphasis> command. Either identify individual dumps by dump ID number, or specify the removal of all dumps created
|
|
during a certain time period. Keep in mind that you cannot remove the record of an appended dump except by removing the record
|
|
of its initial dump, which removes the records of all associated appended dumps. Removing records of a dump makes it
|
|
impossible to restore data from the corresponding tapes or from any dump that refers to the deleted dump as its parent,
|
|
directly or indirectly. That is, restore operations must begin with the full dump and continue with each incremental dump in
|
|
order. If you have removed the records for a specific dump, you cannot restore any data from later incremental dumps.</para>
|
|
|
|
<para>Another way to truncate the Backup Database is to include the <emphasis role="bold">-archive</emphasis> argument to the
|
|
<emphasis role="bold">backup savedb</emphasis> command. After a copy of the database is written to tape or to a backup data
|
|
file, the Backup Server deletes the dump records for all dump operations with timestamps prior to the date and time you
|
|
specify. However, issuing the <emphasis role="bold">backup deletedump</emphasis> command with only the <emphasis
|
|
role="bold">-to</emphasis> argument is equivalent in effect and is simpler because it does not require starting a Tape
|
|
Coordinator process as the <emphasis role="bold">backup savedb</emphasis> command does. For further information on the
|
|
<emphasis role="bold">-archive</emphasis> argument to the <emphasis role="bold">backup savedb</emphasis> command, see the
|
|
command's reference page in the <emphasis>OpenAFS Administration Reference</emphasis>.</para>
|
|
|
|
<para>If you later need to access deleted dump records, and the corresponding tapes still exist, you can use the <emphasis
|
|
role="bold">-dbadd</emphasis> argument to the <emphasis role="bold">backup scantape</emphasis> command to scan their contents
|
|
into the database, as instructed in <link linkend="HDRWQ305">To scan the contents of a tape</link>.</para>
|
|
|
|
<indexterm>
|
|
<primary>backup commands</primary>
|
|
|
|
<secondary>deletedump</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>backup deletedump</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ322">
|
|
<title>To delete dump records from the Backup Database</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> <<emphasis>machine name</emphasis>>
|
|
</programlisting></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 delete multiple records or issue additional commands. The interactive prompt appears in
|
|
the following step. <programlisting>
|
|
% <emphasis role="bold">backup</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">backup dumpinfo</emphasis> command to
|
|
list information from the Backup Database that can help you decide which records to delete. For detailed instructions, see
|
|
<link linkend="HDRWQ303">To display dump records</link>. <programlisting>
|
|
backup> <emphasis role="bold">dumpinfo</emphasis> [<<emphasis>no. of dumps</emphasis>>] [<emphasis role="bold">-id</emphasis> <<emphasis>dump id</emphasis>>] [<emphasis
|
|
role="bold">-verbose</emphasis>]
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">backup deletedump</emphasis> command to delete one or more dump sets.
|
|
<programlisting>
|
|
backup> <emphasis role="bold">deletedump</emphasis> [<emphasis role="bold">-dumpid</emphasis> <<emphasis>dumpid</emphasis>>+] [<emphasis
|
|
role="bold">-from</emphasis> <<emphasis>date time</emphasis>>] \
|
|
[<emphasis role="bold">-to</emphasis> <<emphasis>date time</emphasis>>]
|
|
</programlisting></para>
|
|
|
|
<para>where <variablelist>
|
|
<varlistentry>
|
|
<term><emphasis role="bold">dele</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Is the shortest acceptable abbreviation of <emphasis role="bold">deletedump</emphasis>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-dumpid</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the dump ID of each initial dump to delete from the Backup Database. The records for all
|
|
associated appended dumps are also deleted. Provide either this argument or the <emphasis
|
|
role="bold">-to</emphasis> (and optionally, <emphasis role="bold">-from</emphasis>) argument.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-from</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the beginning of a range of dates; the record for any dump created during the indicated period of
|
|
time is deleted.</para>
|
|
|
|
<para>To omit all records before the time indicated with the <emphasis role="bold">-to</emphasis> argument, omit
|
|
this argument. Otherwise provide a value in the following format</para>
|
|
|
|
<para>mm/dd/yyyy [hh:MM]</para>
|
|
|
|
<para>where the month (mm), day (dd), and year (yyyy) are required. You can omit the hour and minutes (hh:MM) to
|
|
indicate the default of midnight (00:00 hours). If you provide them, use 24-hour format (for example, the value
|
|
<emphasis role="bold">14:36</emphasis> represents 2:36 p.m.).</para>
|
|
|
|
<para>You must provide the <emphasis role="bold">-to</emphasis> argument along with this one.</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.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><emphasis role="bold">-to</emphasis></term>
|
|
|
|
<listitem>
|
|
<para>Specifies the end of a range of dates; the record of any dump created during the range is deleted from the
|
|
Backup Database.</para>
|
|
|
|
<para>To delete all records created after the date you specify with the <emphasis role="bold">-from</emphasis>
|
|
argument, specify the value <emphasis role="bold">NOW</emphasis>. To delete every dump record in the Backup
|
|
Database, provide the value <emphasis role="bold">NOW</emphasis> and omit the <emphasis
|
|
role="bold">-from</emphasis> argument. Otherwise, provide a date value in the same format as described for the
|
|
<emphasis role="bold">-from</emphasis> argument. Valid values for the year (yyyy) range from <emphasis
|
|
role="bold">1970</emphasis> to <emphasis role="bold">2037</emphasis>; higher values are not valid because the
|
|
latest possible date in the standard UNIX representation is in early 2038. The command interpreter automatically
|
|
reduces any later date to the maximum value in 2038.</para>
|
|
|
|
<para>If you omit the time portion (hh:MM), it defaults to 59 seconds after midnight (00:00:59 hours). Similarly,
|
|
the <emphasis role="bold">backup</emphasis> command interpreter automatically adds 59 seconds to any time value
|
|
you provide. In both cases, adding 59 seconds compensates for how the Backup Database and <emphasis
|
|
role="bold">backup dumpinfo</emphasis> command represent dump creation times in hours and minutes only. For
|
|
example, the Database records a creation timestamp of <computeroutput>20:55</computeroutput> for any dump
|
|
operation that begins between 20:55:00 and 20:55:59. Automatically adding 59 seconds to a time thus includes the
|
|
records for all dumps created during that minute.</para>
|
|
|
|
<para>Provide either this argument, or the <emphasis role="bold">-dumpid</emphasis> argument. This argument is
|
|
required if the <emphasis role="bold">-from</emphasis> argument is provided.</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.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|