管理の手引き


AFS データのバックアップと復元

本章では、AFS データのバックアップおよび復元方法、およびバックアップ・データベースの管理方法を説明しています。これは、 AFS バックアップ・システムの構成 の説明に従い、すべてのバックアップ・システム・コンポーネントの構成を完了していることを前提としています。


手順の概要

この章では、指示されたコマンドを使って以下のタスクを実行する手順について説明します。
対話モードに入る backup (interactive)
対話モードを出る (backup) quit
対話モードの操作をリストする (backup) jobs
対話モードの操作を取り消す (backup) kill
テープ・コーディネーターを開始する butc
テープ・コーディネーターを停止する <Ctrl-c>
テープ・コーディネーターの状況を検査する backup status
データをバックアップする backup dump
ダンプ・レコードの表示 backup dumpinfo
ボリュームのダンプ履歴を表示する backup volinfo
テープのコンテンツをスキャンする backup scantape
ボリュームを復元する backup volrestore
パーティションを復元する backup diskrestore
ボリューム・グループの復元 backup volsetrestore
バックアップ・データベースの整合性の検証 backup dbverify
バックアップ・データベース内の破壊の修復 backup savedb および backup restoredb
ダンプ・セットをバックアップ・データベースから削除する backup deletedump


バックアップ・システムのインターフェースの使用

バックアップ操作を実行する場合、以下の 3 つのバックアップ・システム・コンポーネントとの対話操作を行います。

バックアップ・システム・パフォーマンスに矛盾がないように、 3 つのバイナリー (backupbutc、および buserver) すべての AFS ビルド・レベルが一致する必要があります。ビルド・レベルの表示方法は、バイナリー・ファイルの作成レベルの表示 を参照してください。

ローカル・スーパーユーザー root、または外部セルからのバックアップ操作の実行

デフォルトでは、バックアップ操作で使用するボリュームおよびバックアップ・データベースは、 /usr/vice/etc/ThisCell ファイル (テープ・コーディネーター・マシンおよび backup コマンドを実行するマシンにあります) に名前のあるセルに属するサーバー・マシンに配置されています。同様に、ほとんどの backup コマンドの発行においては、ローカル・セルの /usr/afs/etc/UserList ファイルにリストされている AFS トークンを ID に持つ必要があります (通常、セル内のすべてのサーバー・マシンについて同じ)。ただし、バックアップ操作の実行は、外部セルのボリュームまたはバックアップ・データベース上で行うことができ、この際、特権 AFS の ID ではなくローカル・スーパーユーザー root としてログインします。

ローカル・セルのボリュームで、ローカル・セルのマシンを使用してバックアップ操作を行うには、その外部セルを、テープ・コーディネーターおよび backup コマンド・インタープリターの実行セルに指定する必要があります。以下の 2 つの方法のどちらかを使用します。どちらの方法でも、外部セルの /usr/afs/etc/UserList ファイルにリストされている管理者トークンが必要です。

管理者 AFS トークンなしにバックアップ操作を実行するには、テープ・コーディネーター・マシンおよび backup コマンドを発行するマシンのどちらとも、ローカル・スーパーユーザー root としてログオンする必要があります。両方のマシンともサーバー・マシンであり、少なくとも、他のサーバー・マシンのファイルに一致する /usr/afs/etc/KeyFile ファイルがある必要があります。次に -localauth 引き数を、 butc コマンドおよびすべての backup コマンド (または backup (対話モード) コマンド) の両方に組み込みます。テープ・コーディネーターおよび backup コマンド・インタープリターは、ローカル・ファイルの /usr/afs/etc/KeyFile ファイル中の最新のキー・バージョン数のサーバー暗号化鍵を使用してサーバー・チケットを構成し、これをローカルの /usr/afs/etc/ThisCell ファイルに含まれるバックアップ・サーバー、ボリューム・サーバー、および VL サーバーに提示します。チケットには有効期限はありません。

同じコマンドで -cell および -localauth オプションを組み合わせることはできません。また、各コマンドとも AFSCELL 環境変数または /usr/vice/etc/ThisCell ファイルに定義された設定を上書きします。

対話モードおよび正規コマンド・モードの使用

backup コマンド・スイートは、バックアップ・サーバーおよび VL サーバーへの持続接続に関する複数のコマンドを発行できる、 対話モード を提供します。対話モードは、以下の機能を提供します。

対話モードでバックアップ操作を開始する場合、バックアップ・システムは ジョブ ID 番号 を割り当てます。 (backup) jobs コマンドを使用すると、現在の操作および保留中の操作のリストが表示できます。説明は、対話モードで保留または実行中のジョブを表示する を参照してください。 (正規および対話モードの両方で、テープ・コーディネーターは、 backup コマンドで開始した各操作に対して タスク ID 番号 を割り当てます。タスク ID 番号は、 backup status コマンドでトラックすることができます。テープ・コーディネーター・プロセスの開始および停止 を参照してください。)

(backup) kill コマンドを使用すると、対話モードの操作を取り消すことができます。説明は、対話モードで操作を取り消すには を参照してください。ただし、ダンプ操作は取り消さない方がよいでしょう。作成されるダンプが不完全なものとなり、復元操作を中止した場合は、ボリュームが矛盾した状態になるか、これがサーバー・マシンから完全に除去されてしまう場合があるためです。詳細は、データのバックアップ および データの復元と回復 を参照してください。

(backup) jobs および (backup) kill コマンドは対話モードでのみ使用可能で、正規コマンド・モードでは同等の機能のコマンドは存在しません。

対話モードに入るには

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。対話モードに入るだけでは特権は必要とされませんが、その他のほとんどの backup コマンドでは特権が必要です。また、モードに入る際に前提とする AFS ID は、内部で発行するすべてのコマンドに適用されます。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. システム・プロンプトで backup (対話式) コマンドを発行します。 backup> プロンプトが表示されます。 -localauth および -cell オプションのいずれかを組み込めますが、両方を組み込むことはできません (ローカル・スーパーユーザー root、または外部セルからのバックアップ操作の実行 を参照してください)。

       % backup
       backup>
    

対話モードの終了

  1. backup> プロンプトで quit コマンドを発行します。コマンドが正常に実行されると、コマンド・シェル・プロンプトが表示されます (保留または現在実行中のジョブがない場合のみ)。保留または現在実行中のジョブを表示、および取り消すには、対話モードで保留または実行中のジョブを表示する および 対話モードで操作を取り消すには の指示に従ってください。

       backup>  quit
       %
    

対話モードで保留または実行中のジョブを表示する

  1. backup> プロンプトで jobs コマンドを発行します。

       backup> jobs
    

    ここで、

    j
    は、jobs の受け入れ可能な省略形です。

出力には、現行対話セッション中に backup コマンド・インタープリターが使用するトークンの有効期限日付および時刻が必ず含まれています。フォーマットは、次のとおりです。

      date   time: TOKEN EXPIRATION

スケジュールされているダンプ・オペレーションに対して指定した実行日付および時刻が、 date time より遅い場合、個々の行が (以下の段落で説明するように) この行の下に表示され、現行トークンがこれを使用できないことを示します。

対話モードに入るときに、backup コマンドの発行者が -localauth フラグを組み込んだ場合、代わりに行は次のように読み取ります。

   :  TOKEN NEVER EXPIRES

スケジュールされたダンプ・オペレーションの項目の形式は以下のとおりです。

   Job job_ID:  timestamp:  dump  volume_set  dump_level

ここで、

job_ID
バックアップ・システムにより割り当てられたジョブの ID 番号。

timestamp
ダンプ・オペレーションが開始される日付および時刻を示します。形式は、 month/date/year hours:minutes (24 時形式) です。

volume_set
ダンプするボリューム・セット

dump_level
ダンプ・オペレーションを実行するダンプ・レベルを示します。

任意のほかのタイプの保留中または実行中のオペレーションについての行の形式は、以下のとおりです。

   Job job_ID:  operation  status

ここで、

job_ID
バックアップ・システムにより割り当てられたジョブの ID 番号。

operation
指定したコマンドで開始されたテープ・コーディネーターが実行しているオペレーション。

Dump (dump name)
backup dump コマンドによって開始されます。dump name の形式は以下のとおりです。

volume_set_name.dump_level_name

Restore
backup diskrestorebackup volrestore、または backup volsetrestore コマンドによって開始されます。

Labeltape (tape_label)
backup labeltape コマンドによって開始されます。tape_label は、backup labeltape コマンドの -name または -pname 引き数によって指定される名前です。

Scantape
backup scantape コマンドによって開始されます。

SaveDb
backup savedb コマンドによって開始されます。

RestoreDb
backup restoredb コマンドによって開始されます。

status
以下のメッセージの 1 つにより、ジョブの現在の状況を示します。メッセージが表示されない場合は、ジョブはまだ保留中であるかまたは終了しています。

number Kbytes, volume volume_name
ダンプ・オペレーションの実行中の場合、テープまたはバックアップ・データ・ファイルにこれまでコピーされたキロバイト数および現在ダンプされているボリューム。

number Kbytes, restore.volume
復元オペレーションの実行中の場合、テープまたはバックアップ・データ・ファイルから AFS にこれまでコピーされたキロバイト数。

[abort requested]
(backup) kill コマンドが発行されたが、その終了シグナルは、まだテープ・コーディネーターには送信されていない。

[abort sent]
オペレーションは (backup) kill コマンドにより取り消されたことを意味する。バックアップ・システムがオペレーションを待ち行列から削除するか、あるいは実行を停止すると、そのオペレーションは、このコマンドからの出力には表示されなくなります。

[butc contact lost]
backup コマンド・インタープリターがテープ・コーディネーターに到達できない。このメッセージは、オペレーションを処理しているテープ・コーディネーターが、オペレーションの実行中に終了されたか失敗したことを示しているか、あるいはテープ・コーディネーターに対する接続がタイムアウトになったことを意味します。

[done]
テープ・コーディネーターはオペレーションを終了したことを意味する。

[drive wait]
オペレーションが、指定されたテープ・ドライブが空きになるのを待機している。

[operator wait]
テープ・コーディネーターは、バックアップ・オペレーターがテープをドライブに挿入するのを待機していることを示す。

対話モードで操作を取り消すには

  1. backup> プロンプトで jobs コマンドを発行して、取り消す操作のジョブ ID 番号を表示します。詳細は、対話モードで保留または実行中のジョブを表示する を参照してください。

       backup> jobs
    
  2. (backup) kill コマンドを発行して操作を取り消します。

       backup> kill <job ID or dump set name>
    

    ここで、

    k
    は、kill の受け入れ可能な省略形です。

    job ID or dump set name
    jobs コマンドにより報告されたジョブ ID 番号で取り消すものを指定するか、または (ダンプ操作の場合のみ) volume_set_name.dump_level_name 形式のダンプ名を指定します。

テープ・コーディネーター・プロセスの開始および停止

バックアップ操作を実行して、テープ装置、またはバックアップ・データ・ファイル間との読み取りまたは書き込みを行う前に、ドライブまたはファイルを処理するテープ・コーディネーター (butc) プロセスを開始する必要があります。この機能グループでは、テープ・コーディネーター・プロセスを開始、停止、および状況の検査をする方法を説明します。これらの命令を使用するには、テープ・コーディネーター・マシンが構成済みであり、バックアップ・データベースのテープ・コーディネーター項目が作成されている必要があります (テープ・コーディネーター・マシンおよびテープ装置の構成 の指示を参照してください)。

テープ・コーディネーターは、実行する各操作に タスク ID 番号 を割り当てます。この番号は、対話操作で backup コマンド・インタープリターにより割り当てられたジョブ ID 番号 (対話モードおよび正規コマンド・モードの使用 を参照) とは別個のものです。テープ・コーディネーターは、ログおよびエラー・ファイルに書き込んだタスク ID 番号を、画面上のトレースおよびメッセージに報告します。テープ・コーディネーターの実行中または保留中のタスク ID 番号を表示するには、backup status コマンドを発行します。

テープ・コーディネーター・プロセスを開始するには

  1. テープ・コーディネーターがボリューム・データおよびバックアップ・データベースにアクセスするセルの /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、 UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    

    または、ローカル・スーパーユーザー root としてファイル・サーバー・マシンにログインします (3 のステップを参照)。

  2. テープ・コーディネーターのログ、およびローカル /usr/afs/backup ディレクトリーのエラー・ファイル (TE_device_name および TL_device_name ファイル) に書き込みができることを検証する。ログ・ファイルとエラー・ファイルが存在していない場合は、 /usr/afs/backup ディレクトリー内のファイルに挿入および書き込みができることが必要です。
  3. (telnet または rlogin などのコマンドを使用して) テープ装置を駆動する、またはそのローカル・ディスクがディスク・データ・ファイルを収納しているテープ・コーディネーター・マシンに接続をオープンする。テープ・コーディネーターは、テープ・コーディネーターが要求を受け入れるために、また、テープ・コーディネーターが要求を実行中に、オープンしたままでなければならない専用の接続またはウィンドウを使用します。

    次のステップで、 -localauth フラグを butc コマンドに組み込むことを計画する場合は、ローカル・スーパーユーザー root としてログインします。

  4. butc コマンドを発行してテープ・コーディネーターを開始する。 -localauth および -cell オプションのいずれかを組み込めますが、両方を組み込むことはできません (ローカル・スーパーユーザー root、または外部セルからのバックアップ操作の実行 を参照してください)。

       % butc [<port offset>]  [-debuglevel <trace level>]  \
              [-cell <cellname>] [-noautoquery] [-localauth]
    

    ここで、

    butc
    完全な形式でタイプする必要があります。

    port offset
    テープ・コーディネーターのポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。

    -debuglevel
    テープ・コーディネーターが標準出力ストリーム (stdout) に書き込むトレース・メッセージのタイプを指定します。以下の 3 つの値を与えるか、あるいは、この引き数を省略を省略してメッセージのデフォルト・タイプを表示します (0 [ゼロ] の値の設定に等しい)。
    • 0: テープ・コーディネーターは、バックアップ・オペレーターと通信するのに必要な最小限の数のメッセージだけを生成する。これらのメッセージには、追加テープの挿入に対するプロンプト、およびオペレーションのエラー、開始、または完了を示すメッセージが含まれます。
    • 1: レベル 0 で表示されたメッセージに加えて、テープ・コーディネーターは、ダンプまたは復元されている各ボリュームの名前を表示する。
    • 2: レベル 0 および 1 で表示されてメッセージに加えて、テープ・コーディネーターは、すべてのメッセージを表示する。また、テープ・コーディネーターは、自己のログ・ファイル (/usr/afs/backup/TL_device_name) にも書き込む。

    cellname
    バックアップ・オペレーションを実行するセルの名前です (関係のあるボリュームが常駐し、バックアップ・サーバー・プロセスが実行しているセル)。この引き数を省略すると、テープ・コーディネーターは、ローカルの /usr/vice/etc/ThisCell ファイルで定義されたように自己のホーム・セルを使用します。この引き数を -localauthフラグと結合してはいけません。

    -noautoquery
    各オペレーションに必要な最初のテープに対するテープ・コーディネーターのプロンプトを使用不可にします。このフラグを組み込むことの利点および結果についての説明は、 最初のテープの検索またはプロンプトの除去 を参照してください。

    -localauth
    ローカルの /usr/afs/etc/KeyFile ファイルからの鍵を使用して、サーバー・チケットを構成します。butc プロセスは、相互の認証中にサーバー・チケットをバックアップ・サーバー、ボリューム・サーバー、および VL サーバーに提示します。このフラグを組み込むには、ユーザーは、ファイル・サーバー・マシンにローカル・スーパーユーザー root としてログインしていなければならず、このフラグを -cell 引き数と結合することはできません。

テープ・コーディネーター・プロセスを停止するには

  1. テープ・コーディネーターとの専用接続に対し、<Ctrl-c> などの割り込みシグナルを入力します。

テープ・コーディネーター・プロセスの状況を検査するには

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. backup status コマンドを入力します。

       % backup status [<TC port offset>]
    

    ここで、

    st
    status の受け入れ可能な最も短い省略形です。

    TC port offset
    テープ・コーディネーターのポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。

以下のメッセージは、テープ・コーディネーターが、現在、オペレーションを実行していないことを示します。

   Tape coordinator is idle

それ以外は、実行中または保留中のオペレーションに対して、以下の形式のメッセージが出力に組み込まれます。

   Task task_ID:  operation:   status

ここで、

task_ID
テープ・コーディネーターにより割り当てられたタスクの ID 番号。テープ・コーディネーターのポート・オフセット番号から始まります。

operation
指定したコマンドで開始されたテープ・コーディネーターが実行しているオペレーション。

status
以下のメッセージの 1 つにより、ジョブの現在の状況を示します。

number Kbytes transferred, volume volume_name
ダンプ・オペレーションの実行中の場合、テープまたはバックアップ・データ・ファイルにこれまでコピーされたキロバイト数および現在ダンプされているボリューム。

number Kbytes, restore.volume
復元オペレーションの実行中の場合、テープまたはバックアップ・データ・ファイルから AFS にこれまでコピーされたキロバイト数。

[abort requested]
(backup) kill コマンドが発行されたが、その終了シグナルは、まだテープ・コーディネーターには送信されていない。

[abort sent]
オペレーションは (backup) kill コマンドにより取り消されたことを意味する。バックアップ・システムがオペレーションを待ち行列から削除するか、あるいは実行を停止すると、そのオペレーションは、このコマンドからの出力には表示されなくなります。

[butc contact lost]
backup コマンド・インタープリターがテープ・コーディネーターに到達できない。このメッセージは、オペレーションを処理しているテープ・コーディネーターが、オペレーションの実行中に終了されたか失敗したことを示しているか、あるいはテープ・コーディネーターに対する接続がタイムアウトになったことを意味します。

[done]
テープ・コーディネーターはオペレーションを終了したことを意味する。

[drive wait]
オペレーションが、指定されたテープ・ドライブが空きになるのを待機している。

[operator wait]
テープ・コーディネーターは、バックアップ・オペレーターがテープをドライブに挿入するのを待機していることを示す。

データのバックアップ

本機能グループでは、backup dump コマンドを使用して、 AFS データをテープ・またはバックアップ・データ・ファイルにバックアップする方法を説明しています。説明は、バックアップ・システムの概念について理解しており、 AFS バックアップ・システムの構成 の指示にしたがってバックアップ・システムが構成済みであることを前提としています。特に、以下が完了しているものとします。

ダンプ操作実行の最も基本的な方法は、適当なテープ・コーディネーターが使用可能となり次第に単独ボリューム・セットの初期ダンプを作成するものです。その際、backup dump コマンドに必要な引き数のみを使用します。説明は、ダンプの作成 を参照してください。コマンドにはいくつかオプションの引き数があり、これを使用してバックアップ手順の効率および柔軟性を向上することができます。

バックアップ操作の効率化

いくつかの方法により、ダンプ操作をより効率的にし、エラーを減少させ、ユーザーに混乱を与えないようにすることができます。その中にはまた、データが必要となった際の復元プロセスを単純化するものもあります。

構成の選択がダンプ・プロセスに与える影響

本機能グループではバックアップ・プロセスを概説し、デフォルトおよびユーザーが選択した構成 (装置固有の CFG_device_name ファイルに記述する構成命令を含む) によりそれぞれのステージにどのような影響があるかを説明します。明確にするため、単一の backup dump コマンドによる初期ダンプ作成の進行状況をトラックします。追加、またはスケジュール・ダンプを行う際の若干の相違については、 ダンプを既存のダンプ・セットに追加するには または ダンプのスケジューリング を参照してください。

具体例として、次の記述は、ボリューム・セット user のダンプを、 /weekly/mon/tues/wed ダンプ・レベルで追跡します。 user ボリューム・セットは、すべてのユーザー・ボリュームのバックアップ・バージョンに対応するボリューム項目を 1 つ所有します。

      .*    .*    user.*\.backup

ダンプ・レベルは、以下のダンプ階層に含まれます。

   /weekly
          /mon
              /tues
                   /wed
                       /thurs
                             /fri
  1. butc コマンドを発行して、テープ・コーディネーターによるダンプ操作を開始します。 backup dump コマンドを発行する際、テープ・コーディネーターが実行されている必要はありませんが、 3 のステップが完了してダンプに組み込むボリュームのリストを受け入れる際にはアクティブでなければなりません。調整での問題を避けるには、 backup dump コマンドを発行する前にテープ・コーディネーターを開始するのがよいでしょう。

    テープ・コーディネーターが開始すると、これはローカルの /usr/afs/backup/tapeconfig ファイルの項目を読み取り、butc コマンド行で指定したポート・オフセットを検索します。項目には、使用する装置名が指定されており、テープ・コーディネーターはこれにアクセスできるか検証をします。また、装置構成ファイル /usr/afs/backup/CFG_device_nameが存在する場合は、これも読み取ります。ファイルの記述がダンプ操作に与える影響については、6 のステップを参照してください。

  2. ボリューム・セット、ダンプ・レベル、および 1 のステップで butc コマンドに指定したのと同じポート・オフセット番号を指定して、 backup dump コマンドを発行します。バックアップ・システムは、これらが正しいバックアップ・データベース・レコードを持っているかを検証し、なければエラー・メッセージを出して停止します。

    対話モードでコマンドを発行する場合、バックアップ・システムは操作にジョブ ID 番号を割り当てます。これは、それぞれ (backup) jobs または (backup) kill コマンドを使用して操作状況のチェックまたは停止に使用できます。説明については、対話モードで保留または実行中のジョブを表示する および 対話モードで操作を取り消すには を参照してください。

  3. バックアップ・システムは、VL サーバーと協力して、ボリューム・セットのボリューム項目に定義された名前とロケーションの条件に合う、 VLDB 内のボリュームのリストを生成します。ボリュームが複数のボリューム項目に一致する場合は、バックアップ・システムは重複を無視して、ダンプにボリューム・データのコピーが 1 つだけ組み込まれるようにします。

    復元操作でテープ交換に必要な回数を減らすのであれば、バックアップ・システムはサーバー・マシンおよびパーティションごとにボリュームをソートし、ダンプ操作中に特定のパーティションのボリュームのデータをすべて書き込んでから、次のパーティションに移動します。

    前述のように、ダンプ中のユーザーのデータ・アクセスを妨げないようにするには、読み取り / 書き込みボリュームではなく、バックアップ・ボリュームをバックアップする方がよいでしょう。これには、ボリューム項目定義のボリューム名に .backup サフィックスを組み込みます。複数ボリュームに一致するボリューム項目の定義方法については、 ボリューム・セットおよびボリューム項目の定義および表示 を参照してください。

    この例では、 50 ボリュームが user ボリューム・セット基準に合致し、これには user.pat.backupuser.terry.backup、および user.smith.backup が含まれるものとします。

  4. 次にバックアップ・システムは、 backup dump コマンド行で指定したダンプ階層のダンプ・レベルをスキャンします。これがフル・レベルであれば、現行の操作でバックアップ・システムは、 3 のステップで取得したリストのすべてのボリュームのデータをバックアップします。

    ダンプ・レベルが増分の場合、バックアップ・システムは、バックアップ・データベース内の各ボリュームのダンプ階層を読み取り、前回このボリューム・セットの一部としてそのボリュームをバックアップした際に、パス名のどの親レベルが使用されたかを判別します。通常、これは現在のダンプ・レベルの直接の親レベルです。

    ボリュームの増分ダンプには、そのボリュームが親ダンプに組み込まれた後で変更されたデータのみが含まれます。適格なデータを判別するために、バックアップ・システムは、ボリュームの複製日 の概念を使用します。読み取り / 書き込みボリュームの複製日は、バックアップ・システムが、ボリュームのコンテンツをダンプにコピーする前に、そのボリュームをロックした日です。バックアップ・ボリュームの複製日は、元の読み取り / 書き込みボリュームの複製作成操作 (vos backup、または vos backupsys コマンドによって開始された操作) の完了時刻です。読み取り専用ボリュームの複製日は、前回のダンプ操作を完了した際の (vos release コマンドによって開始された) 解放操作の時刻です。

    より正確に言うと、増分ダンプには、変更タイム・スタンプが、親ダンプに組み込まれているボリュームの複製日 (親複製日)と、現在のダンプに組み込まれるボリュームの複製日 (現行複製日) の間になっているデータのみが含まれます。

    ボリュームの親ダンプは直接の親レベルに作成されたダンプであるという一般的な規則には、いくつか共通して例外があります。

    この例では、現在のダンプ・レベルは /weekly/mon/tues/wed です。user.pat.backup および user.terry.backup ボリュームが、昨日 (火曜) に実行されたダンプの /weekly/mon/tues レベルに組み込まれています。バックアップ・システムは、火曜日の 3:00 a.m. (火曜日のダンプ操作の前にそのバックアップ・バージョンが作成された時刻) を親複製日として使用します。ただし、火曜のダンプでは何かしらの理由により user.smith.backup ボリュームが組み込まれませんでした。このボリュームが最後にダンプに組み込まれたのは月曜日で、 /weekly/mon レベルでした。バックアップ・システムは、月曜のダンプ操作の時点で最後にそのボリュームのバックアップ・バージョンが作成されたときを示す、親複製日の月曜の 2:47 a.m. を使用します。

  5. 増分ダンプを実行する場合、バックアップ・システムは、ボリューム・サーバーと協力して、親複製日と現在の複製日の間で変更された (タイム・スタンプが変更された) 各ボリュームの中の、すべてのファイルのリストを作成します。ダンプには、このような各ファイルの完全な内容が組み込まれます。ファイルが変更されなかった場合、ダンプにはそのプレースホルダー・スタブのみが組み込まれます。ダンプにはまた、前回のダンプから変更するしないにかかわらず、ボリュームの完全なディレクトリー構造のコピーが組み込まれます。

    前回のダンプ以降、ボリューム内のデータが全く変更されていない場合は、バックアップ・システムはそのボリュームを完全に省略します。テープ・コーディネーター・ウィンドウおよびログ・ファイルに以下のメッセージが作成されます。

       Volume volume_name (volume_ID) not dumped - has not been modified
           since last dump.
    
  6. テープ・コーディネーターはデータをバックアップする準備をします。 CFG_device_name ファイルが存在する場合、テープ・コーディネーターはこれを 1 のステップで読み取ります。以下のリストでは、ファイル内の各指示によってこの時点のテープ・コーディネーターの動作がどう変わるのかを説明します。

    FILE
    この命令を YES に設定すると、テープ・コーディネーターはバックアップ・データ・ファイルにデータを書き込みます。ダンプを正常に行うには、 tapeconfig ファイルの device_name フィールドでもファイル名を指定する必要があります。バックアップ・データ・ファイルの構成に関する詳細は、 データのバックアップ・データ・ファイルへのダンプ を参照してください。

    これが NO に設定されている、またはファイルにない場合、テープ・コーディネーターはテープ装置に書き込みます。

    MOUNT および UNMOUNT
    ファイルに MOUNT 命令が存在する場合、テープ・コーディネーターが新規のテープを必要とする度に、指定したスクリプトまたはプログラムを呼び出して、装置のテープ・ドライブにテープをマウントします。テープ・スタッカーまたはジュークボックスによりテープの交換を自動的に行うのであれば、MOUNT 命令は必須です。 MOUNT 命令がない場合、テープ・コーディネーターはテープを必要とする際、操作員にプロンプト指示を出します。

    この後で説明する AUTOQUERY 命令は、テープ・コーディネーターの、ダンプ操作で最初に必要となるテープのテープ要求手順を変更します。

    UNMOUNT 命令がある場合は、テープ・コーディネーターはテープ装置をクローズする度に、指定したスクリプトまたはプログラムを呼び出します。すべてのテープ装置が別個にテープの取り外しルーチンを持つわけではなく、この場合、UNMOUNT 命令は必要ありません。両方の命令に関する詳細は、 装置のテープ取り付けおよび取り外しルーチンの呼び出し を参照してください。

    AUTOQUERY
    この命令を NO に設定すると、テープ・コーディネーターは、ダンプ操作に必要な最初のテープがテープ装置にあることを前提とします。前述の MOUNT 命令で説明されている通常のテープ要求手順は使用しません。butc コマンドに -noautoquery フラグを組み込むことによっても同様の結果が得られます。

    この命令がない、または YES に設定されている場合、テープ・コーディネーターは最初のテープに対して、通常のテープ要求手続きを使用します。詳しくは、 最初のテープの検索またはプロンプトの除去 を参照してください。

    BUFFERSIZE
    この命令がファイルにある場合は、テープ・コーディネーターはバッファー・サイズをデフォルトの 16 KB ではなく、指定した値に設定します。詳しくは、テープ・ストリーミングをプロモートするためのメモリー・バッファーの設定 を参照してください。

    CFG_device_name ファイルがない場合、テープ・コーディネーターはデータの書き込みをテープ装置に行い、テープが必要になると操作員にプロンプト指示を出します (-noautoquery フラグを butc コマンドに組み込んだ場合に最初のテープのみが例外となります)。

  7. ここで、テープ・コーディネーターは、 CFG_device_name ファイル (6 のステップで説明しています) 内の命令の指示に従って、テープ・ドライブかバックアップ・データ・ファイルをオープンします。この命令は、取り付けスクリプトを呼び出すか、あるいは操作員にプロンプト指示を出すかも判別します。1 のステップでは、テープ・コーディネーターは、 tapeconfig ファイルから装置容量およびファイル・マーク・サイズを読み取りました。今度は、同じ値をテープまたはバックアップ・データ・ファイルの磁気ラベルから読み取り、 tapeconfig の値と異なる場合は、これを上書きします。

    この例のように初期ダンプを作成している場合、ラベルに永続名がなければ、次に、テープ・コーディネーターは、 AFS テープ名が受け入れ可能な 3 つの形式のいずれかになっているかどうかを検査します。この形式でなければ、テープは拒否され、backup labeltape コマンドを使用して受け入れ可能な名前を書き込まなくてはなりません。この名前検査ステップは、 NAME_CHECK NO 命令を CFG_device_name ファイルに組み込むことによりバイパスできます。詳細および受け入れ可能な AFS テープ名の値については、AFS テープ名検査の除去 を参照してください。

  8. 初期ダンプの場合、テープ・コーディネーターは、テープまたはバックアップ・ダンプ・ファイルの先頭から書き込みを開始し、既存のデータは上書きします。不適切な上書きを避けるために、バックアップ・システムは、まずバックアップ・データベースをチェックして、テープまたはバックアップ・ダンプ・ファイルのラベルの名前 (永続名または AFS テープ名) に関連したダンプ・レコードを検索します。そして、期限が切れていないダンプがあるバックアップ・データ・ファイルや、または期限が切れていないダンプを持つダンプ・セットに含まれるテープへの書き込みを拒否します。すべてのダンプが期限切れとなる前にファイルまたはテープを再利用するには、 backup labeltape コマンドを使用して、テープのラベルを変更します。これにより、そのファイルまたはダンプ・セット内のすべてのテープに含まれる、すべてのダンプのバックアップ・データベース・レコードが除去され、どのテープからのデータの復元もできなくなります。有効期限に関する詳細は、有効期限の定義 を参照してください。

    テープ・コーディネーターは、他にも不適切なテープ再利用を 2 種類チェックします。テープには、現在実行中のダンプに含まれるデータがあってはいけません。これは、以前のテープがドライブにある、または誤って再度挿入してしまったことを示すためです。テープ・コーディネーターは、以下のメッセージを作成して、別のテープを取得しようとします。

       Can't overwrite tape containing the dump in progress
    

    テープには、現行の (増分) ダンプの親ダンプのデータがあってはいけません。これは、親ダンプを上書きすることにより、現行ダンプのデータが復元できなくなるためです。テープ・コーディネーターは、以下のメッセージを作成して、別のテープを取得しようとします。

       Can't overwrite the parent dump parent_name (parent_dump_ID)
    
  9. これでテープ・コーディネーターはテープまたはバックアップ・データ・ファイルにデータを書き込みます。7 のステップで取得した容量およびファイル・マーク・サイズを使用して使用可能な容量をトラックし、テープの最後に到達してもダンプが完了しない場合は、自動的にテープ要求手続きを使用します。詳細およびテープ・コーディネーターが予期しない物理的なテープ終了に到達した場合については、 tapeconfig ファイルの構成 を参照してください。同様に、予期しない容量不足からもっとも適した方法で回復するようにバックアップ・データ・ファイルを構成する手順については、 データのバックアップ・データ・ファイルへのダンプ で説明している手順の中の、 6 のステップを参照してください。

    ダンプ中、テープ・コーディネーターがボリュームにアクセスできない場合は (サーバー・プロセス、マシン、またはネットワークの障害による)、ボリュームをスキップし、アクセス可能なすべてのボリュームについてダンプを継続します。テープ・コーディネーターは、テープ・コーディネーター・ウィンドウおよびログ・ファイルに、略されたボリュームに関するエラー・メッセージを生成します。バックアップ・ボリュームが前回のダンプ操作以降複製されていないことがわかった場合も (つまり、そのボリュームの現在の複製日がその親複製日と同じ場合)、テープ・コーディネーターは同様のメッセージを生成します。

       Volume volume_name (volume_ID) not dumped - has not been re-cloned
           since last dump.
    

    すべてのボリュームについて最初のパスが完了すると、テープ・コーディネーターは、省略した各ボリュームについて、再度ダンプを試行します。最初のパスでボリュームがアクセス不能であった理由について、 VL サーバーが 3 のステップで作成したダンプ・ボリュームのリストからボリュームが移動されたためであるかチェックされます。そうであれば、新規サイトからボリュームをダンプします。 2 度目のボリューム・アクセスも失敗した場合、テープ・コーディネーターは以下のメッセージを作成し、今後の処理について指示するようプロンプトを出します。

       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
    

    ダンプ・プロセスの自動化の比率を向上させるには、 ASK NO 命令を CFG_device_name ファイルに組み込みこのプロンプトを抑制し、テープ・コーディネーターが自動的にダンプのボリュームを省略するようにします。

    ダンプを順次トラックするのであれば、プロンプトを使用することにより修正アクションが可能です。ボリュームが再度複製されていなければ、 vos backup コマンドが発行できます。ボリュームがアクセス不能の場合は、調査を行い原因の解決を行うことができます。

  10. テープまたはバックアップ・データ・ファイルにまだ AFS テープ名がない場合は、バックアップ・システムが適切な名前を構成し、ラベルおよびバックアップ・データベースに記録します。また、ダンプ名および ID 番号をダンプに割り当て、バックアップ・データベースに作成したダンプ・レコード記録します。テープおよびダンプ名については、ダンプ名および磁気テープ名 を参照してください。ダンプ・レコードまたはボリュームのダンプ履歴の表示、またはテープ内容のスキャン方法については、 バックアップ・ダンプ・レコードの表示 を参照してください。

ダンプを既存のダンプ・セットに追加するには

AFS バックアップ・システムでは、 -append フラグを backup dump コマンドに組み込むことにより、ダンプ・セットの最後のテープの終端にダンプを追加することができます。ダンプを付加することは、バックアップ・システムの自動化と効率を以下のように改善します。

追加ダンプを書き込む際、バックアップ・システムは 構成の選択がダンプ・プロセスに与える影響 で説明したほとんどのステップを実行します。追加ダンプはお互いまたは初期ダンプとの間に関連がある必要はありませんので、 7 のステップは省略されます。この場合は、 AFS テープ名がボリューム・セット名やダンプ・レベル名を反映しているかどうかをチェックする必要もありません。 8 のステップも省略します。これは、バックアップ・システムはテープ上の既存のデータを一切上書きしないため、テープまたはファイル上の既存のダンプの有効期限をチェックする必要がないからです。次に、9 のステップで、テープ・コーディネーターはデータの書き込みを始める前に、テープまたはバックアップ・データ・ファイルを、最後のダンプの終わりまでスキャンします。

バックアップ・システムは、追加ダンプに以下の条件を付加します。

ダンプを付加する際、ダンプ・セットのダンプ、およびバックアップ・データベースのテープ・レコードのすべてが、初期ダンプにインデックス化されることに留意してください。付加ダンプのレコードを削除する場合には、初期ダンプのレコードも削除しなければならず、これによりダンプ・セットのすべてのダンプのレコードが削除されます。これらのレコードがなければ、ダンプ・セットのデータはいずれも復元できません。

同様に、ダンプ・セットのいずれかのテープを再利用する (新規に初期ダンプを書き込む) 前に、ダンプ・セットのすべてのダンプの期限が切れている必要があります。有効期限が、ダンプ・セットのいずれかのテープを再利用する日付以降の場合は、ダンプを追加しないでください。最終の有効期限以前にテープを再利用するには、バックアップ・データベースから初期ダンプのレコードを削除しなければなりません。 backup labeltape コマンドを使用してテープを再度ラベル付けするか (磁気テープのラベル付け を参照)、または backup deletedump コマンドを使用してレコードを直接削除します (ダンプ・レコードをバックアップ・データベースから削除するにはを参照)。

理論的には、任意数のダンプを追加することができますが、一般には以下の理由により、ダンプ・セットのテープ数を制限します (たとえば、5)。

ダンプのスケジューリング

デフォルトでは、バックアップ・システムは、 backup dump コマンドが入力されるとすぐにダンプ操作を開始し、テープ・コーディネーターが使用中から解放され、書き込むファイルのリストが使用可能になると、すぐにデータの書き込みが開始します。ただし、ダンプ操作をスケジュール化し、後の特定の時刻に開始することができます。

バックアップ・システムでは、初期ダンプおよび追加ダンプが、スケジュールであるか backup dump コマンド発行直後に実行するかにかかわらず、同じ方法で実行されます。唯一の相違点としては、正常に実行するための要件が、コマンドの発行時、およびバックアップ・システムが実際に実行を開始する際の両方に適用される点があります。バックアップ・データベースのボリューム・セット、ダンプ・レベル、およびポート・オフセットに対するすべての必須項目、およびすべてのダンプおよびテープ・レコードがどちらの場合にも存在しなくてはなりません。より重要な点としては、必要な管理トークンがどちらの時点でも使用可能でなければならないということがあります。バックアップ操作の効率化 を参照してください。

ダンプの作成

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、 テープ・コーディネーター・プロセスを開始するにはを参照してください。

       % butc [<port offset>] [-noautoquery]
    
  3. テープ装置を使用する場合は、テープを挿入します。
  4. backup コマンドを発行して、対話モードに入ります。

       % backup
    
  5. どのボリューム・セットを使用するか、およびどのダンプ・レベルを使用するかを決定します。必要であれば、 backup listvolsets および backup listdumps コマンドを発行して、既存のボリューム・セットおよびダンプ・レベルを表示します。詳細な説明および出力については、ボリューム・セットおよびボリューム項目の表示 および ダンプ階層の表示 を参照してください。

       backup> listvolsets  [<volume set name>]
       backup> listdumps
    

    一時ボリューム・セットを使用したい場合は、そのボリューム・セットを現行の対話式セッションの中で作成する必要があります。これは、(所有者がセルから抜ける際などに) ボリュームを永続的に削除するための準備として、そのボリュームをテープにダンプする場合に便利です。この場合、1 度しか使用しないボリューム・セット・レコードでバックアップ・データベースに影響を及ぼすことなく、対象のボリュームのみを持つボリューム項目を定義することができます。詳細な説明が ボリューム・セットおよびボリューム項目の定義および表示 に示されています。

       backup>  addvolset <volume set name> -temporary
       backup> addvolentry  -name <volume set name>  \
                            -server <machine name>  \
                            -partition <partition name>  \
                            -volumes <volume name (regular expression)>
    
  6. 初期ダンプを作成する場合で、永続名を持たないテープまたはバックアップ・データ・ファイルに書き込む場合、 AFS テープ名は、 AFS テープ名検査の除去 で説明したバックアップ・システムの形式要件を満たしている必要があります。必要であれば、backup readlabel コマンドを使用してラベルを表示し、 backup labeltape コマンドを使用して名前を変更します (テープ・ラベルの書き込みおよび読み取り を参照)。テープを上書きし、これが期限の切れていないダンプを含むダンプ・セットの一部である場合、テープを再度ラベル付けしますが、これは推奨できません。テープの適切な再利用方法については、 テープ再利用スケジュールの作成 を参照してください。
  7. backup dump コマンドを発行して、ボリューム・セットを作成します。

       backup> dump <volume set name> <dump level name> [<TC port offset>]   \
                    [-at <Date/time to start dump>+]  \
                    [-append]  [-n] [-file <load file>]
    

    ここで、

    dump
    完全な形式でタイプする必要があります。

    volume set name
    ダンプを作成するボリューム・セット名を指定します。

    dump level name
    ボリューム・セットをダンプするダンプ・レベルの完全なパス名を指定します。

    TC port offset
    操作を処理するテープ・コーディネーター・プロセス・のポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。

    -at
    後でコマンドを実行する、または -file 引き数で指定したファイルを読み取る日時を指定します。値を mm/dd/yyyy [hh:MM] 形式で入力し、月 (mm)、日 (dd)、および年 (yyyy) は必須です。年範囲の有効な値は、1970 から 2037 までです。標準 UNIX 表示における最後の日付の表示は 2023 年 2 月であるため、これより高い価は無効です。バックアップ・システムは、それ以降の日付を自動的に最大値の 2038 に削減します。

    時刻 (hh:MM) はオプションですが、入力する場合は 24 時間形式です (たとえば、14:36 は 2:36 p.m. のことです)。. これを省略すると、デフォルトの時刻は午前 0 時 (00:00) になります。

    例では、値 04/23/1999 20:20 により、1999 年 4 月 23 日 8:20 p.m. にコマンドをスケジューリングします。

    注:コマンド構文中、この引き数にはプラス記号が続きますが、これは複数値を受け入れるためで (値を二重引用符や他の区切り文字で囲む必要はありません)、複数の日付を受け入れるわけではありません。単一の日付 (オプションで時間) を定義します。

    -append
    そのテープまたはバックアップ・データ・ファイルに見つけた以前の 1 つまたは複数のダンプ操作から、データの最後までスキャンすることによって、追加ダンプを作成します。

    -n
    データを実際にテープまたはバックアップ・データ・ファイルに書き込まずに、指定されたダンプに組み込まれるすべてのボリュームの名前を表示します。このフラグを実際のコマンドで使用する引き数に組み合わせますが、-file 引き数とは使用しないでください。

    -file
    backup コマンドを含むファイルのローカル・ディスクまたは AFS パス名を指定します。バックアップ・システムは即時に、または -at 引き数を指定した場合はこれに指定した時刻にファイルを読み取ります。部分的なパス名は、現行作業ディレクトリーに対する相対として解釈されます。

    指定したファイルに、backup dump コマンドをそれぞれその行に配置します。構文はコマンド行と同じですが、行の開始に backup は使用しません。それぞれのコマンドには、 volume set name および dump level name 引き数を組み込む必要があります。さらに、デフォルトの値ゼロが適さない場合には、 TC port offset 引き数も組み込む必要があります。ファイル内のコマンドには、 backup dump コマンドのいずれのオプション引き数を組み込むことができます (-at 引き数を含む。これにはバックアップ・システムがファイルを読み取る日時以降の日時を指定します)。

  8. butc コマンドを発行したときに -noautoquery フラグを付けなかったか、装置の CFG_device_name 構成ファイルに AUTOQUERY YES 命令を記述している場合には、テープ・コーディネーターから装置のドライブにテープを装てんするようにプロンプトが出されます。すでにこれを行っていても、 <Return> を押して、テープがラベル付けの準備ができていることを示さなければなりません。

    複数のテープが必要な場合は、 MOUNT 命令を CFG_device_name ファイルに組み込み、対応するスタッカーまたはジュークボックスにテープを装てんするか、コンソールにとどまり次のテープに対するプロンプトに応えなければなりません。

  9. ダンプ操作が完了したら、バックアップ・システムのログ・ファイルにエラーがないかチェックします。 bos getlog コマンド (サーバー・プロセス・ログ・ファイル表示する を参照) を使用して /usr/afs/logs/BackupLog ファイルを読み取り、テープ・コーディネーター・マシンのテキスト・エディターを使用して TE_device_name および TL_device_name ファイル (/usr/afs/backup ディレクトリー) を読み取ります。

    それぞれのテープの外部ラベルにテープ名およびダンプ ID 番号を記録してとよいでしょう。


バックアップ・ダンプ・レコードの表示

backup スイートには、バックアップしたデータの情報を表示する 3 つのコマンドが含まれます。

ダンプ・レコードの表示

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. backup dumpinfo コマンドを発行して、バックアップ・データベース内にレコードされたダンプについての情報をリストする。

       % backup dumpinfo [-ndumps <no. of dumps>]  [-id <dump id>]  [-verbose]
    

    ここで、

    dump
    は、dumpinfo の受け入れ可能な省略形です。

    -ndumps
    特定数のダンプについてそれぞれ、最新のものから古いものへとバックアップ・データベース・レコードを表示します。データベースのダンプが要求した数より少なければ、出力には既存のすべてのダンプのレコードが含まれます。この引き数は、-id 引き数または -verbose フラグと組み合わせないでください。最新の 10 ダンプのレコードを表示するには、3 つのオプションをすべて省略します。

    -id
    バックアップ・データベース・レコードを表示する単一ダンプのダンプ ID 番号を指定します。 -id スイッチを組み込む必要があります。このオプションは、-ndumps または -verbose 引き数と組み合わせないでください。最新の 10 ダンプのレコードを表示するには、3 つの引き数をすべて省略します。

    -verbose
    -id 引き数 (この引き数も合わせて指定します) で指定したダンプに関するより詳細な情報を提供します。このフラグは、 -ndumps オプションと組み合わせないでください。

-ndumps 引き数を指定すると、以下の情報がテーブル形式で、ダンプごとに 1 行に表示されて出力されます。

dumpid
ダンプ ID 番号。

parentid
ダンプの親ダンプのダンプ ID 番号。値 0 (ゼロ) は、フルダンプを意味します。

lv
ダンプを作成するために使用されたダンプ・レベルのダンプ階層における深さ。値 0 (ゼロ) は、フルダンプを意味します。この場合は、parentid フィールドの値も 0 となります。1 以上の値の場合、ダンプ階層内で適切なレベルで、増分ダンプが作成されています。

created
バックアップ・システムが、ダンプを作成したダンプ・オペレーションを開始した日時。

nt
ダンプにデータを含むテープの数。値 0 (ゼロ) は、ダンプ・オペレーションが終了または失敗したことを示します。backup deletedump コマンドを使用して、古くなった項目を除去します。

nvols
ダンプにデータを組み込まれたボリュームの数。ボリュームがテープをスパンする場合、ボリュームは 2 度カウントされます。値 0 (ゼロ) は、そのダンプ・オペレーションが終了または失敗したことをダンプ・オペレーションに示します。この場合は、nt フィールドの値も 0 となります。

dump name
以下の形式のダンプ名。

      volume_set_name.dump_level_name (initial_dump_ID)

ここで、volume_set_name は、ボリューム・セットの名前であり、 dump_level_name は、ボリューム・セットがダンプされたダンプ・レベル内の最後の要素の名前です。

initial_dump_ID が表示された場合、これは、このダンプが属しているダンプ・セットの初期ダンプのダンプ ID です。括弧内に値がない場合、ダンプは、ダンプ・セット内の初期ダンプで、追加ダンプはありません。

-id 引き数だけが指定されている場合、出力の最初の行は、文字列 Dump で始まり、以下のフィールドにダンプ全体の情報がレポートされます。

id
ダンプ ID 番号。

level
ダンプを作成するために使用されたダンプ・レベルのダンプ階層における深さ。値 0 (ゼロ) は、フルダンプを意味します。 1 またはそれ以上の値は、ダンプ階層の指定されたレベルで行われた増分ダンプを示します。

volumes
ダンプにデータを組み込まれたボリュームの数。

created
ダンプ操作が開始した日時。

フランク行に続いて、ダンプからのボリューム・データを収容する各テープについての項目が出力されます。文字列 Tape に続いて、各項目の最初の 2 行では、以下のフィールドにそのテープに関する情報がレポートされます。

name
テープに永続名がある場合はその名前、永続名がない場合は AFS テープ名、および括弧内にテープの ID 番号。

nVolumes
このテープがダンプ・データを組み込むボリュームの数。

created
テープ・コーディネーターがこのテープにデータの書き込みを開始した日時。

別のブランク行に続いて、テープに固有の情報が、テープの各ボリューム・ダンプごとに 1 行を組み込むテーブル形式で出力されます。情報は、以下の見出しを持つ列に表示されます。

Pos
このテープまたはファイルの各ボリュームの相対的な位置。テープでは、カウンターは、位置 2 から始まり (テープ・ラベルが位置 1 を占めます)、ボリュームごとに 1 ずつ増分されます。バックアップ・データ・ファイルのボリュームの場合、位置番号は、1 から始まり、通常、1 ずつ増分されません。各ボリュームは、ボリュームのデータが開始されるファイル内の 16 KB オフセットの順序です。したがって、位置番号の差は、ボリュームのデータが 16 KB ブロックをいくつ占有しているかを示します。たとえば、リストの 2 番目のボリュームが位置 5 で、 3 番目のボリュームが位置 9 の場合は、2 番目のボリュームのダンプが、ファイル内の 64KB (16KB ブロック 4 つ) のスペースを占有することを意味します。

Clone time
バックアップ・ボリュームまたは読み取り専用ボリュームの場合は、読み取り / 書き込みソースから複製された時刻です。読み取り / 書き込みボリュームの場合は、出力の最初の行にレポートされるダンプ作成日と同じになります。

Nbytes
ボリュームのダンプ内のデータのバイト数。

Volume
適切な場合、.backup または .readonly 拡張子を使用します。

-id 引き数と -verbose フラグの両方を指定すると、出力は、いくつかの機能グループに分割されます。

以下の例のコマンドでは、 5 つの最新ダンプ操作のバックアップ・データベース・レコードを表示しています。

   % backup dump 5
      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

ボリュームのダンプ履歴を表示するには

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. backup volinfo コマンドを発行して、ボリュームのダンプ履歴を表示します。

       % backup volinfo <volume name>
    

    ここで、

    voli
    は、volinfo の受け入れ可能な省略形です。

    volume name
    ダンプ履歴を表示するボリュームの名前です。ボリュームのバックアップまたは読み取り専用バージョンをダンプした場合は、 .backup または .readonly 拡張子を組み込みます。

出力には、指定したボリュームについて言及する、各バックアップ・データベースのダンプ・レコードに関する 1 行が、最新のものから順に組み込まれています。各レコードに関する出力は、6 列のテーブルに表示されます。

dumpID
ボリュームが組み込まれているダンプのダンプ ID。

lvl
ボリュームをダンプするダンプ・レベルのダンプ階層における深さ。値の 0 は、これがフルダンプであることを示します。1 またはそれ以上の値は、ダンプ階層の指定された深さで行われた増分ダンプを示します。

parentid
ダンプの親ダンプのダンプ ID。値の 0 は、フルダンプを示します。これは親を持っていません。このケースでは、 lvl もまた 0 でなければなりません。

creation date
バックアップ・システムが、ダンプを作成したダンプ・オペレーションを開始した日時。

clone date
バックアップ・ボリュームまたは読み取り専用ボリュームの場合は、読み取り / 書き込みソースから複製された時刻です。読み取り / 書き込みボリュームの場合は、 creation date フィールドの値と同じです。

tape name
ダンプを含んでいるテープの名前。<volume_set_name>.<dump_level_name>.<tape_index>の形式の、永久テープまたは AFS テープ名。ここで、volume_set_name は、ダンプ・セット内の初期ダンプと関連したボリューム・セットの名前です。 dump_level_name は、初期ダンプがバックアップされたダンプ・レベルにおける最終要素の名前です。 tape_index は、ダンプ・セット内のテープの数値的な位置です。いずれの名前のタイプの後にダンプ ID が括弧内に続くことがあります。ダンプ ID が表示された場合、これは、この付記されたダンプが属しているダンプ・セットの初期ダンプのダンプ ID です。

次の例は、バックアップ・ボリューム user.smith.backup のダンプ履歴の一部を示しています。

   % backup volinfo user.smith.backup
   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
       .     .      .         .       .       .      .         .
       .     .      .         .       .       .      .         .

テープ内容をスキャンするには

注:破壊または損傷したテープをスキャンできるかどうかは、損傷の程度および破壊されたデータの種類によります。通常、バックアップ・システムは、損傷のある点までは正常にスキャンすることができます。損傷が微小であれば、バックアップ・システムは通常これをスキップし、残りをスキャンしますが、損傷が大きいとスキャンの継続ができない場合があります。スキャン操作は、ダンプ・セットの最初のテープから開始する必要はありませんが、バックアップ・システムは指定された初期テープ以降のテープ処理は順番にしか行いません。このため、1 つのテープに損傷があってもダンプ・セットの他のテープのスキャンが行えなくなることはありませんが、スキャン可能なのは損傷テープの前のテープか、後続のテープのいずれかで、両方はスキャンできません。

-dbadd フラグを使用してバックアップ・データベースに情報をスキャンする場合で、最初のテープがダンプ・セットの最初のテープではない場合、以下の制限が適用されます。

  • テープの最初のデータが、ダンプ・セットの前の (未スキャン) テープから開始するボリュームの継続であれば、バックアップ・システムはそのボリュームのレコードをバックアップ・データベースに追加しません。
  • バックアップ・システムは、追加ダンプにボリュームのデータベース・レコードを追加する際に、追加ダンプの開始を示すマーカーを読み取らなくてはなりません。テープの最初のボリュームが追加ダンプに含まれる場合で、追加ダンプ・マーカーが直前にない場合、バックアップ・システムは、追加ダンプ、または追加ダンプに含まれる後続のボリュームのバックアップ・データベース・レコードは作成しません。
  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、 テープ・コーディネーター・プロセスを開始するには を参照してください。

       % butc [<port offset>] [-noautoquery]
    
  3. テープをスキャンする場合は、テープをドライブに挿入します。
  4. (オプション) backup コマンドを発行して、対話モードに入ります。

       % backup
    
  5. backup scantape コマンドを発行して、テープの内容を読み取ります。

       backup> scantape [-dbadd] [-portoffset <TC port offset>]
    

    ここで、

    sc
    は、scantape の受け入れ可能な省略形です。

    -dbadd
    ダンプ内のテープおよびダンプ・レベルからダンプおよびテープ・レコードを構成し、これをバックアップ・データベースに書き込みます。

    TC port offset
    操作を処理するテープ・コーディネーター・プロセス・のポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。
  6. butc コマンドを発行したときに、-noautoquery フラグを付けなかったか、装置の CFG_device_name 構成ファイルに AUTOQUERY YES 命令を記述している場合には、テープ・コーディネーターから装置のドライブにテープを装てんするようにプロンプトが出されます。すでにこれを行っていても、 <Return> を押して、テープが読み取りの準備ができていることを示さなければなりません。

テープのスキャン操作を終了するには、 <Ctrl-c> などの終了シグナルを使用するか、対話モードで (backup) kill コマンドを発行します。 -dbadd 引き数を組み込んだ場合は、スキャンに割り込みをしない方がよいでしょう。バックアップ・システムがバックアップ・データベースに新規レコードの書き込みを行った場合は、これを除去してからスキャン操作を再度実行します。スキャン操作の繰り返し中に、バックアップ・システムが作成する必要のあるレコードが既に存在することを検出すると、操作が停止します。

テープ上の各ダンプに対して、[テープ・コーディネーター] ウィンドウ内の出力は、ダンプ・ラベル、および、それに続く、各ボリュームに対する項目を表示します。[コマンド] ウィンドウ内には出力はありません。ダンプ・ラベルは、テープ・ラベルの書き込みおよび読み取り で説明したように、 backup readlabel コマンドによって表示されたテープ・ラベルと同じフィールドを持っています。出力フィールドの詳細は、AFS Administration Reference を参照してください。

以下の例は、ポート・オフセット 2 を持っている装置内のテープ上のダンプ・ラベルおよび最初のボリューム項目を示します。

   % backup scantape 2
   -- 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

データの復元と回復

バックアップを作成する目的は、データが破壊または偶発的に除去された場合に、データを過去の状態と一貫性がある状態に戻して復元することにあります。 AFS バックアップ・システムでは、さまざまな数のボリュームを復元するコマンドを 3つ提供しています。

コマンドは組となって各種目的に応じるようにしています。コマンドの機能の組み合わせ、およびその付与する要件が各種存在するためです。特定の復元操作に適切なコマンドを決定するには、この概要に続く機能グループ backup volrestore コマンドを使用するbackup diskrestore コマンドの使用、および backup volsetrestore コマンドの使用 を参照してください。

復元操作をより効率的にする

以下の記述は、すべてのタイプの復元操作に適用されます。

backup volrestore コマンドを使用する

いくつかのボリュームを単一のサイト (ファイル・サーバー・マシンのパーティション)に復元するには、 backup volrestore コマンドを使用するのが最適です。デフォルトでは、ボリュームは最新のダンプ操作時の状態に復元されます (フル復元 と呼ばれます)。また、このコマンドを使用することにより、日付指定の復元 が実行できます。これは、指定した日時以前に実行されたダンプ (フルおよび増分) のみを復元し、ボリュームを妥当な最終増分ダンプ時の状態に戻します。backup diskrestore および backup volsetrestore コマンドは、フル復元のみ実行します。

データの復元を、現行バージョンに上書きするのではなく、それぞれのボリュームの新規コピーに行うには、 -extension 引き数を組み込みます。ファイル・スペースに新規ボリュームをマウントした後、両者の内容を比較して、どちらを永続的に保持するか決定することができます。

以下のリストには、backup volrestore コマンドの引き数を組み合わせた、異なる方法によるボリュームの復元方法を示しています。

backup volrestore コマンドによるボリュームの復元

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、 テープ・コーディネーター・プロセスを開始するには を参照してください。

       % butc [<port offset>] [-noautoquery]
    

    複数のテープ装置を使用している場合は、それぞれのテープ・コーディネーターごとにコマンドを繰り返します。

  3. テープ装置を使用する場合は、テープを挿入します。
  4. backup コマンドを発行して、対話モードに入ります。

       % backup
    
  5. 使用したい引き数を付けて backup volrestore コマンドを発行します。

       backup> volrestore <destination machine> <destination partition>  \
                          -volume <volume(s) to restore>+  \
                          [-extension <new volume name extension>]  \
                          [-date <date from which to restore>]  \
                          [-portoffset <TC port offsets>+] [-n]
    

    ここで、

    volr
    は、volrestore の受け入れ可能な省略形です。

    destination machine
    それぞれのボリュームを復元するファイル・サーバー・マシンの名前です。ボリュームの現行サイトである必要はありません。

    destination partition
    それぞれのボリュームを復元するパーティションの名前です。ボリュームの現行サイトである必要はありません。

    -volume
    復元するボリュームの名前です。基本 (読み取り / 書き込み) 名を指定するのが最適です。理由は 復元操作をより効率的にする を参照してください。

    -extension
    復元したデータを配置する新規ボリュームを作成します。名前は、-volume 拡張子で指定した各ボリューム名に指定文字列を追加して作成します。バックアップ・システムは、既存のボリュームが存在する場合は、その内容を保存します。.readonly または .backup 拡張子は予約済みのため使用しないでください。基本ボリューム名と拡張子の組み合わせは、22 文字以内とします。ピリオドを使って拡張子を名前から分離したい場合、ピリオドを文字列の最初の文字に指定します (たとえば、 .rst のようにします)。

    -date
    日付およびオプションで時刻を指定します。復元されるボリュームには、この日付以前に実行されたダンプのデータのみが組み込まれます。値を mm/dd/yyyy [hh:MM] 形式で入力します。必須部分の mm/dd/yyyy は、月 (mm)、日 (dd)、および年 (yyyy) を示し、オプションの hh:MM は、 24 時間形式の時刻を示します (たとえば、14:36 は 2:36 p.m. を表します)。これを省略すると、デフォルトは、午前 0 時 59 秒 (00:00:59 時) となります。

    年範囲の有効な値は、1970 から 2037 までです。標準 UNIX 表示における最後の日付の表示は 2023 年 2 月であるため、これより高い価は無効です。コマンド・インタープリターは、それ以降の日付を自動的に最大値に削減します。

    注:コマンド構文中、この引き数にはプラス記号が続きますが、これは複数値を受け入れるためで (値を二重引用符や他の区切り文字で囲む必要はありません)、複数の日付を受け入れるわけではありません。単一の日付 (オプションで時間) を定義します。

    -portoffset
    1 つ以上のポート・オフセット番号を指定します。それぞれが操作で使用するテープ・コーディネーターに対応します。複数の値がある場合、それぞれのボリュームのフル・ダンプを復元する際、リスト中の最初のオフセット、レベル 1 の増分ダンプの復元では次のオフセットというように、以降はこれを順次使用します。リストの最終値を使用する際は、ダンプ階層中これに対応する深さのダンプ、およびこれ以下のレベルのすべてのダンプが復元されます。

    すべてのダンプについてデフォルト値の 0 (ゼロ) が適切でない場合に限り、この引き数を使用します。 0 がリスト中の値の 1 つであれば、これを適当な順序で明示的に指定します。

    -n
    復元操作で必要とするダンプを含むテープのリストを表示します。実際に操作は行いません。
  6. butc コマンドを発行したときに、-noautoquery フラグを付けなかったか、装置の CFG_device_name 構成ファイルに AUTOQUERY YES 命令を記述している場合には、テープ・コーディネーターから装置のドライブにテープを装てんするようにプロンプトが出されます。すでにこれを行っていても、 <Return> を押して、テープがラベル付けの準備ができていることを示さなければなりません。

    複数のテープが必要な場合は、 MOUNT 命令を CFG_device_name ファイルに組み込み、対応するスタッカーまたはジュークボックスにテープを装てんするか、コンソールにとどまり次のテープに対するプロンプトに応えなければなりません。

  7. 復元操作が完了したら、バックアップ・システムのログ・ファイルにエラーがないかチェックします。 bos getlog コマンド (サーバー・プロセス・ログ・ファイル表示する を参照) を使用して /usr/afs/logs/BackupLog ファイルを読み取り、テープ・コーディネーター・マシンのテキスト・エディターを使用して TE_device_name および TL_device_name ファイル (/usr/afs/backup ディレクトリー) を読み取ります。

backup diskrestore コマンドの使用

ハードウェア障害によりすべてのデータが破壊または破棄された場合など、すべてのボリュームを AFS サーバー・パーティションに復元する必要がある場合には、 backup diskrestore コマンドが最適です。このコマンドにより、指定パーティションが現行サイトとして VLDB にリストされているすべての読み取り / 書き込みボリュームのフル復元が実行されます。この際、最新のダンプの種類に応じて、それぞれのボリュームの読み取り / 書き込みまたはバックアップ・バージョンのいずれかのダンプが使用されます。 (backup diskrestore 操作の完了後、 vos backup および vos release コマンドを使用すれば、パーティション上にある任意のバックアップまたは読み取り専用ボリュームを復元できます。)

デフォルトでは、バックアップ・システムはボリュームが以前に配置されていたサイトに復元を行います。パーティション内容を新規サイトに移動するには、 -newserver および -newpartition 引き数を単独または組み合わせて使用します。

デフォルトでは、バックアップ・システムは復元されたデータにより既存のボリュームの内容を上書きします。代わりに新規ボリュームを作成して復元データを配置するには、 -extension 引き数を使用します。バックアップ・システムは、 -newserver および -newpartition 引き数 (これを使用した場合)、または -server および -partition 引き数 (それ以外の場合) で指定したサイトに新規ボリュームを作成します。バックアップ・システムは、 VLDB にリストされている読み取り / 書き込み基本名に拡張子を追加してボリューム名を作成し、新しい VLDB 項目を作成します。コマンドにより、既存のボリュームが影響を受けることはありません。ただし、指定された拡張子を持つボリュームが既に存在する場合は、コマンドはこれを上書きします。

パーティションが損傷を受けていると思われる場合、backup diskrestore コマンドの前に vos syncserv コマンドを実行しないでください。前述のとおり、バックアップ・システムは VLDB のサイト定義に従いボリュームを復元します。 vos syncserv コマンドは、パーティションの損傷がひどくボリューム・サーバーがボリュームの存在を確認できない場合に、ボリュームの VLDB 項目を除去する場合があります。

backup diskrestore コマンドによるパーティションの復元

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、 テープ・コーディネーター・プロセスを開始するには を参照してください。

       % butc [<port offset>] [-noautoquery]
    

    複数のテープ装置を使用している場合は、それぞれのテープ・コーディネーターごとにコマンドを繰り返します。

  3. テープ装置を使用する場合は、テープを挿入します。
  4. backup コマンドを発行して、対話モードに入ります。

       % backup
    
  5. 使用したい引き数を付けて backup diskrestore コマンドを発行します。

       backup> diskrestore <machine to restore> <partition to restore>  \
                           [-portoffset <TC port offset>+]  \
                           [-newserver <destination machine>]  \
                           [-newpartition <destination partition>]  \
                           [-extension <new volume name extension>] [-n]
    

    ここで、

    di
    は、diskrestore の受け入れ可能な省略形です。

    machine to restore
    VLDB に復元の必要があるボリュームのサイトとしてリストされているファイル・サーバー・マシンの名前です。

    partition to restore
    VLDB に復元の必要があるボリュームのサイトとしてリストされているパーティションの名前です。

    -portoffset
    1 つ以上のポート・オフセット番号を指定します。それぞれが操作で使用するテープ・コーディネーターに対応します。複数の値がある場合、それぞれのボリュームのフル・ダンプを復元する際、リスト中の最初のオフセット、レベル 1 の増分ダンプの復元では次のオフセットというように、以降はこれを順次使用します。リストの最終値を使用する際は、ダンプ階層中これに対応する深さのダンプ、およびこれ以下のレベルのすべてのダンプが復元されます。

    すべてのダンプについてデフォルト値の 0 (ゼロ) が適切でない場合に限り、この引き数を使用します。 0 がリスト中の値の 1 つであれば、これを適当な順序で明示的に指定します。

    -newserver
    ボリュームの復元先である代替ファイル・サーバー・マシンの名前です。この引き数を省略すると、ボリュームは -server 引き数で指定したファイル・サーバー・マシンに復元されます。

    -newpartition
    データの復元先となる代替パーティションの名前です。この引き数を省略すると、ボリュームは -partition 引き数で指定したパーティションに復元されます。

    -extension
    復元されるそれぞれのボリュームに対して新規ボリュームを作成し、復元データを配置します。VLDB にリストされているボリュームの読み取り / 書き込み基本名に、指定文字列を追加します。 .readonly または .backup 以外のいずれの文字列も受け入れ可能です。基本名と拡張子の組み合わせは、22 文字以内とします。ピリオドを使って拡張子を名前から分離するには、ピリオドを文字列の最初の文字に指定します (たとえば、 .rst のようにします)。

    -n
    要求された復元の実行に必要なテープをリストします。実際に操作は行いません。
  6. butc コマンドを発行したときに、-noautoquery フラグを付けなかったか、装置の CFG_device_name 構成ファイルに AUTOQUERY YES 命令を記述している場合には、テープ・コーディネーターから装置のドライブにテープを装てんするようにプロンプトが出されます。すでにこれを行っていても、 <Return> を押して、テープがラベル付けの準備ができていることを示さなければなりません。

    複数のテープが必要な場合は、 MOUNT 命令を CFG_device_name ファイルに組み込み、対応するスタッカーまたはジュークボックスにテープを装てんするか、コンソールにとどまり次のテープに対するプロンプトに応えなければなりません。

  7. 復元操作が完了したら、バックアップ・システムのログ・ファイルにエラーがないかチェックします。 bos getlog コマンド (サーバー・プロセス・ログ・ファイル表示する を参照) を使用して /usr/afs/logs/BackupLog ファイルを読み取り、テープ・コーディネーター・マシンのテキスト・エディターを使用して TE_device_name および TL_device_name ファイル (/usr/afs/backup ディレクトリー) を読み取ります。

backup volsetrestore コマンドの使用

複数の読み取り / 書き込みボリュームをフル復元し、それぞれを指定サイトに配置する場合は、 backup volsetrestore コマンドが最適です。復元するボリュームの指定は、 -name 引き数でボリューム・セットを指定するか、またはそれぞれのボリューム名および復元サイトを -file 引き数で指定したファイルにリストします。以下の機能グループで説明をします。

backup volsetrestore コマンドを使用すると、単一コマンドで多数のボリュームが復元できるため、復元操作は完了までに長時間かかる場合があります。時間を短縮する方法としては、コマンドの複数インスタンスを同時に実行する方法があります。 -name 引き数を使用してそれぞれのコマンドにばらばらのボリューム・セットを指定するか、 -file 引き数を使用して、異なるボリュームをリストするファイルを指定します。要求されるテープを読み取るには、複数のテープ・コーディネーターが必要です。復元するボリュームをテープにダンプする方法によっては、ばらばらのボリューム・セットを指定することにより、必要なテープ交換回数も減らすことができます。

-name 引き数を使用したボリューム・セットの復元

-name 引き数を使用することにより、ボリューム・セットに定義されたボリューム・グループを復元することができます。バックアップ・システムは、ボリューム・セットのボリューム項目に定義されたサーバー、パーティション、およびボリューム名条件に一致し、ダンプが可能なボリュームのリストを VLDB に作成します。ボリュームは、VLDB にリストされていれば、サーバー・パーティションに存在しなくてもかまいません (これはたとえば、ハードウェア問題によりディスク全体の内容が破壊された場合に起こります)。

デフォルトでは、バックアップ・システムは、ボリューム・セット条件と一致するボリュームを、それぞれ読み取り / 書き込みボリュームとして、VLDB にリストされたサイトに復元します。一致する名前のボリュームがそのサイトに存在すれば、現行の内容は上書きされます。代わりに -extension 引き数を組み込むことにより、新規ボリュームを作成して復元データを配置することができます。バックアップ・システムは、新規ボリュームを既存のボリュームのサイトに作成します。この名前は、既存ボリュームの読み取り / 書き込み基本名に拡張子を追加したもので、これに対する新規 VLDB 項目が作成されます。コマンドにより、既存のボリュームが影響を受けることはありません。ただし、指定された拡張子を持つボリュームが既に存在する場合は、コマンドはこれを上書きします。新規ボリュームの内容をアクセス可能にするには、fs mkmount コマンドを使用してこれをマウントします。その上で、その内容を既存のボリュームの内容と比較し、どちらを永続的に保存するか判別することができます。

そのボリューム・セットが、以前にボリュームのバックアップに使用された (backup dump コマンドの -volumeset オプションとして使用された) 必要はありません。ボリューム・セットは、このコマンドを使った復元が必要かつ通常はよりよい選択肢であるボリュームに適すように、特に定義することができます。実際、 backup addvolset コマンドに -temporary フラグを組み込んで作成された temporary ボリューム・セットは、このコンテキストでは特に役立ちます (ボリューム・セットおよびボリューム項目の定義および表示 の説明を参照)。一時ボリューム・セットはバックアップ・データベースに追加されず、現在の対話式バックアップ・セッションの間のみ存続します。これは、そのボリューム・セットが、このコマンドによって開始された単一の復元操作のみを完了する必要がある場合に適しています。

特に定義されたボリューム・セットの方がおそらく適しているという理由は、ダンプ操作で使用するために以前に定義されたボリューム・セットは、ボリュームのバックアップ・バージョンに適していますが、復元操作に対しては、基本 (読み取り / 書き込み) 名に適したボリューム項目を定義するのがよいからです。この場合、バックアップ・システムは、バックアップ・データベースから、ボリュームの読み取り / 書き込みまたはバックアップ・バージョンのいずれかのダンプを含む最新のダンプ・セットを検索します。これに対して、ボリューム項目が明示的にボリュームのバックアップまたは読み取り専用バージョンと一致する場合は、バックアップ・システムは、そのボリューム・バージョンのダンプのみを使用し、 .backup または .readonly 拡張子を取り外して、それらを読み取り / 書き込みボリュームに復元します。

ボリューム・セット条件に合致する VLDB 項目がある場合で、これに対してバックアップ・データベースにはダンプが記録されていなければ、バックアップ・システムはこれを復元することができません。それぞれにつき、標準エラー・ストリームにエラー・メッセージが表示されます。

-file 引き数によりファイルにリストされたボリュームを復元する

-file 引き数を使用して、復元するそれぞれの読み取り / 書き込みボリュームの名前およびサイトを指定します。それぞれのボリュームの項目が、ファイル中の指定行 (改行なし) に以下の形式に準拠して表示されます。

      machine    partition   volume    [comments...]

ここで、

machine
ボリュームの復元先であるファイル・サーバー・マシンの名前です。現行サイト以外のマシンを指定することにより、復元する際にボリュームが移動できます。

partition
ボリュームの復元先であるパーティションの名前です。現行サイト以外のパーティションを指定することにより、復元する際にボリュームが移動できます。

volume
復元するボリュームの名前です。基本 (読み取り / 書き込み) 名を指定して、バックアップ・システムが、バックアップ・データベースから、ボリュームの読み取り / 書き込みまたはバックアップ・バージョンのいずれかのダンプを含む最新のダンプ・セットを検索するようにします。これにより、最新のフル・ダンプから開始して、ボリュームのそのバージョンのダンプが復元されます。一方で、 .backup または .readonly 拡張子を組み込んだ場合は、バックアップ・システムはそのボリューム・バージョンのダンプのみを復元しますが、読み取り / 書き込みボリュームに拡張子なしで復元されます。基本名は、 VLDB ではなくバックアップ・データベースのダンプ・レコードで使用する名前に一致させます (これらが異なる場合)。バックアップ・システムは -file 引き数を使用する際、VLDB を照会しません。

comments...
その他のテキストです。バックアップ・システムは、ボリューム名以降の行内のテキストは無視するため、このフィールドに注釈を記入することができます。

machinepartition、または volume フィールドにワイルドカード (たとえば .*) は使用しないでください。ファイル内の複数行で同じボリュームを指定することができますが、バックアップ・システムはその最初のボリュームのみ処理します。

デフォルトでは、バックアップ・システムはそれぞれのボリュームの既存のバージョンを復元データに置き換え、ボリュームを machine および partition フィールドで指定したサイトに配置します。代わりに -extension 引き数を組み込むことにより、新規ボリュームを作成して復元内容を配置することができます。バックアップ・システムは、 machine および partition フィールドで指定したサイトに、新規ボリュームを作成します。新規ボリュームの名前は、 volume フィールドの名前の読み取り / 書き込みバージョンに指定拡張子を追加したもので、これに対する新規 VLDB 項目が作成されます。コマンドにより、既存のボリュームが影響を受けることはありません。ただし、指定された拡張子を持つボリュームが既に存在する場合は、コマンドはこれを上書きします。新規ボリュームの内容をアクセス可能にするには、fs mkmount コマンドを使用してこれをマウントします。その上で、その内容を既存のボリュームの内容と比較し、どちらを永続的に保存するか判別することができます。

バックアップ・データベースにダンプが記録されていないボリュームの項目がファイルに含まれる場合は、バックアップ・システムはこれを復元することができません。それぞれにつき、標準エラー・ストリームにエラー・メッセージが表示されます。

-file 引き数の入力に使用するファイルを作成する方法としては、コマンドを -name および -n オプションを使用して発行し、出力をファイルに送信する方法があります。出力には、それぞれのボリュームについて以下のような行が含まれます (ここでは分かりやすくするため、 2 行に分けて表示)。この値は、以下のリストに示すソースより取得しています。

      machine   partition   volume_dumped  # as   volume_restored;    \
         tape_name   (tape_ID);   pos   position_number;   date

ここで、

machine
現在ボリュームを所有するファイル・サーバー・マシンの名前。VLDB のリストに同様。

partition
現在ボリュームを所有するパーティションの名前。VLDB のリストに同様。

volume_dumped
バックアップ・データベースのリストに従って、ダンプされたボリュームのバージョン (読み取り / 書き込みまたはバックアップ) を指定します。

volume_restored
-n フラグを組み込まずにバックアップ・システムがボリュームを復元する際に使用する名前を指定します。 -extension 引き数を、 -name および -n オプションと合わせて組み込んだ場合、このフィールドの名前には拡張子が付きます (たとえば、user.pat.rst)。

tape_name
ボリュームのダンプを含むテープの名前です。バックアップ・データベースにリストされています。テープに永続名がある場合、ここに表示されます。なければ AFS テープ名となります。

tape_ID
ボリュームのダンプを含むテープのテープ ID です。バックアップ・データベースにリストされています。

position_number
テープにおけるダンプの位置を指定します (たとえば 31 は、テープ上で現行ダンプの前に 30 ボリューム・ダンプがあることを示します)。ダンプがバックアップ・データ・ファイルに書き込まれた場合は、この数はボリューム・データが開始する 16 KB オフセットの順序数です。

date
ボリュームがダンプされた日時。

項目を -file 引き数で使用できるようにするには、これを指示に従い編集します。

backup volsetrestore コマンドによりボリューム・グループを復元する

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、 テープ・コーディネーター・プロセスを開始するには を参照してください。

       % butc [<port offset>] [-noautoquery]
    

    複数のテープ装置を使用している場合は、それぞれのテープ・コーディネーターごとにコマンドを繰り返します。

  3. テープ装置を使用する場合は、テープを挿入します。
  4. backup コマンドを発行して、対話モードに入ります。

       % backup
    
  5. (オプション) この復元操作のために特別に新規ボリュームを作成するのが適当な場合は、 (backup) addvolset を発行してこれを作成します。バックアップ・データベースにボリューム・セットを負荷する必要がない場合は、 -temporary フラグを組み込みます。次に、1 つまたは複数の (backup) addvolentry コマンドを発行して、復元されるボリュームのみを組み込むボリューム項目を作成します。詳細な説明が ボリューム・セットおよびボリューム項目の定義および表示 に示されています。

       backup> addvolset <volume set name>  [-temporary]
    
       backup> addvolentry  -name <volume set name>  \
                            -server <machine name>  \
                            -partition <partition name>  \
                            -volumes <volume name (regular expression)>
    
  6. 使用したい引き数を付けて backup volsetrestore コマンドを発行します。

       backup> volsetrestore [-name <volume set name>]  \
                     [-file <file name>]  \
                     [-portoffset <TC port offset>+]  \
                     [-extension <new volume name extension>] [-n]
    

    ここで、

    -name
    復元するボリューム・セットの名前です。バックアップ・システムは、 VLDB のリスト中、ボリューム・セットのボリューム項目に一致するすべてのボリュームを復元します (-name 引き数を使用したボリューム・セットの復元 を参照)。この引き数は、 -file 引き数とは一緒に使用できません。

    -file
    1 つ以上のボリューム、およびそれぞれのボリュームを復元するサイト (ファイル・サーバー・マシンおよびパーティション) をリストするファイルの全パス名を指定します。入力ファイルは、 -file 引き数によりファイルにリストされたボリュームを復元する に説明した形式をとります。この引き数は、-name 引き数とは一緒に使用できません。

    -portoffset
    1 つ以上のポート・オフセット番号を指定します。それぞれが操作で使用するテープ・コーディネーターに対応します。複数の値がある場合、それぞれのボリュームのフル・ダンプを復元する際、リスト中の最初のオフセット、レベル 1 の増分ダンプの復元では次のオフセットというように、以降はこれを順次使用します。リストの最終値を使用する際は、ダンプ階層中これに対応する深さのダンプ、およびこれ以下のレベルのすべてのダンプが復元されます。

    すべてのダンプについてデフォルト値の 0 (ゼロ) が適切でない場合に限り、この引き数を使用します。 0 がリスト中の値の 1 つであれば、これを適当な順序で明示的に指定します。

    -extension
    復元されるそれぞれのボリュームに対して新規ボリュームを作成し、復元データを配置します。VLDB にリストされているボリュームの読み取り / 書き込み基本名に、指定文字列を追加します。 .readonly または .backup 以外のいずれの文字列も受け入れ可能です。基本名と拡張子の組み合わせは、22 文字以内とします。ピリオドを使って拡張子を名前から分離するには、ピリオドを文字列の最初の文字に指定します (たとえば、 .rst のようにします)。

    -n
    フラグが組み込まれない場合に復元するボリュームのリストを表示します。実際にこれを復元することはありません。この解説ページの 出力 についての機能グループには、出力形式の詳細が記されています。 -name 引き数と組み合わせると、その出力が簡単に編集でき、以降の backup volsetrestore コマンドで -file 引き数の入力に使用することができます。
  7. butc コマンドを発行したときに、-noautoquery フラグを付けなかったか、装置の CFG_device_name 構成ファイルに AUTOQUERY YES 命令を記述している場合には、テープ・コーディネーターから装置のドライブにテープを装てんするようにプロンプトが出されます。すでにこれを行っていても、 <Return> を押して、テープがラベル付けの準備ができていることを示さなければなりません。

    複数のテープが必要な場合は、 MOUNT 命令を CFG_device_name ファイルに組み込み、対応するスタッカーまたはジュークボックスにテープを装てんするか、コンソールにとどまり次のテープに対するプロンプトに応えなければなりません。

  8. 復元操作が完了したら、バックアップ・システムのログ・ファイルにエラーがないかチェックします。 bos getlog コマンド (サーバー・プロセス・ログ・ファイル表示する を参照) を使用して /usr/afs/logs/BackupLog ファイルを読み取り、テープ・コーディネーター・マシンのテキスト・エディターを使用して TE_device_name および TL_device_name ファイル (/usr/afs/backup ディレクトリー) を読み取ります。

バックアップ・データベースの保守

バックアップ・データベースは、データのダンプと復元を行うときに使用する構成と追跡のすべての情報を保管します。ハードウェア障害、またはデータベース・サーバー・マシンのほかの問題によってデータベースが破壊、または損傷した場合、構成情報 (ダンプ階層、ボリューム・セットのリスト、およびテープ・コーディネーターのポート・オフセット番号) を再作成するのは比較的容易です。けれども、ダンプ追跡情報 (ダンプ・レコード) の復元は、もっと複雑で時間がかかります。データの消失を防ぐ、バックアップ・データベースそのものを定期的にテープにバックアップします。

他の潜在的な問題としては、バックアップ・システムは、ダンプ操作の詳細で相互参照されたレコードを保持するため、バックアップ・データベースがすぐに大きくなってしまう点があげられます。バックアップ・サーバーが、必要なデータを見つけるために大量の古くなったレコードをナビゲートしなければならない場合、バックアップ・オペレーションは、より非効率的になる可能性があります。データベースを管理可能なサイズに保つには、 backup deletedump コマンドを使用して、古くなったレコードを除去します (古くなったレコードをバックアップ・データベースから除去する を参照)。しかし、まだ必要なレコードを除去してしまったことに後から気付いた場合は、 backup scantape コマンドを使用して、対応するテープ上のダンプおよびラベルから情報をデータベースに読み取ることができます (テープ内容をスキャンするには を参照)。

バックアップ・データベースのバックアップと復元

バックアップ・データベース内の情報は重要なものであり、これはテープまたは他の永続的なメディアに定期的に保存するのがよいでしょう。他の AFS 管理データベースの場合、推奨される方法としては、 UNIX tar コマンドのようにマシンのローカル・ディスクをバックアップするためのユーティリティーを使用するものがあります。説明については、管理用データベースのバックアップと復元 を参照してください。

まれにではありますが、バックアップ・データベースが損傷または破壊されたと思われる場合は、 backup dbverify コマンドを使用してその状況をチェックすることができます。これが破壊されている場合は、backup savedb コマンドを使用することにより損傷が修復可能な場合もあります。その上で、backup restoredb を使用して、修正したデータベースをデータベース・サーバー・マシンのローカル・ディスクに戻します。説明については、バックアップ・データベースの破壊のチェックおよび修復 を参照してください。

バックアップ・データベースの破壊のチェックおよび修復

まれにバックアップ・データベースが、ディスクまたはその他のハードウェア・エラーのために損傷または破壊される場合があります。 backup dbverify コマンドを使用して、データベースの整合性を検査します。これが破壊されている場合、最も効率的な修復方法は、backup savedb コマンドを使用してデータベースをテープにコピーするものです。コマンドにより、自動的にいくつかの種類の損傷は自動的に修復され、その上で backup restoredb コマンドを使用して、データベースの修復コピーをデータベース・サーバー・マシンのローカル・ディスクに戻します。

backup savedb コマンドにより 孤立ブロック を削除することもできます。これは、バックアップ・サーバーがデータベースに事前割り振りしたメモリー範囲で、使用できなくなったものです。孤立ブロックはデータベース・アクセスの障害となるものではありませんが、ディスク・スペースを浪費します。backup dbverify コマンドを使用すると、 -detail フラグを組み込んだ場合に、孤立ブロックがあるか報告されます。

バックアップ・データベースの整合性を検査するには

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. backup dbverify コマンドを発行して、バックアップ・データベースの整合性を検査します。

       % backup dbverify [-detail]
    

    ここで、

    db
    は、dbverify の受け入れ可能な省略形です。

    -detail
    AFS Administration Referencebackup dbverify 参照ページで説明したように、孤立ブロックの存在、およびデータベースについてのその他の情報を表示します。

    出力は、以下のメッセージのいずれかをレポートします。

バックアップ・データベースの破壊の修復

  1. ローカル・スーパーユーザー root として、セル内の各データベース・サーバー・マシンにログインします。
  2. 磁気テープ装置に操作を行う磁気テープ・コーディネーターが実行されていない場合には、該当する磁気テープ・コーディネーター・マシンとの接続をオープンにし、butc コマンドを発行してください。詳細については、テープ・コーディネーター・プロセスを開始するには を参照してください。

       % butc [<port offset>] [-noautoquery]
    
  3. テープに書き込む場合は、適切な装置にテープを挿入します。
  4. いずれかのマシンで作業をし、backup コマンドを発行して、対話モードに入ります。

       #  backup -localauth
    

    ここで、-localauth により、ローカルの /usr/afs/etc/KeyFile ファイルからサーバー・チケットを構成します。このフラグにより、AFS 管理トークンを持っていなくても、ローカル・スーパーユーザー root としてログインし、特権コマンドを発行することができます。

  5. バックアップ操作がアクティブで実行されていないことを確認します。必要であれば、 (backup) status コマンドを発行します (テープ・コーディネーター・プロセスの状況を検査するには を参照)。それぞれのテープ・コーディネーターのポート・オフセットごとに順に繰り返します。

       backup> status -portoffset <TC port offset>
    
  6. (backup) savedb コマンドを発行し、データベースがテープまたはファイルに書き込まれる際に破壊の修復を行います。

       backup> savedb [-portoffset <TC port offset>]
    

    ここで、

    sa
    は、savedb の受け入れ可能な省略形です。

    -portoffset
    この操作で磁気テープを処理する磁気テープ・コーディネーターのポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。
  7. 対話モードを終了します。

       backup>  quit
    
  8. それぞれのマシン上で、順に bos shutdown コマンドを発行して、バックアップ・サーバー・プロセスを終了します。ユーザーはローカル・スーパーユーザー root としてログインしているため、 -localauth を組み込みますが、管理トークンは必要ありません。完全なコマンド構文については、 プロセスを一時停止させる方法 を参照してください。

       # /usr/afs/bin/bos shutdown <machine name> buserver  -localauth  -wait
    
  9. それぞれのマシンで、順に以下のコマンドを発行し、バックアップ・データベースを除去します。

       # cd /usr/afs/db
       # rm bdb.DB0
       # rm bdb.DBSYS1
    
  10. 最下位の IP アドレスのマシンから開始し、それぞれのマシンで順に bos start コマンドを発行して、バックアップ・サーバー・プロセスを再始動します。開始する際には長さゼロのバックアップ・データベースのコピーが作成されます。完全なコマンド構文については、状況フラグを Run に変更してプロセスを開始する方法 を参照してください。

       # /usr/afs/bin/bos start <machine name> buserver  -localauth
    
  11. いずれかのマシンで作業をし、backup コマンドを発行して、対話モードに入ります。

       #  backup -localauth
    

    ここで、-localauth により、ローカルの /usr/afs/etc/KeyFile ファイルからサーバー・チケットを構成します。

  12. (backup) addhost コマンドを発行し、データベースの修復コピーを読み取るテープまたはファイルを処理するテープ・コーディネーター・プロセスに対し、新規の空のデータベースに項目を作成します (2 のステップで開始したプロセス、および 6 のステップの backup savedb 操作で実行したプロセスについて)。完全な構文については、 磁気テープ・コーディネーター・マシンを構成するには 内の 8 のステップを参照してください。

       backup>  addhost <tape machine name> [<TC port offset>]
    
  13. (backup) restoredb コマンドを発行し、修復されたデータベースをデータベース・サーバー・マシンにコピーします。

       backup> restoredb  [-portoffset <TC port offset>]
    

    ここで、

    res
    は、restoredb の受け入れ可能な省略形です。

    -portoffset
    この操作で磁気テープを処理する磁気テープ・コーディネーターのポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。
  14. (オプション) 追加の backup コマンドを発行する予定がなければ、対話モードを終了します。

       backup>  quit
    
  15. (オプション) 必要であれば、Ctrl-d または他の割り込みシグナルを入力し、それぞれのデータベース・サーバー・マシンの root シェルを終了します。また、テープ・コーディネーター・マシンで Ctrl-c 信号を発行してプロセスを停止することもできます。

古くなったレコードをバックアップ・データベースから除去する

backup dump コマンドまたは backup labeltape コマンドを使用して、テープのリサイクルまたは再ラベル付けを行う度に、バックアップ・システムは、そのテープ、およびダンプ・セット内のすべてのテープ上に含まれたダンプに対するすべてのダンプ・レコードを自動的に除去します。しかし、それでも時間がたつと、バックアップ・データベースに古くなったレコードがたまる場合があります。たとえば、バックアップ・テープを、メーカーが推奨している最大使用回数まで使用して廃棄した場合、そのテープ上のダンプ用のレコードは、データベース上に残されます。同様に、ダンプの有効期限になってもそのダンプを含むテープをリサイクルまたはラベル変更しただけの場合、バックアップ・システムは自動的にダンプのレコードを削除しません。さらに、バックアップ操作が途中で停止した場合、操作が停止する前に正常にテープに書き込まれたすべてのボリュームのレコードは、データベース内に残ります。

非常に大きいバックアップ・データベースは、バックアップ・オペレーションを、より非効率にする可能性があります。その理由は、バックアップ・サーバーが、必要なレコードを検出するのに大量のレコードをナビゲートしなければならないからです。古くなったレコードを除去するには、backup deletedump コマンドを使用します。ダンプ ID 番号によって個々のダンプを識別するか、または一定の時間枠で作成されたすべてのダンプの除去を指定します。それを行うと、すべての関連した付加ダンプのレコードを除去することになり、初期ダンプのレコードの除去を行わない限り、付加ダンプのレコードは、除去できないということに留意してください。ダンプのレコードを除去することは、対応するテープから、または削除されたダンプをその親として参照するどのダンプからも、直接的にも間接的にもデータの復元を不可能にします。つまり、復元オペレーションは、フルダンプから開始し、続いて各増分ダンプを順番に行わなければなりません。特定のダンプのレコードを除去した場合、どのデータもその後の増分ダンプから復元できません。

バックアップ・データベースを切り捨てる別の方法は、-archive 引き数を backup savedb コマンドに組み込むものです。データベースのコピーがテープまたはバックアップ・データ・ファイルに書き込まれたら、バックアップ・サーバーは、指定した日時より前のタイプ・スタンプを持つすべてのダンプ操作のダンプ・レコードを削除します。ただし、backup deletedump コマンドに -to 引き数のみを組み合わせて発行すれば、結果的に同等であり、 backup savedb コマンドのようにテープ・コーディネーターの開始が要求されないためより簡単です。 backup savedb コマンドにおける -archive 引き数に関する詳細は、 AFS Administration Reference のコマンド解説ページを参照してください。

削除したダンプ・レコードに後でアクセスする必要がある場合で、対応するテープがまだ存在するのであれば、-dbadd 引き数を backup scantape コマンドで使用して、その内容をデータベースにスキャンすることができます。テープ内容をスキャンするには を参照してください。

ダンプ・レコードをバックアップ・データベースから削除するには

  1. /usr/afs/etc/UserList ファイルにリストされているユーザーとして認証されていることを検証します。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、UserList ファイルのユーザーの表示で詳しく説明しています。

       % bos listusers <machine name>
    
  2. (オプション) 複数のレコードを削除する、または追加のコマンドを発行する場合は、backup コマンドを発行して、対話モードに入ります。以下のように対話式でプロンプトが表示されます。

       % backup
    
  3. (オプション) backup dumpinfo コマンドを発行して、削除するレコードを決定する手助けとなる情報をバックアップ・データベースからリストします。詳細は、ダンプ・レコードの表示 を参照してください。

       backup> dumpinfo [<no. of dumps>]  [-id <dump id>]  [-verbose]
    
  4. backup deletedump コマンドを発行して、 1 つまたは複数のダンプ・セットを削除する。

       backup> deletedump [-dumpid <dumpid>+] [-from <date time>]  \
                          [-to <date time>]
    

    ここで、

    dele
    は、deletedump の受け入れ可能な省略形です。

    -dumpid
    バックアップ・データベースから削除する各初期ダンプのダンプ ID を指定します。また、関連したすべての付加ダンプに対するレコードも削除されます。この引き数、または -to (そして、任意選択で、 -from) 引き数のいずれかを与えます。

    -from
    日付の範囲の先頭を指定します。指示された期間中に作成されたダンプに対するレコードは削除されます。

    -to 引き数で指示された時刻以前のすべてのレコードを省略するには、この引き数を省略します。そうしない場合は、値を以下の形式で与えます。

    mm/dd/yyyy [hh:MM]

    ここで、月 (mm)、日 (dd)、および年 (yyyy) は必須です。時と分 (hh:MM) を省略して、デフォルト値の真夜中 (00:00 時) を指示することができます。時と分を与える場合は、24 時間形式 (たとえば、値の 14:36 は、 2:36 p.m. を表す) を使用します。

    これと共に、-to 引き数を与えなければなりません。

    注:コマンド構文中、この引き数にはプラス記号が続きますが、これは複数値を受け入れるためで (値を二重引用符や他の区切り文字で囲む必要はありません)、複数の日付を受け入れるわけではありません。単一の日付 (オプションで時間) を定義します。

    -to
    日付の範囲の末尾を指定します。この範囲の中で作成されたダンプのレコードは、バックアップ・データベースから削除されます。

    -from 引き数で指定する日付の後で作成されたすべてのレコードを削除するには、値の NOW を指定します。バックアップ・データベース内のすべてのダンプ・レコードを削除するには、値の NOW を与え、-from 引き数を省略します。そうしない場合は、-from 引き数について説明したのと同じ形式で、日付値を与えます。年 (yyyy) 範囲の有効な値は、1970 から 2037 までです。これより高い値は無効です。なぜなら、標準 UNIX 表示における最も後の (将来に近い) 表示は、2038年の初期までだからです。コマンド・インタープリターは、それ以降の日付を自動的に最大値の 2038 に削減します。

    時刻部分 (hh:MM) を省略すると、午前 0 時 59 秒 (00:00:59 時) がデフォルトとなります。同様に、backup コマンド・インタープリターは、与えられた値に自動的に 59 秒を加算します。両方のケースとも、59 秒の加算は、バックアップ・データベースおよび backup dumpinfo コマンドがダンプ作成時刻を時と分だけで表示するのを補正します。たとえば、データベースは、20:55:00 から 20:55:59 までの間に開始したダンプ・オペレーションに対して、 20:55 のタイム・スタンプ作成をレコードします。自動的に時刻に 59 秒を加算することにより、その一分間に生成されたすべてのダンプのレコードを含みます。

    この引き数か、または-dumpid 引き数のいずれかを与えます。 -from 引き数が与えられている場合は、この引き数は必須です。

    注:コマンド構文中、この引き数にはプラス記号が続きますが、これは複数値を受け入れるためで (値を二重引用符や他の区切り文字で囲む必要はありません)、複数の日付を受け入れるわけではありません。単一の日付 (オプションで時間) を定義します。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]



(C) IBM Corporation 2000. All Rights Reserved