# 管理の手引き

# AFS バックアップ・システムの構成

AFS バックアップ・システムは、AFS ボリュームからデータのバックアップ・コピーを作成し、ファイル・システムが消失したり、破壊された場合にはファイル・システムにデータを復元します。この章では、バックアップ・システムの構成方法について説明します。データのバックアップおよび復元方法、ダンプ・レコードの表示方法については、AFS データのバックアップと復元 を参照してください。

## 手順の概要

この章では、指示されたコマンドを使って以下のタスクを実行する手順について説明します。

テープ容量およびファイル・マーク・サイズの判別 | fms
バックアップ・データベース内のテープ・コーディネーターの定義 | backup addhost
テープ・コーディネーターのバックアップ・データベースからの削除 | backup delhost
バックアップ・データベースのテープ・コーディネーター項目の表示 | backup listhosts
ボリューム・セットの作成 | backup addvolset
ボリューム項目のボリューム・セットへの追加 | backup addvolentry
ボリューム・セットおよび項目のリスト | backup listvolsets
ボリュームのバックアップ・データベースからの削除 | backup delvolset
ボリューム項目のボリューム・セットからの削除 | backup delvolentry
ダンプ・レベルの定義 | backup adddump
既存のダンプ・レベルの有効期限の変更 | backup setexp
ダンプ階層のダンプ・レベルの削除 | backup deldump
ダンプ階層の表示 | backup listdumps
テープのラベル付け | backup labeltape
テープのラベルの読み取り | backup readlabel

## バックアップ・システム機能の紹介

AFS バックアップ・システムは非常に柔軟なシステムで、これにより、ボリューム・バックアップされる頻度、ボリューム内のすべてのデータをダンプするのか、最後のダンプ操作の後で変更されたデータだけをダンプするのか、などほとんどのバックアップ・プロセスを制御することができます。また、バックアップ・プロセスの多くを自動化する機能を利用することができます。

バックアップ・システムを有効に管理および使用するには、以降の機能グループで説明する内容についてよく理解する必要があります。ユーザーのセルにバックアップ・システムを構成し、機能をインプリメントする方法については、 バックアップ・システム構成の概説 を参照してください。

### ボリューム・セットおよびボリューム項目

AFS データをバックアップする場合、どのファイルを組み込むのかを個々のファイルについてではなく、ボリューム全体について指定します。より正確にいうと、ボリューム・セット というボリュームのグループを定義し、この中の 1 つまたは複数のボリュームを 1 回の操作でバックアップすることになります。データのバックアップ・コマンド (backup dump コマンド) では個々のボリューム名は指定できないので、ボリュームはバックアップするボリューム・セットに組み込む必要があります。

ボリューム・セットは、1 つまたは複数の ボリューム項目 から構成されています。この項目には、その位置 (ファイル・サーバー・マシンおよび区画) に基づいてバックアップされるボリューム、およびボリューム名が指定されています。ワイルドカードを使用すると、位置を許容しているボリュームまたは名前に共通の文字列を含むボリューム (あるいはその両方) をまとめて指定することができます。

ボリューム・セットおよびボリューム項目の作成および削除方法については、 ボリューム・セットおよびボリューム項目の定義および表示 を参照してください。

### ダンプおよびダンプ・セット

dump は、ボリューム・セットのバックアップで生成されたデータのコレクションです。 フル・ダンプ には、ダンプ操作時に存在しているボリューム・セットのボリューム・データがすべて書き込まれます。 増分ダンプ には、ボリューム・セットのボリューム・データの一部 (指定されたダンプ操作の後に変更されたファイルおよびディレクトリー構造) が書き込まれます。前のダンプは、増分ダンプの 親ダンプ になります。これは、フル・ダンプの場合も増分ダンプの場合もあります。

ダンプ・セット は、1 つまたは複数の磁気テープに格納されているダンプのコレクションです。ダンプ・セットの最初のダンプは 初期ダンプ といい、既存のダンプの最後に追加されるダンプを 付加ダンプ といいます。付加ダンプはオプションですが、磁気テープの容量を最大限に利用することができます。逆に、初期ダンプだけにすると、一部しか使用していない磁気テープが数多くできてしまいます。初期ダンプは必ず磁気テープの先頭から開始しますが、磁気テープの最後まで書き込まれるとは限りません。付加ダンプを初期ダンプや別の付加ダンプに関連させる必要はありませんが (同じまたは関連するボリュームのダンプにする必要はありませんが)、よく計画して付加ダンプを作成すると、復元操作での磁気テープの交換回数を減らすことができます。たとえば、ボリューム・セットの増分ダンプを 1 つのダンプ・セットにまとめると効果的です。

バックアップ・データベースでは、初期ダンプを基準に、ダンプ・セットのすべてのレコードに索引が付いています (バックアップ・データベースの詳細については、バックアップ・データベースおよびバックアップ・サーバー・プロセス を参照してください)。付加ダンプのレコードをデータベースから削除する場合には、初期ダンプのレコードも削除しなければなりません。これを行うと、ダンプ・セットのすべてのダンプのレコードが削除されます。また、1 つの磁気テープを再利用するには、ダンプ・セットのすべての磁気テープのレコードをデータベースから削除しなければなりません。

初期ダンプの作成方法については データのバックアップ を、付加ダンプについては ダンプを既存のダンプ・セットに追加するには をそれぞれ参照してください。

### ダンプ階層、ダンプ・レベルおよび有効期限

ダンプ階層 は、フル・ダンプと増分ダンプの関係を定義している論理構造です。ここでは、増分ダンプの親となるダンプを定義しています。階層内の個々のコンポーネントを ダンプ・レベル といいます。 backup dump コマンドでダンプを作成するときには、ボリューム・セットの名前とダンプ・レベルを指定します。バックアップ・システムは、ダンプ・レベルを使用して、このダンプがフル・ダンプなのか増分ダンプなのかを判別します。また、増分ダンプの場合には、どのダンプ・レベルが親になるのかも判別します。

ダンプ・レベルには 有効期限 を設定して、このレベルで作成されたダンプの有効期限を定義することができます。磁気テープが属しているダンプ・セットのダンプがすべて有効期限切れになるまで、バックアップ・システムは磁気テープの上書き要求を拒否します。したがって、有効期限を割り当てると、磁気テープの再利用方法が自動的に決まります。有効期限は、絶対値 (たとえば、2000 年 1月 13 日) で設定することも、相対値 (たとえば、ダンプ作成後 30 日) で設定することもできます。また、ダンプ・レベルに関連する有効期限を変更することもできます (ただし、そのレベルですでに作成された、実際のダンプの有効期限は変更できません)。

ダンプ階層の作成方法、有効期限の設定方法、および磁気テープの再利用方法については、 ダンプ階層の定義および表示 を参照してください。

### ダンプ名および磁気テープ名

ダンプを作成すると、バックアップ・システムは、そのダンプのレコードをバックアップ・データベースに作成します。このレコードには、ボリューム・セットの名前とダンプ・レベルのパス名の最後の要素を組み合わせた名前が割り当てられます。名前の形式は次のとおりです。

          volume_set_name.dump_level_name

たとえば、ボリューム・セット user をダンプ・レベル /sunday/friday で作成すると、 user.friday という名前になります。また、バックアップ・システムは、固有の ダンプ ID 番号をダンプに割り当て、同じ名前のダンプと区別できるようにします。

また、バックアップ・システムは、ダンプ・セットのある磁気テープに AFS 磁気テープ名 を割り当てます。この名前は、ダンプ・セットの初期ダンプのボリューム・セットおよびダンプ・レベル、ダンプ・セット内での磁気テープの位置、および固有のダンプ ID 番号から構成されます。名前の形式は、次のとおりです。

       volume_set_name.dump_level_name.tape_index (dump ID)

たとえば、初期ダンプがダンプ・レベル /sunday/friday のボリューム・セット uservol であるダンプ・セットの 2 番目のテープは、uservol.friday.2 (914382400) のようになります。

その AFS 磁気テープ名に加えて、磁気テープは任意でユーザーが指定した 永続名 をもつことができます。AFS 磁気テープ名とは異なり、永続名は、最初の(またはほかの)ダンプのボリューム・セットやダンプ・レベルを示す必要がないので、磁気テープの内容に従って変わることはありません。バックアップ・システムでは永続名に特定の形式を必要としないため、テープ名がそれぞれ固有のものであることを確認しなくてはなりません。磁気テープに永続名が付いていると、バックアップ・システムは、プロンプトや backup コマンドの出力で AFS 磁気テープ名ではなく永続名を使用しますが、この場合でも AFS 磁気テープ名を内部に記録します。

### 磁気テープ・ラベル、ダンプ・ラベル、および EOF マーカー

バックアップ・システムで使用される磁気テープはどれも、先頭に、磁気テープ名、容量、およびその他の情報を記録するための磁気ラベルが付いています。 backup labeltape コマンドを使用すると、ラベルを自分で作成することができたり、backup dump コマンドを使用すれば、ラベルなしの磁気テープを使用する場合には自動的にラベルが作成されます。ラベルは、以下のような情報をレコードします。

- 磁気テープの永続名は、-pname 引き数を backup labeltape コマンドに使用することで割り当てられます。これは、32 文字までの任意の文字列になります。永続名を割り当てないと、 backup dump コマンドを使用して AFS テープ名を割り当てたりするときや、 backup labeltape コマンドを使用してダンプをテープに書き出すときに、バックアップ・システムが値 `<NULL>` を記録します。
- テープの AFS テープ名 は、 3 種類の値のうちの 1 つになります。
  - ダンプ・セットの初期ダンプのボリューム・セットおよびダンプ・レベル、ならびにそのダンプ・セットの一連の磁気テープ内における磁気テープの位置を表す名前。 ダンプ名および磁気テープ名 に説明があります。磁気テープが永続名を指定されていない場合には、-name 引き数を backup labeltape コマンドに使用して、 AFS 磁気テープ名を割り当てることができます。
  - `<NULL>` 値。これは、永続名を割り当てる、または backup labeltape コマンドの -name 引き数へ値が与えられない時の結果です。
  - AFS 磁気テープ名がまったくない。これは、テープにラベルを付けていなかったり、そこにダンプを書き込んでいないことを示しています。

  ダンプを書き込む時に磁気テープにまだ実際の AFS 磁気テープ名が付けられていない場合、バックアップ・システムは、適切な AFS 磁気テープ名を調べてレコードします。磁気テープに AFS 磁気テープ名を付けずに、初期ダンプを書き込む場合、ダンプのボリューム・セットおよびダンプ・レベルを正確に反映しなければなりません。

- テープの容量または サイズ に計測単位 (キロバイトの場合 `k` または `K`、メガバイトの場合 `m` または `M`、ギガバイトの場合 `g` または `G`、またはテラバイトの場合 `t` または `T`) を示す文字を続けます。磁気テープの製造元が磁気テープの容量を決定します。バックアップ・システムの容量フィールドの値の使用方法の詳細については、 tapeconfig ファイルの構成 を参照してください。

ラベル付きテープに関する情報については、テープ・ラベルの書き込みおよび読み取り を参照してください。

磁気テープ・ラベルに加えて、バックアップ・システムは追加されたダンプ (磁気テープ・ラベルとダンプ・ラベルは最初のダンプの場合には同じです) ごとに、テープのダンプ・ラベル を書き込みます。ダンプ・ラベルは、以下のような情報をレコードします。

- ダンプが書き込まれた磁気テープの名前。
- ダンプ操作が開始した日時。
- ダンプ内のボリュームが属するセル。
- キロバイトによるダンプ・サイズ。
- ダンプのダンプ・レベル。
- ダンプのダンプ ID。

バックアップ・システムは、ファイル・マーク (ファイル終わりまたは EOF マーカーとも呼ばれています) をダンプの各ボリュームからのデータ間に書き込みます。磁気テープ装置の製造者がファイル・マークのサイズを決めています。これは一般に 2 KB および 2 MB で、装置が使用する磁気テープの普段の容量よりも大きく、ファイル・マーク・サイズよりも大きく設定されています。ダンプの中に、たくさんのボリュームのそれぞれからのデータが少量ずつ入っている場合には、増分ダンプがしばしば行うように、ファイル・マーク・サイズによって、磁気テープにボリューム・データが収まる量に大きな影響を与えることがあります。バックアップ・システムがダンプを書き込むときにファイル・マーク・サイズを計算できるように、構成ファイルにファイル・マークのサイズを記録しておくことができます。詳細については、tapeconfig ファイルの構成 を参照してください。

### テープ・コーディネーター・マシン、ポート・オフセット、およびバックアップ・データ・ファイル

磁気テープ・コーディネーター は、バックアップ操作で使用された 1 つ以上付加された磁気テープ装置を動かすマシンです。これは、AFS クライアント・ソフトウェア (キャッシュ・マネージャー) を実行しますが、コンソールへの認証されていないアクセスを防止する物理的セキュア・ロケーションに常に配置するようにします。バックアップ操作が磁気テープ・コーディネーター・マシンで実行できるようにするためには、その前に、マシン上の各磁気テープ装置をバックアップ・データベースに登録して、いくつかのファイルとディレクトリーをマシンのローカル・ディスクに作成しなければなりません。方法については、磁気テープ・コーディネーター・マシンを構成するには を参照してください。

テープ・コーディネーター・マシンの各磁気テープ装置は、異なる UNIX ポートでのバックアップ要求を確認します。ポート・オフセット番号 を磁気テープ装置に割り当てることで間接的にポートを選出します。バックアップ・システムは、ポート・オフセットから内部的に判別するための基本ポート番号を加算することで装置の実際のポートを設定します。ポート・オフセット番号の割り当て命令については、tapeconfig ファイルの構成 を参照してください。

磁気テープ装置がバックアップ操作を実行するためには、装置専用のバックアップ磁気テープ・コーディネーター (butc)処理が、磁気テープ・コーディネーター・マシン上で実行していなければなりません。それから、そのポート・オフセット番号を backup コマンドの-portoffset 引き数で指定することによって、バックアップ要求を装置の磁気テープ・コーディネーターに送ります。

バックアップ・データの書き込みはテープだけではなく、テープ・コーディネーター・マシンのローカル・ディスクにあるバックアップ・データ・テープに行うことができます。それからユーザーは、データを階層記憶管理 (HSM) システムなどのデータ保存システムに転送することができます。このシステムは AFS およびバックアップ・システムと一緒に使用します。バックアップ・データ・ファイルは、磁気テープ装置と同様にポート・オフセットがあります。バックアップ・データ・ファイルの構成についての説明は、 データのバックアップ・データ・ファイルへのダンプ を参照してください。

### バックアップ・データベースおよびバックアップ・サーバー・プロセス

バックアップ・データベース は、セルのデータベース・サーバー・マシンの Backup Server プロセスで保守を行う複写された管理データベースです。ほかの AFS データベース・サーバー処理と同様に、バックアップ・サーバーは Ubik ユーティリティーを使用して、同期化されるデータベースのさまざまなコピーを保持することができます。 (Ubik の説明については、AFS 管理データベースの複写 を参照してください。)

バックアップ・データベースは、次のような情報を記録します。

- バックアップ操作で使用される各磁気テープ装置の磁気テープ・コーディネーター・マシンのホスト名およびポート・オフセット番号。
- ダンプ階層 (このコンポーネント・ダンプ・レベル、およびこれらに関連した有効期限から構成)。
- ボリューム・セットおよびこれらのコンポーネント・ボリューム項目。
- 各ダンプのレコード。各磁気テープの名前、データが含まれているボリュームの名前、ダンプ・レベル、有効期限、ダンプに関連付けられている初期ダンプのダンプ ID、などの情報が記録されています。
- ダンプ・データを収納する各磁気テープのレコード。

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

コマンドの backup セットは、バックアップ・システムへの管理インターフェースです。任意の AFS クライアントまたはサーバーのコマンド・シェルで、アクセス可能な backup バイナリーからのコマンドを発行できます (または、シェル・スクリプトでこれらを呼び出せます)。一般的な構成では、バイナリーは常にローカル・ディスクにあります。

backup コマンド・スイートは、バックアップ・サーバーおよびボリューム・ロケーション (VL) サーバーへの持続接続に関する複数のコマンドを発行できる、 対話モード を提供します。対話モードでは、次のように便利な機能が用意されています。

- 操作コードを入力するだけで、最初の backup という文字は入力する必要はありません。
- 対話モードに入るときに指定した AFS ID または外部セルが、後続のすべてのコマンドに適用されます。
- シェルのメタ文字を二重引用符で囲む必要がありません。
- (backup) jobs コマンドを使用して、現在の操作および保留中の操作を記録することができます。このコマンドは、対話モードでのみ使用することができます。
- (backup) kill コマンドを使用して、現在の操作および保留中の操作を終了することができます。このコマンドは、対話モードでのみ使用することができます。

磁気テープ (またはバックアップ・データ・ファイル) の読み取りまたは書き込みを必要とするコマンドを発行する前に、関連する磁気テープ装置 (またはローカル・ディスクにあるバックアップ・データ・ファイル) が接続している磁気テープ・コーディネーターとの接続をオープンし、 butc コマンドを発行して、磁気テープ・コーディネーター・プロセスを開始する必要があります。バックアップ操作で磁気テープ装置またはファイルを使用している間は、このプロセスの実行を継続し、接続をオープンにしておく必要があります。

詳細については、バックアップ・システムのインターフェースの使用 を参照してください。

## バックアップ・システム構成の概説

バックアップ・システムを使用してデータをバックアップしたり、復元したりする前に、基本的なコンポーネントをいくつか構成しなければなりません。この章の機能グループでは、この構成作業について説明します。この章の内容は、次のとおりです。

- テープ容量およびテープ装置のファイル・マーク・サイズの判別、および /usr/afs/backup/tapeconfig ファイルへのこれらの記録 (tapeconfig ファイルの構成 を参照)
- バックアップ操作員に対する管理特権の許可 (バックアップ操作への管理特権の許可 を参照)
- 磁気テープ・コーディネーター・マシン、バックアップ、およびバックアップ・データ・ファイルの構成 (テープ・コーディネーター・マシンおよびテープ装置の構成 を参照)
- ボリューム・セットおよびボリューム項目の定義 (ボリューム・セットおよびボリューム項目の定義および表示を参照)
- ダンプ階層を作成するダンプ・レベルの定義 (ダンプ階層の定義および表示 を参照)
- 磁気テープのラベル付け (テープ・ラベルの書き込みおよび読み取り を参照)
- バックアップ・プロセスを自動化する装置構成ファイルの作成 (バックアップ処理の自動化およびその効率化 を参照)

バックアップ・ダンプ、または復元操作の実行に必要なコンポーネントの構成がすべて終了している場合には、 データのバックアップ および データの復元と回復 の指示に進んでください。

## tapeconfig ファイルの構成

テープ・コーディネーターがテープに書き込むデータ量を決定するには、いくつかの要因が関連しています。

- 磁気テープの容量 (サイズ)、磁気テープ製造元で設定します。
- 磁気テープ装置のファイル・マーク・サイズ、磁気テープ装置製造元で設定します。 磁気テープ・ラベル、ダンプ・ラベル、および EOF マーカー で説明したように、磁気テープ・コーディネーターは、ダンプの各ボリューム・データの境界にファイル・マークを書き込みます。ダンプの中に、たくさんのボリュームのそれぞれからのデータが少量ずつ入っている場合には、増分ダンプがしばしば行うように、ファイル・マーク・サイズによって、磁気テープにボリューム・データが収まる量に大きな影響を与えることがあります。
- 磁気テープ装置の圧縮方式を使用するかどうか。

(バックアップ・データ・ファイルに書き込まれるデータの量、区画で使用可能なスペースの量とオペレーティング・システムでの最大ファイル・サイズから判別することができます。磁気テープ・コーディネーターは、バックアップ・データ・ファイルへ書き込む時はファイル・マークを書き込みません。バックアップ・データ・ファイルを書き込む場合のテープ・コーディネーターの構成方法については、 データのバックアップ・データ・ファイルへのダンプ を参照してください。)

磁気テープ・コーディネーター (butc) プロセスが初期化されると、ローカル・ディスクにある /usr/afs/backup/tapeconfig ファイルから、ダンプ操作に使用する磁気テープの容量およびファイル・マークのサイズ (磁気テープの場合) またはファイル・サイズ (バックアップ・データ・ファイルの場合) が読み取られます。また、ダンプ操作を始めると、磁気テープ・コーディネーターは、磁気テープまたはバックアップ・データ・ファイルのラベルを読み取り、磁気テープの容量またはファイル・サイズが一致しているかどうか確認します。値が異なる場合には、ラベルの値が tapeconfig ファイルにあるデフォルト値で上書きされます。

ダンプ操作時で、磁気テープ・コーディネーターが磁気テープにデータを書き込むときに、この容量とファイル・マークの情報を使用して、テープの使用量とテープの終わりまでの物理的な残量を計算します。 EOT に達する直前に、磁気テープ・コーディネーターは書き込み操作を停止し、新しい磁気テープを要求します。同様に、バックアップ・データ・ファイルのサイズを使用して、ファイルの占有しているスペースを計算します。テープ・コーディネーターが EOT に予想外の到達をしたら、新規のテープを手に入れて、EOT を検出したボリュームの内容をすべて書き込みます。中断されたボリュームは最初のボリュームに残りますが、使用することはできません。

多くのテープ装置では、特に装置の圧縮モードを使用する場合、複数ギガバイト、または複数テラバイトのバックアップ・データを収容可能なテープを使用します。このような装置およびテープに書き込む場合は、テープ・コーディネーターが予期しない EOT を検出するようにすることを一般にお勧めします。装置のデータ書き込みが高速なため、新規テープに割り込みボリュームを再度書き込むのはそれほど時間がかかりません。同様にデータ圧縮の効率がよいため、最初のテープで中止された割り込みボリュームのデータは、テープの多くを消費するものではありません。

少量のデータ (たとえば 2 GB 以下) を収容するテープに書き込む場合は、テープ・コーディネーターが予期しない EOT を検出しないようにする方がよいでしょう。 AFS は 2 GB までのサイズのボリュームをサポートするため、割り込まれたボリュームは実際にテープのほとんどを使用してしまいます。このようなテープでは、テープの容量とファイル・マークのサイズを正確に記録しておくと、テープを有効に使用し、ダンプ操作を効率よく行うことができます。 tapeconfig ファイルのフィールドについて、適切な値の決め方を以下に説明します。

磁気テープ・コーディネーターが使用する磁気テープ装置またはバックアップ・データ・ファイルは、テキスト・エディターを使用して、磁気テープ・コーディネーターの tapeconfig ファイルに記述してください。次のような形式で、装置またはファイルごとに 1 行にまとめて記述してください。

       [capacity   filemark_size]    device_name    port_offset

ここで、

capacity
  磁気テープ装置で使用される磁気テープの容量、またはバックアップ・データ・ファイルに書き込まれる総データ量を指定します。整数値の後に単位を示す文字を指定してください。数値と文字の間にはスペースを入れないでください。k または K はキロバイトを、m または M はメガバイトを、g または G はギガバイトを、および t または T はテラバイトを示します。単位を省略すると、デフォルトで K バイトが使用されます。

  通常モード (非圧縮モード) で使用するサイズが 2 GB 以下の磁気テープの容量を計算する場合には、磁気テープの製造元が指定する値 (磁気テープのパッケージに記載されています) を調べるか、あるいは fms コマンドを使用して容量を計算してください。このコマンドについては、この機能グループの後半で説明します。磁気テープ・コーディネーターが予期しない EOT を検出しないように、磁気テープの実際の容量より 10% ほど少ない値を tapeconfig ファイルまたはラベルに記録してください。小容量のテープを圧縮モードで使用する場合の適切な値を計算する方法として、テープ容量 (製造者が記録) に装置の圧縮比率をかける方法があります。

  数ギガバイトまたはテラバイトのデータを収容するテープの場合、あるいはテープ装置の圧縮モードを使用する場合は、テープの最大容量よりも大きい値 (たとえば 2 倍) を記録するような構成が推奨されます。一般に大容量のテープでは、非圧縮モードでも fms コマンドの実行は意味がありません。このコマンドは、圧縮モードの場合、正確な結果を得ることができません。磁気テープ・コーディネーターが予期しない EOT を検出することはまずありませんが、圧縮モードの場合、ボリュームが割り込まれて破棄されたデータもあるので、磁気テープ上のデータ量と磁気テープの使用率が必ずしも一致するわけではありません。

  バックアップ・データ・ファイルの場合、区画で使用可能なスペースよりも少し小さく、オペレーティング・システムの最大ファイル・サイズより小さい値を記録してください。他のプロセスが区画に書き込む量を制限して、区画内のスペースがなくならないようにすることもできます。

  このフィールドが空の場合、テープ・コーディネーターは、最大許容値 (2048 GB または 2 TB) を使用します。このフィールドと filemark_size フィールドを両方とも空にしておくか、または両方のフィールドに値を入力します。

filemark_size
  磁気テープ装置のファイル・マーク・サイズを指定します。通常、2KB から 2MB までの値です。 capacity フィールドと同じ表記を使用しますが、デフォルトの単位は K バイトではなく、バイトです。

  通常 (非圧縮) モードの磁気テープ装置の場合、fms コマンドを使用してファイル・マーク・サイズを計算することができます。また、装置の製造元が指定している値を調べることもできます。磁気テープ・コーディネーターが予期しない EOT を検出しないように、 tapeconfig ファイルに記録するときに、10% ほど多めの値を記録してください。

  磁気テープ装置の圧縮方式における推奨値は、0 (ゼロ) です。 fms コマンドは、圧縮方式では実際の結果をもたらさないので、ファイル・マーク・サイズの判別には使用できません。

  バックアップ・データ・ファイルの推奨値も、 0 (ゼロ) です。テープ・コーディネーターは、ファイルの書き込み時にファイル・マークを使用しませんが、 capacity フィールドに値がある場合でも、このフィールドには値がなければいけません。

  このフィールドが空の場合、テープ・コーディネーターは、値 0 (zero) を使用します。このフィールドと capacity フィールドを両方とも空にしておくか、または両方のフィールドに値を入力します。

device_name
  磁気テープ装置またはバックアップ・データ・ファイルの完全なパス名を指定します。磁気テープ装置名の形式はオペレーティング・システムに依存しますが、 UNIX システムの装置名は一般に /dev/ という文字列で始まります。バックアップ・データ・ファイルの場合、このフィールドには完全なパス名を定義しますが、バックアップ・データ・ファイル名の規則については、データのバックアップ・データ・ファイルへのダンプ を参照してください。

port_offset
  特定の磁気テープ装置またはバックアップ・データ・ファイルのポート・オフセット番号を指定します。各テープ装置は、異なる UNIX ポートでバックアップ要求を listen します。このフィールドに値を指定すると、ポートを選択することができます。バックアップ・システムは、ポート・オフセットから内部的に判別するための基本ポート番号を加算することで装置の実際のポートを設定します。

  正式な値は、整数の 0 から 58510 までです (バックアップ・システムは、最大 58,511 ポート・オフセット番号を記録できます)。それぞれの値は、セルの磁気テープ・コーディネーターごとに固有でなければなりませんが、連続したポート・オフセット番号を割り当てる必要はなく、 1 つのマシンまたは同じように磁気テープ装置ごとに任意の番号を付けられます。たとえば、磁気テープ装置を圧縮および非圧縮の両方のモードで使用する場合には、2 つの異なるポート・オフセットを割り当て、それぞれのモードに適切な磁気テープ容量およびファイル・マーク・サイズを指定してください。

  バックアップ操作によく使用する磁気テープ装置またはバックアップ・データ・ファイルの磁気テープ・コーディネーターに、ポート・オフセット0 (ゼロ) を割り当ててください。これにより、 backup コマンドの可能な最大番号から -portoffset 引き数を省略することができます。

次の例では、tapeconfig ファイルに、2 つの磁気テープ装置 /dev/rmt0h および /dev/rmt1h が記述されています。この 2 つの装置では、容量が 2 GB、ファイル・マーク・サイズが 1 MB の磁気テープを使用しています。これらのポート・オフセット番号は、`0` および `1` になります。

       2g 1m /dev/rmt0h 0
       2G 1M /dev/rmt1h 1

fms コマンドは、標準出力 (stdout) および現行作業ディレクトリーに書き込む fms.log ファイルの両方に、挿入された磁気テープの容量および磁気テープ装置のファイル・マーク・サイズをレポートします。コマンド・インタープリターは必ず、データをテープ全体へ書き込むので、コマンドは、磁気テープのサイズによりますが、数時間以上から 1 日で完了できます。

### 非圧縮テープ装置における fms コマンドの実行

1. 既存の fms.log ファイルが現行ディレクトリーにない場合、現行ディレクトリーにファイルを挿入および書き込みが可能であることを検証します。既存のログ・ファイルがある場合、ファイルへ書き込む必要があります。
2. 磁気テープをドライブに挿入します。実行している完全なコマンドは磁気テープに上書きします。そして、ブランク磁気テープまたはリサイクルを必要とする磁気テープとして使用します。
3. fms コマンドを発行します。

          % fms <tape special file>

   ここで、

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

   tape special file
     磁気テープ装置の UNIX 装置名を、 /dev/rmt0hのよう指定します。

次の例では、容量が 2136604672 バイト (約 2 GB)、装置のファイル・マーク・サイズが 1910205 バイト (約 2 MB) の 装置 /dev/rmt0h の情報が出力されています。

       % fms /dev/rmt0h
       wrote block: 130408
       Finished data capacity test - rewinding
       wrote 1109 blocks, 1109 file marks
       Finished file mark test
       Tape capacity is 2136604672 bytes
       File marks are 1910205 bytes

## バックアップ操作への管理特権の許可

セル内で backup および butc コマンドを発行するユーザーは、バックアップ・データベースおよびボリューム・ロケーション・データベース (VLDB) を格納している各データベース・サーバー・マシン、およびボリューム・セットのボリュームを所有しているマシンの /usr/afs/etc/UserList ファイルに記述されていなければなりません。規則として、セル内のすべてのサーバー・マシンに、同じ UserList ファイルがあります。本書では、ユーザーのセルが規約に従って構成されていることを前提にしています。 UserList ファイルを編集するには、 UserList ファイルの管理 で説明された bos adduser および bos removeuser コマンドを使用します。

UserList ファイル以外に、 butc コマンドを発行するバックアップ操作員は、各磁気テープ・コーディネーター・マシンのローカル /usr/afs/backup ディレクトリーにあるファイルに書き込み操作が許可されていなければなりません。このディレクトリーは、UNIX モード・ビットで保護されています。ユーザーのセルで最初の磁気テープ・コーディネーター・マシンを構成する前に、ディレクトリーとそのファイルの所有者にするローカル・ユーザーおよびグループを決めてください。使用可能な所有権オプションは、次のとおりです。

- ローカル・スーパーユーザー root。このオプションを使用すると、 butc コマンドの発行側は、ローカル・ファイル・システムにローカル・スーパーユーザー root としてログオンする必要があります。テープ・コーディネーターがサーバー・マシンでもある場合、 butc コマンドに -localauth フラグを使用し、ローカルの /usr/afs/etc/KeyFile ファイルからサーバー・チケットを構成します。サーバーではないマシンでは、発行者側は klog コマンドを発行して、 root としてログインし AFS 管理者として認証される必要があります。
- 通常の AFS 管理者。AFS 修正ログイン・ユーティリティーを使用すると、ログインと認証を 1 回のステップで実行できます。テープ・コーディネーターを開始できるのは、管理者だけです。
- 複数の操作員がパスワードを知っている管理アカウント。このオプションを使用すると、誰でも磁気テープ・コーディネーターを開始することができます。

この他に、すべてのバックアップ操作員が所属するグループをローカル・グループ・ファイル ( /etc/group または同等のファイル) に定義するオプションがあります。この場合、 /usr/afs/backup ディレクトリーとそのファイルに対するユーザー・モード・ビットではなく、グループ・モード・ビットの w モード・ビット (書き込み 許可) をオンにしてください。他のオプションを比べて、このオプションを使用すると、各操作員が自分の管理アカウントを持つことができるので、細かく監査できるという利点があります。

保護モードの選択方法またはインプリメントについては、 テープ・コーディネーター・マシンおよびテープ装置の構成 を参照してください。

## テープ・コーディネーター・マシンおよびテープ装置の構成

この機能グループでは、磁気テープ・コーディネーター・マシンの構成方法、単一の磁気テープ装置またはバックアップ・データ・ファイルに関連付けられた磁気テープ・コーディネーターの構成または削除方法について説明します。

注: | テープ装置が AIX システムに接続している場合には、テープ装置のテープ・ブロック・サイズを 0 (ゼロ) に変更する必要があります。この値は、可変ブロック・サイズを意味します。ゼロに変更しないと、AIX システムで作成した磁気テープが、他のシステム・タイプのマシンに接続している装置で読み取れなくなります。AIX smit プログラムを使用すると、 3 のステップの説明のように、磁気テープ装置の磁気テープ・ブロック・サイズを調べたり、変更することができます。

### 磁気テープ・コーディネーター・マシンを構成するには

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

          % bos listusers <machine name>

2. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

          % su root
          Password: root_password

3. 装置の取扱説明書に従って、磁気テープ・コーディネーター・マシンに 1 台以上の磁気テープ装置を取り付けます。バックアップ・システムは、セル 1 つにつき、最大 58,511 の磁気テープ装置またはバックアップ・データ・ファイルを記録できます。

   テープ・コーディネーター・マシンが AIX システムの場合、以下のコマンドを発行して、テープ装置のテープ・ブロック・サイズを 0 (ゼロ) に変更します。それぞれの磁気テープ装置ごとに繰り返します。

          # chdev -l 'device_name' -a block_size='0'

   device_name はテープ装置の装置名です (たとえば、/dev/rmt0h)。

4. ローカルのディスクに、backup、 butc、および fms コマンドのバイナリー・ファイルがあるかどうか調べます。マシンが AFS クライアントの場合、通常の位置は /usr/afsws/etc ディレクトリーとなります。

          # ls /usr/afsws/etc

5. /usr/afs ディレクトリーを作成します。(磁気テープ・コーディネーター・マシンがファイル・サーバー・マシンとしても構成されている場合には、このディレクトリーは既に作成されています。) それから、/usr/afs/backup ディレクトリーを作成します。

          # mkdir /usr/afs
          # mkdir /usr/afs/backup

6. この /usr/afs/backup/tapeconfig ファイルを作成する場合には、テキスト・エディターを使用してください。磁気テープ装置またはバックアップ・データ・ファイルの情報を 1 行に記述してください。次の情報をこの順番で指定してください。構文の詳細および各フィールドの許容値については、 tapeconfig ファイルの構成 を参照してください。
   - 装置で使用する磁気テープの容量かバックアップ・データ・ファイルのサイズ。
   - 装置のファイル・マーク・サイズ。
   - 文字列 /dev/ で始まる装置名。
   - 装置のポート・オフセット番号。
7. /usr/afs/backup ディレクトリーおよび /usr/afs/backup/tapeconfig ファイルの所有ユーザーおよび所有グループを決めます。 バックアップ操作への管理特権の許可 を参照してください。必要であれば、ディレクトリーおよびファイルに対する UNIX モード・ビットを訂正してください。

          # chown admin_owner /usr/afs/backup
          # chown admin_owner /usr/afs/backup/tapeconfig
          # chgrp admin_group /usr/afs/backup
          # chgrp admin_group /usr/afs/backup/tapeconfig
          # chmod 774 /usr/afs/backup
          # chmod 664 /usr/afs/backup/tapeconfig

8. バックアップ・データベースに磁気テープ・コーディネーターの項目を作成する backup addhost コマンドを発行します。それぞれのテープ・コーディネーターごとにコマンドを繰り返します。

          # backup addhost <tape machine name> [<TC port offset>]

   ここで、

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

   tape machine name
     テープ・コーディネーター・マシンの完全修飾されたホスト名を指定します。

   TC port offset
     磁気テープ装置のポート・オフセット番号を指定します。 tapeconfig ファイルで装置に指定したものと同じ値を指定してください。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。

### 既存のテープ・コーディネーター・マシンにテープ・コーディネーターを追加するには

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

          % bos listusers <machine name>

2. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

          % su root
          Password: root_password

3. 装置の取扱説明書に従って、磁気テープ・コーディネーター・マシンに磁気テープ装置を取り付けます。

   テープ・コーディネーター・マシンが AIX システムの場合、以下のコマンドを発行して、テープ装置のテープ・ブロック・サイズを 0 (ゼロ) に変更します。

          # chdev -l 'device_name' -a block_size='0'

4. 磁気テープ装置に割り当てるポート・オフセット番号を選択します。必要であれば、backup listhosts コマンドを使用して、使用済みのポート・オフセット番号を調べてください。この出力については、構成済みの磁気テープ・コーディネーターのリストを表示するには を参照してください。

          # backup listhosts

   listh は、listhosts の受け入れ可能な最も短い省略形です。

5. この /usr/afs/backup/tapeconfig ファイルに装置の 1 つ以上の項目を追加する場合には、テキスト・エディターを使用してください。次の情報をこの順番で指定してください。構文の詳細および各フィールドの許容値については、 tapeconfig ファイルの構成 を参照してください。
   - 装置で使用する磁気テープの容量かバックアップ・データ・ファイルのサイズ。
   - 装置のファイル・マーク・サイズ。
   - 文字列 /dev/ で始まる装置名。
   - 装置のポート・オフセット番号。
6. backup addhost コマンドを発行して、磁気テープ・コーディネーターのバックアップ・データベースに項目を作成してください。完全な構文については、 磁気テープ・コーディネーター・マシンを構成するには 内の 8 のステップを参照してください。

          # backup addhost <tape machine name> [<TC port offset>]

### 磁気テープ・コーディネーターの構成を削除するには

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

          % bos listusers <machine name>

2. テキスト・エディターを使用して、 /usr/afs/backup/tapeconfig ファイルから各磁気テープ・コーディネーターの項目を削除します。
3. backup delhost コマンドを発行して、バックアップ・データベースから磁気テープ・コーディネーターの項目を削除します。

          % backup delhost <tape machine name> [<TC port offset>]

   ここで、

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

   tape machine name
     磁気テープ・コーディネーター・マシンの完全インターネット・ホスト名です。

   TC port offset
     tapeconfig ファイルから削除するポート・オフセット番号です。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。

### 構成済みの磁気テープ・コーディネーターのリストを表示するには

1. backup listhosts コマンドを発行して、現在バックアップ・データベースに構成されている磁気テープ・コーディネーターおよびポート・オフセット番号を表示します。

          % backup listhosts

   ここで、

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

コマンドの出力には、現在バックアップ・データベースに記録されている磁気テープ・コーディネーターとそのポート・オフセット番号が表示されます。ポート・オフセット番号が表示されても、関連する磁気テープ・コーディネーターが実行されているとは限りません。マシン名は、backup addhost コマンドに指定した形式で表示されます。

次の例は、 Example Corporation セルのバックアップ・データベースに現在定義されている磁気テープ・コーディネーターを表示しています。

       % backup listhosts
       Tape hosts:
           Host backup1.example.com, port offset 0
           Host backup1.example.com, port offset 2
           Host backup2.example.com, port offset 1
           Host backup2.example.com, port offset 3

## ボリューム・セットおよびボリューム項目の定義および表示

バックアップ・システムは、個々のファイル単位ではなく、ボリューム単位でデータを処理します。バックアップ操作を実行する前に、backup addvolset コマンドを使ってボリューム・セット というボリュームのグループを定義する必要があります。ボリューム・セットには、最大 31 文字までの名前を付けることができます。名前には、ピリオド ( .) を除くすべての文字を使用することができます。シェルに対して特殊な意味を持つメタ文字は使用しないようにしてください。

ボリューム・セットを作成したら、 backup addvolentry コマンドを使って、 1 つまたは複数のボリューム項目 を、その中に配置します。ボリューム項目は、そのボリューム・セットに属すボリュームの、位置 (ファイル・サーバー・マシンと区画) および名前を定義します。コマンドに必須の -server 引き数を使用して、対象のボリュームを置くファイル・サーバー・マシンを指定し、さらに必須の -partition 引き数を使用して、その区画を指定します。2 種類の値が使用可能です。

- マシンの完全修飾ホスト名、または区画の完全名 (/vicepm など)。
- 正規表現 .* (ピリオドとアスタリスク )。これは、VLDB のすべてのマシン名または区画名に一致します。

ボリューム名 (必須の -volume 引き数) の場合は、英数字と 1 つまたは複数のメタ文字を組み合わせて指定し、ボリューム名の一部またはすべてをワイルドカードで指定します。ボリューム名フィールドでは、次のメタ文字を組み合わせて使用することができます。

.
  ピリオドは、単一文字に一致します。

*
  アスタリスクは、直前の文字の 0 回以上の繰り返しに一致します。これは、他の英数字またはメタ文字を組み合わせて使用することができます。

[ ]
  文字のリストを大括弧で囲むと、そのいずれかの 1 文字に一致します。たとえば、[abc] は、a、 b、c のいずれか 1 文字に一致し、 d や A には一致しません。この式はアスタリスクと組み合わせることができます。

^
  大括弧のセットの先頭文字として脱字記号を使用すると、この記号の直後の文字以外の任意の一文字に一致します。たとえば、 [^a] は、a の小文字以外の任意の一文字に一致します。この式はアスタリスクと組み合わせることができます。

\
  このリストでメタ文字の直前に円記号を付けると、そのメタ文字自身に一致します。たとえば、式 \. (円記号とピリオド) は、ピリオド 1 つに一致し、\* はアスタリスク 1 つ、\\ は円記号 1 つにそれぞれ一致します。これらの式はアスタリスクと一緒に使用することができます (たとえば、\.* は、任意の数のピリオドに一致します。)

最も一般的な正規表現は、ピリオドの後にアスタリスクが続く式 (.*) です。ピリオドは任意の一文字に一致し、アスタリスクは直前の文字の任意の繰り返しに一致するので、この式は、任意の長さの文字列に一致します。前述のように、ボリューム項目のファイル・サーバー・フィールドおよび区画フィールドで使用できる正規表現はこれだけです。ボリューム名フィールドでは、これらの文字は単独で使用するか (この場合、VLDB にリストされている任意のボリュームに一致します)、あるいは英数字と一緒に使用することができます。たとえば、 user.*\.backup という文字列は、 user で始まり、.backup で終了する任意のボリューム名に一致します。

対話モードで backup addvolentry を発行するのが最も簡単な方法です。シェル・プロンプトで発行する場合には、正規表現を含むすべての文字列を、二重引用符 (" ") で囲む必要があります。そうすることで、シェルは、それらを解決せずに、未解釈のまま backup インタープリターに渡します。

いくつかのボリュームを組み合わせて定義する場合には、 backup addvolentry コマンドの 3 つの引き数に次のタイプの値を指定してください。このリストでは、対話モードでの表記を使用しています。このコマンドをシェル・プロンプトで発行する場合には、正規表現を含む文字列全体を二重引用符で囲んでください。ボリュームの指定方法は次のとおりです。

- VLDB にあるすべてのボリュームを指定する場合には、 3 つの引き数すべてに正規表現 .* を使用してください (-server .* -partition .* -volume .*)。
- 特定のファイル・サーバー・マシン上のすべてのボリュームを指定する場合には、 -server 引き数に完全修飾ホスト名を指定し、 -partition および -volume 引き数には正規表現 .* を使用してください (たとえば、-server fs1.example.com -partition .* -volume .*)。
- いろいろなファイル・サーバー・マシンの同じ名前の区画にあるすべてのボリュームを指定する場合には、 -partition 引き数に区画の完全名を指定し、 -server および -volume 引き数には正規表現 .* を使用してください (たとえば、 -server .* -partition /vicepd -volume .*)。
- 名前に共通の文字列を含むボリュームを指定する場合には、 -server および -partition 引き数に正規表現 .* を使用し、 -volume 引き数には英数字とメタ文字を組み合わせて指定してください。 (たとえば、名前に .backup という文字列を含むボリュームの場合には、-server .* -partition .* -volume .*\.backup と指定します。)
- 1 つの区画にあるすべてのボリュームを指定する場合には、 -server 引き数にマシンの完全修飾ホスト名を、 -partition 引き数に完全な区画名を指定し、 -volume 引き数に正規表現 .* を使用してください (たとえば、-server fs2.example.com -partition /vicepb -volume .*)。
- 単一のボリュームを指定する場合には、-volume 引き数に完全なボリューム名を指定してください。VLDB から項目を検索するときの検索時間を短くするために、 -server および -partition 引き数に実際のマシン名と実際の区画名をそれぞれ指定することができます。ただし、後でボリュームを移動する可能性もあるので、マシン名と区画名には正規表現 .* を使用したほうが有効です。

ボリューム・セットを作成したら、ボリュームのグループを定義します。このグループのボリュームは、同じ磁気テープ、同じ時間 (たとえば、毎週または毎日)、および同じ方法 (フルまたは増分) でダンプされます。一般に、同じロケーションを共有するボリュームからボリューム・セットを構成するよりも、名前などから内容が類似したボリュームから構成したほうが有効です。負荷分散やスペース上の問題から、ボリュームを頻繁に移動する場合には特にそうです。また、 backup addvolentry コマンドの -server および -partition 引き数には、正規表現 .* を使用すると有効です。

一般に、ボリューム項目に入れるボリューム数を限定したほうが効果的です。ボリューム数が非常に多いボリューム・セットをダンプすると、完了までに長い時間がかかり、サービス割り込みやシステムの停止などで操作が失敗する可能性が高くなります。

ボリューム・セットからボリューム項目を消去するには、backup delvolentry コマンドを使用します。ボリューム・セットとそのコンポーネント・ボリューム項目のすべてをバックアップ・データベースから消去するには、 backup delvolset コマンドを使用します。ボリューム・セット内のボリューム項目を表示するには、backup listvolsets コマンドを使用します。

デフォルトでは、新規のボリューム・セット用に、バックアップ・データベース・レコードが作成されます。しかし、ボリューム・セットを、バックアップ・データベースに永続的に記録しないように作成する方がいい場合もあります。たとえば、backup volsetrestore コマンドを使って、一緒にバックアップされたとは限らないボリュームのグループをリストアする場合などです (詳しくは、backup volsetrestore コマンドの使用 を参照してください)。 一時 ボリューム・セットを作成するには、 backup addvolset コマンドに -temporary フラグを指定してください。一時ボリューム・セットは、現行の対話式セッションが存続する間のみ存在します。したがって、このフラグは、 backup (interactive) コマンドによってオープンされた対話式セッションで使用される間のみ有効です。 backup delvolset コマンドを使って対話式セッションが終了する前に一時ボリューム・セットを削除することもできますが、上述のように、セッションの終了時には自動的に削除されます。一時ボリューム・セットの利点の 1 つは、 backup addvolset コマンドです。また、それ以降に使用される backup addvolentry コマンドは、ボリューム項目を追加し、バックアップ・データベース・レコードが作成しないため、通常のボリューム・セットよりも速く完了します。

### ボリューム・セットの作成

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

          % bos listusers <machine name>

2. (オプション) backup コマンドを発行して、対話モードに入ります。 backup addvolentry コマンドを使ってすぐにボリューム項目を定義する場合には、メタ文字の式を二重引用符で囲む必要はありません。一時ボリューム・セットを作成する場合は、対話モードに入る必要があります。

          % backup

3. (backup) addvolset コマンドを発行して、ボリューム・セットを作成します。その後、(backup) addvolentry コマンドを発行して、作成したボリューム・セットにボリューム項目を定義します。

          backup>  addvolset <volume set name> [-temporary]

   ここで、

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

   volume set name
     ボリューム・セットの名前を付けます。名前は、31 文字以内で、ピリオドを含むことはできません。また、バックアップ・データベースの中で固有でなければなりません。 (一時ボリューム・セットは、既存の永続ボリューム・セットと同じ名前を持つことができますが、混乱を避けるためにもお勧めできません。)

   -temporary
     現行の対話式セッションの間のみ存在する、一時ボリューム・セットを作成します。

### ボリューム項目のボリューム・セットへの追加

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

          % bos listusers <machine name>

2. (オプション) backup コマンドを発行して、対話モードに (まだなっていなければ) 入ります。これによって、メタ文字を二重引用符で囲む必要がなくなりますので、メタ文字の式の使用が簡素化されます。一時ボリューム・セットに項目を追加する場合は、そのボリューム・セットを作成する前に対話モードに入っておく必要があります。

          % backup

3. (backup) addvolentry コマンドを出して、既存のボリューム・セットにボリューム項目を定義します。バックアップ・システムは、ボリューム・セット内の各ボリューム項目に索引を付けます。最初の索引は 1 から始まります。

          backup> addvolentry  -name <volume set name>  \
                               -server <machine name>  \
                               -partition <partition name>  \
                               -volumes <volume name (regular expression)>

   ここで、

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

   -name
     ボリューム項目を追加するボリューム・セットの名前を指定します。このボリューム・セットはすでに存在していなければなりません。 (ボリューム・セットを作成する場合には、backup addvolset コマンドを使用してください。)

   -server
     ボリューム項目のボリュームを格納する 1 つ以上のファイル・サーバー・セットを定義します。完全修飾のホスト名 (たとえば fs1.example.com) を指定するか、メタ文字式 .* (ピリオドとアスタリスク) を使用してください。この式は、VLDB にあるすべてのマシン名に一致します。

   -partition
     ボリューム項目のボリュームを格納する 1 つ以上の区画セットを定義します。完全修飾の区画名 (たとえば /vicepa) を指定するか、メタ文字式 .* (ピリオドとアスタリスク ) を使用してください。この式は、すべての区画名に一致します。

   -volumes
     ボリューム項目に含まれる 1 つ以上のボリュームを定義します。それらは名前で識別します。この機能グループで既に説明したように、この引き数には英数字とメタ文字を 組み合わせて使用することができます。

### ボリューム・セットおよびボリューム項目の表示

1. backup listvolsets コマンドを発行して、特定のボリューム・セットまたはすべてのボリューム・セットのボリューム項目を表示します。一時ボリューム・セットを表示する場合は、そのボリューム・セットを作成したときと同じ対話式セッションの中にいなければなりません。

          % backup listvolsets [<volume set name>]

   ここで、

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

   volume set name
     表示するボリューム・セットの名前を指定します。定義されているすべてのボリューム・セットを表示するには、この引き数を省略します。

   コマンドからの出力では、ボリューム項目が作成されたときのワイルドカード表記が使用されます。文字列 `(temporary)` は、一時ボリューム・セットにマークを付けます。次の例は、セルのバックアップ・データベースに定義されている 3 つのバックアップ・データベースすべてと、現行の対話式セッション内で作成された一時ボリューム・セット pat+jones を表示します。

          backup> listv
          Volume set pat+jones (temporary):
            Entry 1: server fs1.example.com, partition /vicepe, volumes: user.pat.backup
            Entry 2: server fs5.example.com, partition /viceph, volumes: user.jones.backup
          Volume set user:
            Entry 1: server .*, partition .*, volumes: user.*\.backup
          Volume set sun:
            Entry 1: server .*, partition .*, volumes: sun4x_55\..*
            Entry 2: server .*, partition .*, volumes: sun4x_56\..*
          Volume set rs:
            Entry 1: server .*, partition .*, volumes: rs_aix42\..*

### ボリューム・セットの削除

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

          % bos listusers <machine name>

2. backup delvolset コマンドを発行して、 1 つまたは複数のボリューム・セットとそのボリューム項目を削除します。一時ボリューム・セットを削除する場合は、そのボリューム・セットを作成したときと同じ対話式セッションの中にいなければなりません。

          % backup delvolset <volume set name>+

   ここで、

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

   volume set name
     削除するボリューム・セットの名前を指定します。

### ボリューム項目のボリューム・セットからの削除

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

          % bos listusers <machine name>

2. backup コマンドを発行して、対話モードに入ります。

          % backup

3. ボリューム・セットに複数のボリューム項目がある場合には、 (backup) listvolsets コマンドを発行して、ボリューム項目に関連付けられた索引番号を表示してください。 (ボリューム項目が 1 つしかない場合には、その索引は 1 になります。) コマンドの出力の詳細については、 ボリューム・セットおよびボリューム項目の表示 を参照してください。

          backup> listvolsets <volume set name>

   ここで、

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

   volume set name
     ボリューム項目を表示するボリューム・セットの名前を指定します。
4. (backup) delvolentry コマンドを出すと、ボリューム項目が削除されます。

          backup> delvolentry <volume set name>  <volume entry index>

   ここで、

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

   volume set name
     ボリューム項目を削除するボリューム・セットの名前を指定します。

   volume entry index
     削除するボリューム項目のインデックス番号を指定します。

## ダンプ階層の定義および表示

ダンプ階層は、フル・ダンプと増分ダンプの関係を定義しているバックアップ・データベースの論理構造です。ここでは、増分ダンプの親となるダンプを定義しています。階層内の個々のコンポーネントをダンプ・レベルといいます。

backup adddump コマンドを使用してダンプ・レベルを定義する場合には、次の規則および前提条件に注意してください。

- フル・ダンプ・レベルは、階層内で最上位のレベルになります。必要な数の階層を作成し、ボリューム・セットやスケジュールごとに別の階層にダンプすることができます。
- フル・ダンプ・レベルの名前は、スラッシュ (/) で始まり、その後に最大 28 文字までの英数字から構成される文字列が続きます。
- 増分ダンプ・レベルの名前はパス名に似ています。フル・ダンプ・レベルの名前で始まり、次に最初の増分レベル、2 番目の増分レベル、というように最後の増分レベルまで続きます。各レベルの名前はスラッシュで始まり、前のレベルと区切られています。フル・レベルと同様に、各レベルには、スラッシュを除いて最大 28 文字までの名前を付けることができます。
- 階層には、いくつでもレベルを指定することができますが、完全なダンプ・レベル名の最大長は、スラッシュも入れて 256 文字です。
- 増分レベルを定義する場合には、階層内で上位にあるすべてのレベルが定義されていなければなりません。
- ダンプ・レベル名では、ピリオド (.) は使用しないでください。バックアップ・システムは、ダンプ名と AFS 磁気テープ名を作成するときに、ダンプのボリューム・セット名とダンプ・レベル名の区切り文字として、ピリオドを使用しています。他の英数字や句読文字は使用可能ですが、メタ文字は使用しないほうがよいでしょう。メタ文字を使用する場合には、この前に円記号 (\) を付けるか、ダンプ・レベル名全体を二重引用符 ( " ") で囲んでください。
- ダンプ・レベルに名前を付けるときに実際の日時を使用すると、ダンプ実行日や、異なるレベルで実行されたダンプ間の関係を簡単に理解することができます。ただし、この名前はバックアップ・システムに何の意味もありません。名前に従って自動的にダンプが作成されるわけはありません。たとえば、火曜日にダンプを作成したときに、/sunday というレベルを作成することができます。
- 1 つの階層で同じ名前のレベルが複数存在することは望ましいことではありません。その場合、ダンプ名とダンプ・レベルの同期が取れなくなる可能性があります。たとえば、 /full/incr/incr という名前のダンプ・レベルを作成した場合、最初の増分レベルでボリューム・セットをダンプしたときに作成されたダンプ名と AFS 磁気テープ名 (/full/incr) は、 2 番目の増分レベルでのダンプ時に生成された名前 (/full/incr/incr) と類似したものになります。
- 異なる階層であれば個々のレベルの名前が一致していてもかまいませんが、完全なパス名は固有でなければいけません。たとえば、/sunday1/monday および /sunday2/monday は、最終レベルの名前は同じですが、レベル全体では異なる名前のため固有のものです (異なる階層に属しています)。ただし、複数階層で同じ名前を使用する場合、ダンプおよび AFS テープ名によりどの階層を使用するのか明確に示すことにはなりません。

以下の例では、3 つの階層を表しています。それぞれの階層は、最上位でフル・ダンプを開始します。最初の階層がsunday1、 2 番目の階層が sunday2、 3 番目の階層が sunday_bin です。この3 つの階層は、お互いがお互いの増分ダンプになっています。

       /sunday1
               /monday
               /tuesday
               /wednesday
               /thursday
               /friday
       /sunday2
               /monday
                      /tuesday
                              /wednesday
                                        /thursday
                                                 /friday
        /sunday_bin
                   /monday
                          /wednesday
                                    /friday

最初の階層では、各増分ダンプ・ダンプは、フル・レベルの /sunday1 を親として参照します。ボリューム・セットを /sunday1/wednesday レベルでダンプすると、ボリューム・セットが/sunday1 レベルで作成されてから変更されたデータが入ります。

逆に、2 番目階層での増分ダンプ・レベルは、直前のレベルを親として認識します。ボリューム・セットを 2 番目の階層で対応するレベル (/sunday2/monday/tuesday/wednesday) にダンプすると、ダンプには、このボリューム・セットが /sunday2/monday/tuesday レベルで (おそらくは一日前に) ダンプされてから変更されたデータだけが入ります。特定の日にダンプを作成した場合、この階層で作成された増分ダンプには、最初の階層で対応するレベルで作成された増分ダンプよりも少ないデータが入ります。

データの変更回数が頻繁でないため (たとえば、システム・バイナリー)、毎日バックアップする必要がないボリュームをダンプする場合に、 3 番目の階層は最適です。

### テープ再利用スケジュールの作成

多くのセルでは、バックアップ磁気テープを格納する場所や、磁気テープを購入する予算にも制限があります。この問題は、不要になった磁気テープを上書きして、データのバックアップに使用するなど、磁気テープを再利用すると解決することができます。バックアップ・システムは、各ダンプ・レベルに有効期限を設定することができるので、再利用のスケジュールを作成することができます。有効期限には、そのレベルで作成されたダンプの有効期限を定義します。有効期限が切れるまで、バックアップ・システムは、ダンプを含むテープの上書きを拒否します。したがって、有効期限を割り当てると、自動的に磁気テープの再利用方法が決まります。

磁気テープの再利用を計画するときには、バックアップされたデータの保存期間とバックアップ方法について考えなければなりません。たとえば、ユーザーのホーム・ボリュームを過去 2 週間の特定の日の状態に復元したい場合には、ダンプを毎日作成し、少なくとも 2 週間はそのダンプが入った磁気テープは再利用することができません。同様に、ユーザーのホーム・ボリュームを過去 1 か月の特定の週の初めの状態に復元したい場合には、毎週ダンプを作成して、少なくとも 4 週間はそのダンプが入った磁気テープを再利用することができません。次の例では、このスケジュールに従って磁気テープを再利用しています。ここでは、毎日実行する増分ダンプの有効期限を 13 日に、毎週実行するフル・ダンプの有効期限を 27 日に設定しています。

/sunday1 には、毎日の増分ダンプで作成されたダンプが保管されます。有効期限が切れると、このボリュームは、 /sunday3 での毎日のダンプ用に再利用され、このサイクルが繰り返されます。/sunday2 と /sunday4 階層との間にも同じような関係があります。同様に、磁気テープに /sunday1 レベルで作成されたフル・ダンプがあり、この有効期限が切れると、翌月の最初の日曜日に実行されるフル・ダンプに使用されます。

       /sunday1   expires in 27d
              /monday1  expires in  13d
              /tuesday1  expires in  13d
              /wednesday1  expires in  13d
              /thursday1  expires in  13d
              /friday1  expires in  13d
       /sunday2   expires in 27d
              /monday2  expires in  13d
              /tuesday2  expires in  13d
              /wednesday2  expires in  13d
              /thursday2  expires in  13d
              /friday2  expires in  13d
       /sunday3   expires in 27d
              /monday1  expires in  13d
              /tuesday1  expires in  13d
              /wednesday1  expires in  13d
              /thursday1  expires in  13d
              /friday1  expires in  13d
       /sunday4   expires in 27d
              /monday2  expires in  13d
              /tuesday2  expires in  13d
              /wednesday2  expires in  13d
              /thursday2  expires in  13d
              /friday2  expires in  13d

セルで付加ダンプを使用する場合には、ダンプ・セットのすべてのダンプは、その構成しているダンプに関連した最新の有効期限が適用されるので注意してください。すべてのダンプの有効期限が切れるまで、ダンプ・セットを含む磁気テープは再利用することができません。 ダンプを既存のダンプ・セットに追加するには も参照してください。

磁気テープの製造元は、多くの場合、特定の回数以上は書き込み操作をおこなわないように推奨しています。磁気テープを再利用するときには、この回数を超えないように注意する必要があります。テープの使用状況が分かるように、バックアップ・システムは、磁気テープのラベルに `useCount` カウンターを記録しています。磁気テープのラベルが更新されるたびに (backup labeltape または backup dump コマンドを使用するたびに)、このカウンターは 1 つ加算されます `useCount` カウンターを表示する場合には、 backup readlabel または backup scantape コマンドを使用してください。backup dumpinfo コマンドを発行するときには、 -id および -verbose オプションを使用してください。説明については、テープ・ラベルの書き込みおよび読み取り、または バックアップ・ダンプ・レコードの表示 を参照してください。

### テープの保存

磁気テープを効率よく再利用しようとすると、バックアップ・データの中に長期間保存しなければならないデータが見つかることがあります。バックアップ・システムを使用すると、一定のスケジュールでデータを保存することができます。また、以前に再利用の対象になった磁気テープを選択して、データを保存することができます。

一定の間隔でデータを保存する場合には、ダンプ階層内に日付別のダンプ・レベルを作成することができます。たとえば、 2000 年の四半期の開始ごとにセルに作成したすべてのデータのフル・ダンプを保存する場合には、ダンプ階層内に次のレベルを作成することができます。

       /1Q2000
       /2Q2000
       /3Q2000
       /4Q2000

以前に再利用を考えた磁気テープにあるデータを保存する場合には、関連するダンプ (フルおよび増分) を含む磁気テープをすべて用意しなければなりません。偶発的な事故でデータが消去されないように、スイッチを設定して磁気テープを書き込み不可にしてから、磁気テープの保管場所に移してください。磁気テープの中に、大量の不要なデータがある場合には、まず、関連するデータだけを新しい一時ボリュームに復元し、そのボリュームを最も少ない数の磁気テープに戻してください。ダンプ・セットのサイズを小さくするのは、保存することになるダンプ・セット内の関係のないデータの量を最小にするためです。

保存されたデータをファイル・システムに復元しない場合には、 backup deletedump コマンドを使用して、関連するダンプ・レコードをバックアップ・データベースから削除することを考えてみてください。これにより、常に効率のよいサイズに保つことができます。データの復元が必要になれば、backup scantape コマンドに -dbadd フラグを付けて発行すると、データベースにダンプ・レコードを再挿入することができます。説明については、 テープ内容をスキャンするには を参照してください。

### 有効期限の定義

作成したダンプ・レベルに有効期限を設定するには、 backup adddump コマンドで -expires 引き数を使用してください。既存のダンプ・レベルの有効期限を変更する場合には、 backup setexp コマンドに -expires 引き数を指定してください。 (このレベルですでに作成されているダンプの有効期限は変更できません。) 両方のコマンドで、有効期限は、絶対値 (たとえば、2000 年 1月 13 日) で設定することも、相対値 (たとえば、ダンプ作成後 30 日) で設定することもできます。

- 絶対的な有効期限を定義するには、以下のような形式で -expires 引き数に値を指定します。

         [at] mm/dd/yyyy [hh:MM]

  ここで、mm は月、 dd は日、yyyy は年を表します。年に指定可能な値は、1970 から 2037 までです。(UNIX 時間可能な最新の日付は、 2038 年の初期までです。) 時間を指定する場合には、24 時間形式で入力してください。指定する形式は、hh MM です (たとえば 21:50 は 9:50 p.m. を表します)。. 時間を省略すると、デフォルトは指定された日付の 00:00 時 (午前 12:00) になります。

- 相対的な有効期限を定義するには、以下のような形式で -expires 引き数に値を指定します。

         [in] [yearsy] [monthsm] [daysd]

  この years、months、および days はそれぞれ整数です。それらのうち少なくとも 1 つは、それと対応する文字 (y、m、または d)と一緒に使用します。間にスペースは入れません。この 3 つのうち 2 つ以上を指定する場合には、上の順番どおり指定してください。

  バックアップ・システムは、ダンプ操作の開始時間に、指定された相対的な時間を加えて、ダンプの実際の有効期限を計算します。たとえば、有効期限 in 1y 6m 2d のダンプ・レベルで作成されたダンプには、有効期限を 1 年 6 か月と 2 日に割り当てます。

- 該当するダンプ・レベルでバックアップされたダンプに有効期限がないことを示すには、日時の代わり、次の文字列を NEVER 指定してください。このようなレベルで作成したダンプを含む磁気テープを再利用する場合には、 backup readlabel コマンドを使用して、磁気テープのラベルをはがしてください。

backup adddump コマンドに -expires引き数を省略すると、有効期限は UNIX 時間のゼロ (1970 年 1 月 1 日の午前 12 時 00 分) に設定されます。バックアップ・システムはこのようなダンプ・レベルで作成されたダンプを、その作成時刻に有効期限が切れるものとみなします。ダンプ・セット内に有効期限をもつダンプがなければ、そのダンプ・セットがある磁気テープの再利用について、バックアップ・システムによる制限はありません。ダンプ・セットのある磁気テープを早まって再利用してしまわないようにするには、手動追跡システムを使用しなければなりません。

### ダンプ・レベルのダンプ階層への追加

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

          % bos listusers <machine name>

2. オプション。 backup コマンドを発行して、対話モードに入ります。

          % backup

3. backup adddump コマンドを出すと、 1 つまたは複数のダンプ・レベルを指定することができます。増分ダンプを定義している場合には、そのパス名に含まれるすべての親レベルが存在しているか、コマンド行で前になければなりません。

          backup> adddump -dump <dump level name>+ [-expires <expiration date>+]

   ここで、

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

   -dump
     追加する各ダンプ・レベルの名前を指定します。複数のダンプ・レベル名を指定する場合には、 -dump スイッチを組み込まなければなりません。

     ダンプ・レベルの完全なパス名を指定する場合には、パス名の各レベルの先頭にスラッシュ (/)。コンポーネント・レベルの長さはそれぞれ 28 文字までですが、パス名はスラッシュを含めて最高 256 文字まですることができます。

   -expires
     各ダンプ・レベルに関連して有効期限を設定します。 有効期限の定義 で説明しているように、相対的または絶対的な有効期限を指定するか、またはこの引き数を省略して、ダンプ・レベルに有効期限を割り当てません。

     注: | コマンドの構文ステートメントの中で、この引き数の後にはプラス記号が付きますが、これは二重引用符またはその他の区切り文字で囲む必要のない複数文字の値を受け入れるためで、複数の日付を受け入れるためではありません。 -dump 引き数で指定された各ダンプ・レベルに関連する日付 (およびオプションで時刻) 定義を、1 つだけ指定します。

### ダンプ・レベルの有効期限を変更する

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

          % bos listusers <machine name>

2. オプション。 backup コマンドを発行して、対話モードに入ります。

          % backup

3. (backup) setexp コマンドを出すと、 1 つまたは複数のダンプ・レベルと関連した有効期限を変更することができます。

          backup> setexp -dump <dump level name>+ [-expires <expiration date>+]

   ここで、

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

   -dump
     有効期限を変更する既存のダンプ・レベルの名前をそれぞれ指定します。

   -expires
     各ダンプ・レベルに関連して有効期限を設定します。 有効期限の定義 で説明しているように、相対的または絶対的な有効期限を指定するか、またはこの引き数を省略して、各ダンプ・レベルと現在関連している有効期限を消去します。

     注: | コマンドの構文ステートメントの中で、この引き数の後にはプラス記号が付きますが、これは二重引用符またはその他の区切り文字で囲む必要のない複数文字の値を受け入れるためで、複数の日付を受け入れるためではありません。 -dump 引き数で指定された各ダンプ・レベルに関連する日付 (およびオプションで時刻) 定義を、1 つだけ提供します。

### ダンプ・レベルのダンプ階層からの削除

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

          % bos listusers <machine name>

2. オプション。 backup コマンドを発行して、対話モードに入ります。

          % backup

3. (backup) deldump コマンドを出すと、ダンプ・レベルが削除されます。このコマンドは、指定のレベルが親となる増分ダンプ・レベルのすべてを自動的に直接か間接的に消去するので注意してください。

          backup> deldump <dump level name>

   ここで、

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

   dump level name
     削除するダンプ・レベルをフルパス名で指定します。

### ダンプ階層の表示

1. backup listdumps コマンドを出すと、ダンプ階層が表示されます。

           % backup listdumps

   listd は、listdumps の最も短い受け入れ可能な省略形です。

   このコマンドからの出力にダンプ階層が表示されます。それには、各ダンプ・レベルと関連した有効期限が報告されます。以下に例を示します。

           % backup listdumps
          /week1  expires in  27d
                /tuesday  expires in  13d
                        /thursday  expires in  13d
                /sunday  expires in  13d
                       /tuesday expires in  13d
                               /thursday  expires in  13d
          /week3  expires in  27d
                /tuesday  expires in  13d
                        /thursday  expires in  13d
                /sunday  expires in  13d
                       /tuesday  expires in  13d
                               /thursday  expires in  13d
          sunday1   expires in  27d
                 /monday1  expires in  13d
                 /tuesday1  expires in  13d
                 /wednesday1  expires in  13d
                 /thursday1  expires in  13d
                 /friday1  expires in  13d
          sunday2   expires in  27d
                 /monday2  expires in  13d
                 /tuesday2  expires in  13d
                 /wednesday2  expires in  13d
                 /thursday2  expires in  13d
                 /friday2  expires in  13d
          sunday3   expires in  27d
                 /monday1  expires in  13d
                 /tuesday1  expires in  13d
                 /wednesday1  expires in  13d
                 /thursday1  expires in  13d
                 /friday1  expires in  13d
          sunday4   expires in  27d
                 /monday2  expires in  13d
                 /tuesday2  expires in  13d
                 /wednesday2  expires in  13d
                 /thursday2  expires in  13d
                 /friday2  expires in  13d

## テープ・ラベルの書き込みおよび読み取り

ダンプ名および磁気テープ名 および 磁気テープ・ラベル、ダンプ・ラベル、および EOF マーカー で説明するとおり、バックアップ・システムで使用する磁気テープに永続名または AFS 磁気テープ名のいずれかを指定することができます。名前は磁気テープの磁気ラベルに磁気テープの容量 (サイズ) と一緒に記録されます。

指定できるのは永続名か AFS 磁気テープ名のいずれかであり、両方は指定できません。バックアップ・システムは永続名の形式を必要としないので、一般に、 AFS 磁気テープ名よりも永続名を指定する方がバックアップ処理が単純化されます。磁気テープに永続名が付いていないと、バックアップ・システムはデフォルトによって AFS 磁気テープ名フィールドで直接定義された 3 つの値だけを受け入れて、適合しない AFS 磁気テープ名のものにはダンプの書き込みを拒否します。このフィールドには、初期ダンプのボリューム・セットおよびダンプ・レベルに一致する名前、または値 `<NULL>` を指定するか、あるいは値をまったく指定しません。

磁気テープに永続名が付いていると、バックアップ・システムは AFS 磁気テープ名を検査せず、ダンプ操作の一部として、該当する AFS 磁気テープ名自体を構成して、それをラベルに記録します。これは、ユーザーが永続名を指定した場合には、バックアップ・システムが AFS 磁気テープ名を指定して、磁気テープは両方のタイプの名前をもつことを意味します。反対に、 AFS 磁気テープ名を指定して永続名を指定しないと、永続名を指定するには、最初に AFS 磁気テープ名を消去しなければなりません。

(永続名を指定していなくても、バックアップ・システムによる磁気テープの AFS 磁気テープ名の検査を行わないようにすることもできます。そうするには、装置構成ファイルで NAME_CHECK 命令に値 NO を指定します。AFS テープ名検査の除去 を参照してください。)

バックアップ・システムはラベルなし磁気テープを受け入れるので、それを最初に使用する前にラベルを付ける必要はありません。最初に使用した後で、そこにダンプを書き込むためにラベルを再度付けなければならない場合があります。それは以下の場合です。

- 磁気テープに永続名が指定されておらず、その AFS 磁気テープ名が、作成したい新規の初期ダンプ・セットと一致していない場合。 (ボリューム・セットとダンプ・レベル名が異なっているか、索引が間違っている。)
- そこにあるダンプのすべてが満了するまえに磁気テープを再利用したい場合。バックアップ・システムは有効期限に達していないダンプを磁気テープに上書きしません。磁気テープにラベルを付け直して再利用できるようにするには、その磁気テープのダンプ・レコードをすべてバックアップ・データベースから消去して、磁気テープからいかなるデータも復元できないようにしなければならないので注意してください。

注: | ダンプ・データを含むテープにラベルを付けると、ラベル付けによりバックアップ・データベースからダンプ・レコードが除去されるため、そのデータは復元操作で使用できなくなります。テープ・ラベルに永続名を記録するのであれば、テープにデータをダンプする前に行わなければなりません。

### 名前のレベルへの記録

磁気テープのラベルに永続名を書き込む場合には、 -pname 引き数に 32 文字までの文字列を指定してください。セルのバックアップ・システムで使用されているもので、すでに指定済みの永続名を持っている磁気テープがほかにないかどうか調べてください。バックアップ・システムでは複数の磁気テープに同じ名前を指定してしまうのを防ぐ機能がありません。バックアップ・システムは既存の AFS テープ名がある場合は、これを `<NULL>` 値で上書きします。磁気テープに永続名があると、バックアップ・システムは、プロンプトや backup コマンドの出力で AFS 磁気テープ名ではなく永続名を使用します。 -pname 引き数を backup labeltape コマンドに再び指定しない限り、永続名は変更されません。磁気テープの内容や磁気テープの再利用回数、または -pname 引き数のない backup labeltape コマンドの使用回数には関係ありません。

AFS 磁気テープ名をラベルに書き込むには、 -name 引き数に、ボリューム・セット名、および磁気テープに書き込む計画のある初期ダンプのダンプ・レベル・パス名と一致する値、ならびに、ダンプ・セットの磁気テープの順番に磁気テープの場所を示す索引を指定します。これらの形式は次のとおりです。

       volume_set_name.dump_level_name.tape_index

-name 引き数を省略すると、バックアップ・システムは AFS テープ名を `<NULL>` に設定します。バックアップ・システムは、ユーザーが後で backup dump または backup savedb コマンドを使用して初期ダンプを磁気テープに書き込むときに適切な名前を作成して記録します。

磁気テープに永続名がすでにあると、 -name 引き数を使用することはできません。磁気テープの永続名を削除する場合には、-pname 引き数にヌル値を指定して、次のコマンドを発行してください。

       % backup labeltape -pname ""

### 容量のラベルへの記録

ラベルに磁気テープの容量を記録する場合には、 -size 引き数に数値を KB 単位で指定してください。磁気テープに最初にラベルを作成するときに、この引き数を省略すると、バックアップ・システムは、磁気テープ・コーディネーター・マシンの /usr/afs/backup/tapeconfig ファイルに指定されているポート・オフセットの設定されているデフォルトの磁気テープ容量を記録します。磁気テープの容量が tapeconfig ファイルに記録されているものと異なる (特に大きい) 場合には、磁気テープを使用する前にラベルに容量を記録するようにしてください。一度設定したら、ラベルの容量フィールドに指定された値は、 -size 引き数を再度 backup labeltape コマンドで使用するまで有効です。テープに記録するための適切な容量については、 tapeconfig ファイルの構成 を参照してください。

磁気テープのラベルを読み取るには、 backup readlabel コマンドを使用してください。

ほとんどの磁気テープは、外部ケースにも使用することができる粘着性のラベルが付いてきます。簡単に磁気テープを識別できるようにするために、少なくとも磁気テープの永続名と AFS 磁気テープ名を粘着ラベルに記録しておいてください。再利用のスキームによっては、ダンプ dump ID、ダンプ作成日、磁気テープに書き込む各ダンプの有効期限などの、その他の情報を記録しておくと便利な場合があります。

### 磁気テープのラベル付け

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

          % bos listusers <machine name>

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

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

3. テープを装置に装てんします。
4. オプション。複数の磁気テープにラベルを付けたり、磁気テープにラベルを付けた後にコマンドをさらに出したい場合には、 backup コマンドを出して対話モードに入ります。以下のように対話式でプロンプトが表示されます。

          % backup

5. (backup) labeltape コマンドを出すと、磁気テープにラベルが付きます。

          backup> labeltape [-name <tape name, defaults to NULL>]  \
             [-size <tape size in Kbytes, defaults to size in tapeconfig>]  \
             [-portoffset <TC port offset>] [-pname <permanent tape name>]

   ここで、

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

   -name
     ラベルに記録する AFS 磁気テープ名を指定します。この引き数は、-pname 引き数と一緒に使用できません。この引き数を省略すると、 AFS テープ名は `<NULL>` に設定されます。指定する場合には、以下のような形式にしなければなりません。

            volume_set_name.dump_level_name.tape_index

     backup dump 操作で将来使用可能な磁気テープの場合、volume_set_name は、テープに書き込まれる初期ダンプのボリューム・セット名に一致、dump_level_name は、ボリューム・セットがダンプされたダンプ・レベルのパス名の最後の要素と一致、 tape_index は、ダンプ・セットが置かれる一連のテープの中のテープの位置を正確に示していなければなりません (索引は 1 から始まります)。

   -size
     ラベルに記録する磁気テープの容量を指定します。この引き数を指定するのは、初めて磁気テープにラベルを付けるときに、磁気テープの容量が、磁気テープ・コーディネーター・マシンの /usr/afs/backup/tapeconfig ファイルに指定されているポート・オフセットの設定されている容量と異なる場合に限ります。

     値を指定する場合、整数の後に単位を表す文字を指定します。間にスペースは入れないでください。k または K はキロバイトで、 m または M はメガバイト、 g または G ギガバイトです。単位の文字を省略すると、デフォルトで K バイトが使用されます。

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

   -pname
     ラベルに記録する永続名を指定します。最大 32 文字までの名前が指定できます。名前には英数字を使用することができます。シェルで特別な意味を持つメタ文字や、シェル・プロンプトのコマンドでリテラルに解釈されるマークは使用しないでください。

     この引き数は、-name 引き数とは一緒に使用できません。この引き数を指定すると、 AFS テープ名は `<NULL>` に設定されます。この引き数を省略すると、既存の永続名が保存されます。

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

### 磁気テープのラベルの読み取り

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

          % bos listusers <machine name>

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

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

3. テープを装置に装てんします。
4. オプション。複数の磁気テープにラベルを付けたり、磁気テープにラベルを付けた後にコマンドをさらに出したい場合には、 backup コマンドを出して対話モードに入ります。以下のように対話式でプロンプトが表示されます。

          % backup

5. (backup) readlabel コマンドを出すと、磁気テープのラベルを読み取ります。

          backup> readlabel [<TC port offset>]

   ここで、

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

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

磁気テープ・ラベルからの情報は、 backup コマンド・ウィンドウと磁気テープ・コーディネーター・ウィンドウの両方に表示されます。コマンド・ウィンドウの出力形式は、以下のとおりです。

       Tape read was labelled: tape_name (initial_dump_ID)
            size: size KBytes

この tape_name は、磁気テープの永続名 (指定されている場合) または AFS磁気テープ名で、 initial_dump_ID は磁気テープにある初期ダンプのダンプ ID が、size には、ラベルに記録されている容量が k バイト単位で表示されます。

「磁気テープ・コーディネーター」ウィンドウの情報は、より広範囲です。磁気テープの永続名は `tape name` フィールドに、 AFS 磁気テープ名は `AFS tape name` フィールドに表示されます。いずれかの名前が未定義の場合には、フィールドにはその代わりに `<NULL>` の値が表示されます。ラベルに記録された容量は、`size` フィールドに表示されます。それ以外の出力フィールドには、時期テープの作成時刻、ダンプ・レベル名、および初期ダンプのダンプ ID (それぞれ `creationTime`、`dump path`、および `dump id`) が表示されます。 `cell` フィールドには、ダンプ操作が行われたセルが表示され、 `useCount` フィールドには、 backup labeltape コマンドまたはダンプ操作のいずれかによる磁気テープのラベル付けが再度行われた回数が表示されます。詳細については、AFS Administration Reference のコマンドの解説ページを参照してください。

磁気テープにラベルがない場合、またはドライブが空の場合には、以下のメッセージがコマンド・シェルに表示されます。

       Failed to read tape label.

次の例は、ポート・オフセット 1 の装置にあるテープのコマンド・シェル出力を示しています。

       % backup readlabel 1
       Tape read was labelled: monthly_guest (917860000)
            size: 2150000 KBytes

同時に磁気テープ・コーディネーター・ウィンドウには以下の出力が表示されます。

       Tape label
       ----------
       tape name = monthly_guest
       AFS tape name = guests.monthly.3
       creationTime =  Mon Feb  1 04:06:40 1999
       cell = example.com
       size = 2150000 Kbytes
       dump path = /monthly
       dump id = 917860000
       useCount = 44
       -- End of tape label --

## バックアップ処理の自動化およびその効率化

バックアップ・システムにはいくつかの任意選択機能があり、セルでのバックアップ処理の自動化や効率化に役立ちます。それらの機能を組み合わせることによって、ほとんどの場合で最小限の人的介入でボリューム・データを磁気テープにダンプすることができます。多くの機能を利用するには、自動化する操作にかかわる各磁気テープ装置ごとに、/usr/afs/backup ディレクトリーに device configuration file を作成します。入出力装置構成ファイルの作成に関する一般的な説明については、 装置構成ファイルの作成 を参照してください。以下のリストは、各機能の詳細を記述した機能グループを示しています。

- バックアップ操作を実行するには、磁気テープ・スタッカーとジュークボックスを使用することができます。磁気テープ・ドライブには、複数の磁気テープを保管し、操作員が行わなくても実際に磁気テープ読取装置 (磁気テープ・ドライブ) 間で挿入/除去を行うことができる接続装置が付属しています。これによって、複数の磁気テープを必要とするバックアップ操作でも操作員が不要になります。バックアップ・システムでジュークボックスまたはジュークボックスを使用するには、その入出力装置構成ファイルに MOUNT および UNMOUNT 命令を記述します。装置のテープ取り付けおよび取り外しルーチンの呼び出し を参照してください。
- バックアップ操作に必要な初期テープの磁気テープ・コーディネーターのデフォルト・プロンプトを抑制することができます。これによって、バックアップ操作の開始時に操作員がいる必要がまたなくなります。(それでも、操作が開始する前には、ユーザーが正しい磁気テープをドライブに挿入しなければなりません。) 初期のプロンプトを抑制するには、 butc コマンドで -noautoquery フラグを立てるか、または入出力装置構成ファイルで AUTOQUERY 命令に値 NO を割り当てます。最初のテープの検索またはプロンプトの除去 を参照してください。
- 磁気テープ・コーディネーターが数種類のエラーを検出しても生成するというプロンプトを抑制することができます。この機能を使用すると、磁気テープ・コーディネーターは通常、デフォルトの方法でエラーに応答し、操作は人的介入を行わずに継続することができます。エラー条件に関するプロンプトを抑制するには、入出力装置構成ファイルで ASK 命令に NO を割り当てます。 エラー条件に対するデフォルトの応答の使用可能化 を参照してください。
- 永続名を持たない磁気テープ上の AFS 磁気テープ名が、ボリュームから派生した名前および磁気テープに書き込まれる初期ダンプのダンプ・レベル名と一致するかどうかの、バックアップ・システムのデフォルトの検査を抑制することができます。これによって、そこにあるすべてのダンプが満了するまでには、最初にラベルの再作成をしなくても磁気テープを再利用することができます。名前の検査を抑制するには、入出力装置構成ファイルで NAME_CHECK 命令に NO を割り当てます。AFS テープ名検査の除去 を参照してください。
- ファイル・システムと装置の間でボリューム・データを転送するときに磁気テープ・コーディネーターが使用するメモリー・バッファーのサイズを設定することによって、磁気テープのストリーミングをプロモートする (磁気テープ装置が操作するのにもっとも効果的な方法) ことができます。バッファー・サイズを設定するには、入出力装置構成ファイルで BUFFERSIZE 命令を記述します。テープ・ストリーミングをプロモートするためのメモリー・バッファーの設定 を参照してください。
- ダンプを、磁気テープではなく、磁気テープ・コーディネーター・マシンのローカル・ディスク上の バックアップ・データ・ファイル に書き出すことができます。それからユーザーは、バックアップ・データを階層記憶管理 (HSM) システムなどのデータ保存システムに転送することができます。このシステムは AFS およびバックアップ・システムと一緒に使用します。通常、ダンプをファイルへ書き込む方が、同等の vos dump コマンドを個々に発行するよりも効果的です。ダンプをファイルに書き出すには、入出力装置構成ファイルで FILE 命令を記述します。データのバックアップ・データ・ファイルへのダンプ を参照してください。

入出力装置構成ファイルを使用しないバックアップの自動化および効率を高めるには、ほかに 2 つの方法があります。

- 1 つまたは複数の backup dump コマンドをスケジュールして、指定の時期に実行することができます。これによって、人的介入を必要とせずに、システムの使用量が低いときにバックアップを作成することができます。以後のある時期にダンプ操作を 1 つスケジュールしたり、いろいろなときに複数の操作を実行するようスケジュールしたりすることができます。ダンプのスケジューリング を参照してください。
- すでにほかのダンプが存在する磁気テープにダンプを追加することもできます。これによって、磁気テープの容量をできるだけ多く使用することができます。付加ダンプを磁気テープ上の初期ダンプや別の付加ダンプに関連させる必要はありませんが、ダンプをグループ化しておくと、復元操作での磁気テープの交換回数を減らすことができます。ダンプを追加するには、 backup dump コマンドに -append 引き数を組み込みます。ダンプを既存のダンプ・セットに追加するには を参照してください。

### 装置構成ファイルの作成

バックアップ操作の自動化を行う多くの機能を使用するには、装置を起動する磁気テープ・コーディネーター・マシンのローカル・ディスクの /usr/afs/backup ディレクトリーにある各磁気テープ装置ごとに構成ファイルを作成します。ファイル名の形式は、次の通りです。

CFG_device_name

ここで、device_name は、磁気テープ装置またはバックアップ・データ・ファイルを表します (ダンプを磁気テープではなくファイルに書き出す方法については、データのバックアップ・データ・ファイルへのダンプ を参照してください)。

テープ装置の場合、すべての UNIX 装置名の始めの部分にある /dev/ 文字列を削除して、名前の中のスラッシュを下線に置換して、名前の device_name 部分を構成してください。たとえば、CFG_rmt_4m は、 /dev/rmt/4m という名前のファイル名を表しています。

バックアップ・データ・ファイルの場合、最初のスラッシュ (/) を削除し、名前の中のスラッシュ (/) を下線で置換して、device_name 部分を構成してください。たとえば、 CFG_var_tmp_FILE は、 /var/tmp/FILE という名前のバックアップ・データ・ファイルのファイル名です。

入出力装置構成ファイルの作成は任意選択です。ファイルによる機能を必要としない場合は、作成する必要はありません。

以下の命令のどれでも任意の順序で入出力装置構成ファイルに記述することができます。すべて任意選択です。命令ごとに改行しますが、 1 つの命令の中に改行 (<Return>) 文字を入れてはなりません。

MOUNT および UNMOUNT
  磁気テープ・スタッカーまたはジュークボックスのドライブに必要に応じて磁気テープを取り付けたり取り外したりするためのルーチンのスクリプトを識別します。 装置のテープ取り付けおよび取り外しルーチンの呼び出し を参照してください。

AUTOQUERY
  バックアップ操作のために必要な最初の磁気テープを要求するために、磁気テープ・コーディネー ターがプロンプトを出すかどうかを制御します。 最初のテープの検索またはプロンプトの除去 を参照してください。

ASK
  ある種のエラー条件に対する応答方法について、テープ・コーディネーターがユーザーに尋ねるかどうかを制御します。 エラー条件に対するデフォルトの応答の使用可能化 を参照してください。

NAME_CHECK
  AFS テープ名と、テープに書き込む初期ダンプが一致するかどうか、テープ・コーディネーターが検査を行うかどうかを制御します。AFS テープ名検査の除去 を参照してください。

BUFFERSIZE
  磁気テープ装置およびボリューム間のデータ転送時に磁気テープ・コーディネーターが使用するメモリー・バッファーのサイズを設定します。 テープ・ストリーミングをプロモートするためのメモリー・バッファーの設定 を参照してください。

FILE
  磁気テープ・コーディネーターが、バックアップ・データ・ファイルにダンプを書き出すか、そこから復元するかを制御します。データのバックアップ・データ・ファイルへのダンプ を参照してください。

### 装置のテープ取り付けおよび取り外しルーチンの呼び出し

磁気テープ・スタッカーまたはジュークボックスを使用すると、人的介入を行わずに操作中でも複数の磁気テープを切り換えることができるため、バックアップ操作を自動化することができます。この機能を利用するためには、スタッカーまたはジュークボックスについて、入出力装置構成ファイルに MOUNT および任意で UNMOUNT 命令を記述してください。これら命令の構文は同じになります。

       MOUNT filename
       UNMOUNT filename

この filename は、装置の磁気テープ・ドライブに磁気テープをマウントするかまたはアンマウントするために装置の製造者が定義したルーチンを呼び出すようにユーザーが作成したスクリプトまたはプログラムのローカル・ディスク上のパス名です。 (以降、 スクリプト という用語はスクリプトとプログラムの両方を指します。) スクリプトには通常、エラー条件を処理したり、実行中のバックアップ操作に従ってスクリプトの働きを修正したりする、追加ロジックが含まれています。

MOUNT または UNMOUNT 命令が記述された別個のスクリプトを参照することもできれば、マウントとアンマウントのルーチンを呼び出す単一のスクリプトを参照したりすることもできます。スクリプトは、 butc コマンド発行側のローカル ID と AFS トークンを継承します。

MOUNT 命令はすべての磁気テープ装置について入出力装置構成ファイルに記述する必要がありますが、 UNMOUNT 命令を記述するかどうかは、装置の製造者が作成した磁気テープ処理ルーチンによって異なります。装置によっては(たいていはスタッカー)、磁気テープのマウントに必要なルーチンは 1つだけで、これで磁気テープのアンマウントも自動的に行えるものもあります。テープがある場合は、必要な新しい磁気テープを挿入することはできません。この場合、 UNMOUNT 命令は不要です。マウントおよびアンマウント・ルーチンを別個にもつ装置の場合には、 UNMOUNT 命令を記述して、磁気テープ・コーディネーターがこれで終わった時に磁気テープをアンマウントするようにしなければなりません。そうしないと、それ以降に MOUNT命令を実行しようとすると、エラーになって失敗します。

入出力装置構成ファイルに MOUNT 命令が記述されている場合には、バックアップ操作を実行する前に、必要な磁気テープをスタッカーまたはジュークボックスに備えておかなければなりません。ジュークボックスの多くは、磁気テープ上の外部ラベル (バーコードなど)を読み取って必要な磁気テープを検索することができますが、スタッカーの多くは、テープを順番に、ときには一方向にしか切り換えることができません。後者の場合、磁気テープを正しい順序で備えておかなければなりません。

磁気テープ装置に磁気テープをあらかじめ備えておけるように復元操作に必要な磁気テープのリストを獲得するには、該当する backup コマンドに -n フラグを立ててください。 ( backup diskrestore、backup volrestore、または backup volsetrestore)。ダンプ操作では、たいていは、操作に必要であると考えられる以上の数の磁気テープを装置に備えておけば十分です。磁気テープの事前ラベル付けには、永続名か AFS 磁気テープ名を使用したり、あるいはまったく使用しないこともできます。ダンプ操作用の磁気テープに AFS 磁気テープ名で事前ラベル付けを行う場合、磁気テープ索引に従ってそれらを順次にスタッカーにロードするのがもっとも簡単です。永続磁気テープ名でラベルを付けるか、ラベルなし磁気テープを使用しても簡単ですが、この場合、バックアップ・システムがダンプ操作時に索引付きの AFS 磁気テープ名を生成し適用します。

#### テープ・コーディネーターが MOUNT および UNMOUNT 命令を使用する方法

butc コマンドを出して指定の磁気テープ装置用に磁気テープ・コーディネーターを初期設定すると、磁気テープ・コーディネーターはローカル・ディスク上の /usr/afs/backup/CFG_device_name という装置構成ファイルを検索します。この device_name の形式については、 装置構成ファイルの作成 で説明しています。ファイルが存在して MOUNT 命令を記述している場合には、磁気テープ・コーディネーターが磁気テープを必要とする時はいつでも、命令の filename 引き数で指定したスクリプトを実行します。

入出力装置構成ファイルが存在しないか、または MOUNT 命令が記述されていない場合には、磁気テープ・コーディネーターが磁気テープを必要とする時にはいつでも、必要な磁気テープを操作員が挿入するように要求するプロンプトがウィンドウに表示されます。操作員は、磁気テープ・コーディネーターがバックアップ操作を継続する前に、磁気テープをドライブに挿入して、<Return> を押さなければなりません。

しかし、操作に必要な最初の磁気テープに関して磁気テープ・コーディネーターの振る舞いを修正するには、装置構成ファイルで AUTOQUERY 命令を NO に設定するか、 -noautoquery フラグを butc コマンドに立てます。この場合、磁気テープ・コーディネーターは MOUNT 命令を実行せず、操作の開始時に磁気テープのプロンプトを出します。これは、ドライブ内で必要な最初の磁気テープを探したいためです。最初のテープの検索またはプロンプトの除去 を参照してください。

装置構成ファイルに UNMOUNT 命令が記述されている場合に磁気テープ・コーディネーターが磁気テープをクローズする時はいつでも、命令のfilename 引き数で指定したスクリプトを実行します。装置でのクローズ 操作が成功したか、しないかに関係なく、スクリプトを一度だけ実行します。入出力装置構成ファイルに UNMOUNT 命令が記述されていない場合には、磁気テープ・コーディネーターは処置を取りません。

#### 使用可能なパラメーターおよび必須終了コード

磁気テープ・コーディネーターが MOUNT スクリプトを実行するときには、 5 つのパラメーターで以下の順序で渡されます。スクリプトでパラメーターを使用すると、バックアップ操作時に生じる可能性のある環境の変化に対する応答を改良することができます。

1. /usr/afs/backup/tapeconfig ファイルには、磁気テープ装置またはバックアップ・データ・ファイルのパス名が記録されています。
2. 操作の開始に使用された backup コマンドの操作コードに対応する、磁気テープ操作 (次のリストに示す例外を除きます)。
   - appenddump (backup dump コマンドに -append フラグがある場合)
   - dump(backup dump コマンドに -append フラグがない場合)
   - labeltape
   - readlabel
   - restore (backup diskrestore、backup volrestore、または backup volsetrestore コマンドに対して)
   - restoredb
   - savedb
   - scantape
3. 磁気テープ・コーディネーターが磁気テープ装置またはバックアップ・データ・ファイルをオープンしようとした回数。オープン試行でエラーが戻されると、磁気テープ・コーディネーターは値を増やして、再度MOUNT 命令を呼び出します。
4. 磁気テープの名前。操作によっては、磁気テープ・コーディネーターは、磁気テープ名を識別できない場合 (backup scantape コマンドや、 backup readlabel コマンドの実行中など)、あるいは磁気テープに名前が必要ない場合 (backup labeltape コマンドの実行中など) に、 `none` という文字列を渡します。
5. バックアップ・データベースに記録されている磁気テープ ID。磁気テープ名と同様に、バックアップ・システムは、磁気テープ ID が識別できない場合または必要な ID がない場合に、操作に対して `none` という文字列を渡します。

MOUNT スクリプトでは、以下の終了コードのいずれか 1 つを戻して、磁気テープが正しくマウントされたかどうかを磁気テープ・コーディネーターに通知しなければなりません。

- コード 0 (ゼロ) は、正しくマウントしたことを示し、テープ・コーディネーターは、バックアップ操作を継続します。 MOUNT 命令が呼び出したスクリプトまたはプログラムからこの終了コードを受信しないと、磁気テープ・コーディネーターは、UNMOUNT 命令を呼び出すことができません。
- コード 1 は、マウント試行に失敗したことを示しています。磁気テープ・コーディネーターは、バックアップ操作を終了します。
- これ以外のコードは、スクリプトが正しいテープにアクセスできなかったことを示しています。磁気テープ・コーディネーターは、操作員にプロンプトを出し、正しい磁気テープを挿入するように要求します。

磁気テープ・コーディネーターが UNMOUNT スクリプトを実行するときには、 2 つのパラメーターで以下の順序で渡されます。

1. 磁気テープ装置のパス名 (/usr/afs/backup/tapeconfigファイルに指定されています)
2. 磁気テープ操作 (これは常に unmount です)

以下のスクリプト例では、バックアップ・システムにより渡される 2 つのパラメーター `tries` および `operation` を使用しています。これは推奨される方法に従い、 `tries` パラメーターの値が 1 を超えた (スタッカーのテープが不足) 場合に終了します。

backup dump または backup savedb 操作の場合、ルーチンにより、例にある stackerCmd_NextTape ファンクション (スタッカーの製造元が提供) が呼び出されます。ファイルの最終行が終了コードを戻し、操作員にテープの挿入を指示しています。これらの行は、スタッカーがテープをロードできない、または実行中の操作がファイルに明示的に記述された操作ではない場合のいずれかの際に呼び出されます (たとえば復元操作中)。

       #! /bin/csh -f

       set devicefile = $1
       set operation = $2
       set tries = $3
       set tapename = $4
       set tapeid = $5
       set exit_continue = 0
       set exit_abort = 1
       set exit_interactive = 2
       #--------------------------------------------
       if (${tries} > 1) then
          echo "Too many tries"
          exit ${exit_interactive}
       endif
       if (${operation} == "unmount") then
          echo "UnMount: Will leave tape in drive"
          exit ${exit_continue}
       endif
       if ((${operation} == "dump")   |\
           (${operation} == "appenddump")     |\
           (${operation} == "savedb"))  then
           stackerCmd_NextTape ${devicefile}
           if (${status} != 0)exit${exit_interactive}
           echo "Will continue"
           exit ${exit_continue}
       endif

       if ((${operation} == "labeltape")    |\
           (${operation} == "readlabel")) then
          echo "Will continue"
          exit ${exit_continue}
       endif

       echo "Prompt for tape"
       exit ${exit_interactive}

### 最初のテープの検索またはプロンプトの除去

デフォルトによって、磁気テープ・コーディネーターがバックアップ操作に必要な最初の磁気テープを獲得するには、入出力構成ファイルを読み取って適切な磁気テープ装置がないかどうか調べます。 MOUNT 命令がある場合には、磁気テープ・コーディネーターは、参照されたスクリプトを実行します。入出力装置構成ファイルが存在していないか、そのファイルに MOUNT 命令がなければ、磁気テープ・コーディネーターはプロンプトを出して、正しい磁気テープを挿入してから <Return> を押すように要求します。

操作に磁気テープが必要であることを前もって分かっている場合には、必要な磁気テープをドライブに入れてから backup コマンドを出し、磁気テープ・コーディネーターにその最初の磁気テープの獲得ステップをスキップするように通知すると、効率を高めることができます。この両方を行うことによって、操作の開始を素早く行うことができるようになり、磁気テープを挿入する人員が必要なくなります。

磁気テープ・コーディネーターの最初の磁気テープ獲得ステップをう回する方法は、2 通りあります。

1. 命令 AUTOQUERY NO を入出力装置構成ファイルに記述します。
2. -noautoquery フラグを butc コマンドに立てます。

操作員アテンションを必要とするエラー条件を避けるためには、ドライブに入れている磁気テープに有効期限切れのダンプが入っていないこと、および書き込み保護されていないことを確認してください。テープのラベルに永続名がなく、最初のダンプを作成している場合には、AFS テープ名がボリューム・セットとダンプ・セットの名前に一致しているか、または `<NULL>` であるかを確認してください。または、AFS テープ名検査の除去 で説明するとおり、入出力装置構成ファイルで NAME_CHECK 命令に値 NO を割り当てることによって、テープ・コーディネーターの名前検査ステップを抑制してください。

### エラー条件に対するデフォルトの応答の使用可能化

デフォルトでは、磁気テープ・コーディネーターからある種のエラー条件を検出した時の応答方法について尋ねられます。プロンプトを抑制して、あらかじめ指定された方法で磁気テープ・コーディネーターにエラーを処理させるには、入出力装置構成ファイルで命令 ASK NO を記述します。値 YES を割り当てるか、または ASK 命令を完全に省略する場合には、磁気テープ・コーディネーターからプロンプトが出されて、エラーの 1 つを検出したときの指示について尋ねられます。

以下のリストは、エラー条件と、それに対する磁気テープ・コーディネーターの応答について説明しています。

- backup dump コマンドの実行中、バックアップ・システムはボリュームのダンプを使用できません。値に NO を割り当てた場合、磁気テープ・コーディネーターはダンプからボリュームを省略して操作を続行します。値 YES を割り当てると、ボリュームの再ダンプを即時に試行する、ダンプからボリュームを省略するが操作は続行する、あるいは操作を終了させる、のプロンプトが出されます。
- backup diskrestore、 backup volrestore、または backup volsetrestore コマンドの実行中、バックアップ・システムはボリュームの復元を使用できません。値に NO を割り当てた時、磁気テープ・コーディネーターは、問題のあるボリュームを省略しますが、それ以外のボリュームの復元操作を継続します。値 YES を割り当てると、ボリュームを省略して操作を続行するか、または操作を終了させる、のプロンプトが出されます。
- backup scantape コマンドの実行中、バックアップ・システムは、ダンプ・セットが複数の磁気テープに書き込まれているかどうか判別できません。(この問題の原因については、AFS Administration Reference にあるこのコマンドの解説ページを参照してください。) 値 NO を割り当てると、磁気テープ・コーディネーターは、複数の磁気テープがあることを前提に処理を進めて、入出力装置構成ファイルで指定された MOUNT スクリプトを呼び出すか、またはプロンプトを出して、操作員に次の磁気テープの挿入を要求します。値に YES を割り当てた時、磁気テープ・コーディネーターは、プロンプトを出して、走査する磁気テープが複数あるどうか確認します。
- バックアップ・システムは、backup labeltape コマンドの実行中に、磁気テープに有効期限切れのダンプがないかどうか判別します。値に NO を割り当てた時、操作を終了し、磁気テープのラベルは再作成しません。 YES 値の場合、磁気テープ・コーディネーターはプロンプトを出して、いずれにしても磁気テープのラベルの再作成を行うかを確認します。

### AFS テープ名検査の除去

永続名を持たない磁気テープに最初のダンプを書き出している場合には、デフォルトによって、バックアップ・システムは、磁気テープの AFS 磁気テープ名が受け入れ可能であるかどうかを検査します。3 種類の値が受け入れられます。

- 最初のダンプのボリューム・セットおよびダンプ・レベル、ならびにそのダンプ・セットの一連の磁気テープ内における磁気テープの位置を表す名前。 ダンプ名および磁気テープ名 に説明があります。磁気テープがまだ永続名を指定されていない場合には、 -name 引き数を backup labeltape コマンドに使用して、 AFS 磁気テープ名を割り当てることができます。
- `<NULL>` 値。これは、永続名を割り当てる、または backup labeltape コマンドの -name 引き数へ値が与えられない時の結果です。
- AFS 磁気テープ名がまったくない。これは、テープにラベルを付けていなかったり、そこにダンプを書き込んでいないことを示しています。

名前の検査をう回するには、入出力装置構成ファイルに NAME_CHECK NO 命令を記述してください。これによって、そこにあるすべてのダンプが満了するまでには、最初にラベルの再作成をしなくても磁気テープを再利用することができます。 (磁気テープに有効期限切れのダンプがあるが、それを再利用したい場合には、 backup labeltape コマンドを使用して、そのラベルの再作成を最初に行わなければなりません。これを行うには、 ASK NO 命令は入出力装置構成ファイルには記述されていないはずです。)

### テープ・ストリーミングをプロモートするためのメモリー・バッファーの設定

デフォルトでは、磁気テープ・コーディネーターは、ダンプ操作で 16 KB のメモリー・バッファーを使用します。ボリューム・サーバーからボリューム・データを受信するときに、磁気テープ・コーディネーターは、16 KB のデータをバッファーに収集してから、16 KB すべてを磁気テープ装置に転送します。同様に復元操作では、磁気テープ・コーディネーターは、デフォルトで 32 KB のデータを磁気テープ装置からバッファーに入れてから、32 KB すべてのボリューム・サーバーに転送し、ファイル・システムに復元します。バッファリングによってボリューム・データの流れが均一になり、磁気テープをストリームかすることができます。これにより、磁気テープ装置を効率よく操作することができます。

通常のネットワーク構成では、デフォルトのバッファー・サイズで、磁気テープのストリーム化を行うことができます。磁気テープ・コーディネーター・マシンおよびファイル・サーバー・マシン間のネットワークが遅い場合には、バッファー・サイズを増加してください。

バッファー・サイズを変更した方が構成のために役立つかどうか判別するには、操作中の磁気テープ装置を調べてそれがストリーミングであるか調べるか、または製造者に相談してください。バッファー・サイズを設定するには、入出力装置構成ファイルで BUFFERSIZE 命令を記述します。これは、引き数として次の形式の整数値を必要とします。

          BUFFERSIZE size[{k | K | m | M | g | G}]

size には、ダンプおよび復元操作時にバッファーとして磁気テープ・コーディネーターが使用するメモリーの量を指定します。デフォルトはバイト単位ですが、K バイト単位で指定する場合には k または K を、M バイト単位で指定する場合には m または M を、G バイト単位で指定する場合には、 g または G を使用してください。 size に指定する値と単位の間にスペースは不要です。

### データのバックアップ・データ・ファイルへのダンプ

ダンプを、磁気テープではなく、 バックアップ・データ・ファイル に書き出すことができます。たとえば、データを階層記憶管理 (HSM) システムなどのデータ保存システムに転送したい場合に便利です。このシステムは AFS およびバックアップ・システムと一緒に使用します。データをバックアップ・データ・ファイルからファイル・システムにも同様に復元することができます。バックアップ・データ・ファイルの使用は、同等の vos dump および vos restore コマンドを複数のボリュームに対して個々に出すよりも効率的です。

磁気テープ・コーディネーター・マシンのローカル・ディスク上にあれば、バックアップ・データ・ファイルへの書き込みが最も単純ですが、リモート・マシンに常駐する NFS がマウントされた区画へファイルを書き込むこともできます。親ディレクトリーのアクセス制御リスト (ACL) で必要なアクセス権を付与されていれば、 AFS にファイルを書き込むこともできますが、これは AFS データを AFS 自身にバックアップすることになります。

磁気テープ・コーディネーターは、ダンプを書き込むバックアップ・ファイルが存在しないと、バックアップ・ファイルを作成します。復元操作を完了するには、このファイルが存在して、backup dump 操作の間にボリューム・データが書き込まれている必要があります。

バックアップ・データ・ファイルの書き込み時に、磁気テープ・コーディネーターは、 16 KB オフセットでデータを書き込みます。特定のデータ・ブロック (ボリュームの開始または終了を通知するマーカーなど) が 16 KB に満たない場合、磁気テープ・コーディネーターは、次のオフセットまでスキップし、次のブロックの書き込みを開始します。 -id オプションを付けて backup dumpinfo コマンドを発行すると、出力の `Pos` 列にボリューム・データが始まる 16-KB オフセットの位置が表示されます。磁気テープへのダンプの場合のように、この値は、前の行の位置番号に 1 を加えた値にはなりません。

バックアップ・データ・ファイルに書き込む前に、そのファイルを磁気テープ装置であるかのように構成する必要があります。

注: | 装置の構成ファイルに FILE YES 命令があれば、 /usr/afs/backup/tapeconfig ファイルの 3 番目のフィールドには磁気テープ装置名ではなく、ファイルのパス名が表示されていなくてはなりません (なければ必要はありません)。この tapeconfig ファイルに磁気テープ装置が指定されていると、ダンプ操作は成功したようにみえますが、操作不能になります。 FILE 命令が YES に設定されている間、磁気テープに装置に間違ってダンプされたデータは復元することができません。同様に、FILE 命令が NO に設定されている場合には、 tapeconfig 項目に実際の磁気テープ装置が指定されていなければなりません。

### バックアップ・データ・ファイルの構成

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

          % bos listusers <machine name>

2. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

          % su root
          Password: root_password

3. オプション。 backup コマンドを発行して、対話モードに入ります。

          # backup

4. ファイルに割り当てるポート・オフセット番号を選択します。必要であれば、(backup) listhosts コマンドを発行して、すでに割り当てられているポート・オフセットを表示してください。詳細については、構成済みの磁気テープ・コーディネーターのリストを表示するには を参照してください。

          backup> listhosts

   テープ装置に対して、指定できる値は、整数の 0 (ゼロ) から 58510 (バックアップ・システムは、最大 58,511 ポート・オフセット番号を記録できます)。ポート・オフセットは、セル内で固有でなければなりませんが、 1 つの磁気テープ・コーディネーターに複数のポートを割り当てることができます。ポート・オフセット番号は、順番に割り当てる必要はありません。

5. (backup) addhost コマンドを発行して、バックアップ・データベースにバックアップ・データ・ファイルのポート・オフセットを登録します。

          backup> addhost <tape machine name> [<TC port offset>]

   ここで、

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

   tape machine name
     バックアップ・データ・ファイルに書き込むために呼び出す磁気テープ・コーディネーターの完全修飾ホスト名を指定します。

   TC port offset
     ファイルのポート・オフセット番号を指定します。デフォルト値の 0 (ゼロ) が適切でない場合には、この引き数を指定しなければなりません。
6. テキスト・エディターを使用して、バックアップ・データ・ファイルの項目をローカルの /usr/afs/backup/tapeconfig ファイルに作成します。標準の構文は、次のとおりです。

          [capacity  filemark_size]  device_name   port_offset

   ここで、

   capacity
     バックアップ・データ・ファイルのある区画で、ファイルに使用したいスペースの容量を指定します。使用可能なスペースがなくならないようにするには、ダンプ操作時に実際に使用可能なスペースより少ない値を指定してください。オペレーティング・システムが許可している最大ファイル・サイズよりも大きい値を指定してはなりません。

     数値の後に単位を示す文字を指定しください。数値と文字の間にはスペースを入れないでください。k または K は、キロバイトを、m または M は、メガバイトを、および g または G は、ギガバイトを示します。単位の文字を省略すると、デフォルトで K バイトが使用されます。このフィールドを空にしておくと、テープ・コーディネーターは、最大許容値 (2048 GB または 2 TB) を使用します。また、この場合 filemark_size フィールドも空にしておきます。

   filemark_size
     値 0 (ゼロ) を指定するか、このフィールドと capacity フィールドを両方とも空にしておきます。後者の場合、テープ・コーディネーターは値ゼロを使用します。

   device_name
     バックアップ・データ・ファイルの完全なパス名を指定します。実際のファイルのパス名を指定しない場合には、 /dev ディレクトリーに実際のファイルのパス名を指す記号リンクを作成し、その記号リンクをこのフィールドに指定してください。この構成には、以下の利点があります。
     - CFG_device_name、TE_device_name、および TL_device_name ファイル名の device_name 部分をできるだけ短くすることができます。テープ装置として記号リンクが /dev ディレクトリーにあるので、ファイル名から最初のスラッシュ (/) だけでなく、 /dev/ 接頭部全体を削除することができます。たとえば、記号リンクが /dev/FILEの場合、装置構成ファイルの名前は CFG_FILE になります。 tapeconfig ファイルに実際のパス名 var/tmp/FILE はある場合には、ファイルの名前は、 CFG_var_tmp_FILE になります。
     - このようにすると、磁気テープ・コーディネーターがバックアップ・データ・ファイルに完全なダンプを書き込めない場合 (バックアップ・データ・ファイルのある区画がいっぱいになった場合) でも、効果的な回復 (自動的な) 回復を行うことができます。この問題が起きると、磁気テープ・コーディネーターは MOUNT スクリプトを起動するか、構成ファイルに MOUNT 命令がない場合には、プロンプトを出します。
       - MOUNT スクリプトがある場合、スペースが利用可能な区画にある別のバックアップ・データ・ファイルを指すように記号リンクを変更するサブルーチンをスクリプトに追加すると、この状況に対応することができます。
       - MOUNT 命令がない場合には、プロンプトによって、別のバックアップ・データ・ファイルを指すように記号リンクを手操作で変更することができます。変更後、<Return> を押すと、磁気テープ・コーディネーターは操作を継続します。

       このフィールドに実際のファイル名が指定されている場合、区画にスペースがなくなると、回復することができません。操作の途中で、 tapeconfig ファイルを変更することはできません。

   port_offset
     選択されたバックアップ・データ・ファイルのポート・オフセット番号を指定します。
7. テープ・コーディネーター・マシンの /usr/afs/backup ディレクトリーに、入出力装置構成ファイル CFG_device_name を作成します。そのファイルに FILE YES 命令を記述します。

   6 のステップの tapeconfig ファイルに記録した装置名に基づいて、名前の device_name 部分を構成します。お勧めしたとおり、記号リンク名を記録した場合には、 /dev/ ストリングを削除して、名前の中のスラッシュ (/) を下線 (_) に置換してください。たとえば、記号リンクが/dev/FILE である場合の名前は CFG_FILE です。実際のファイル名を記録した場合には、最初のスラッシュのみを削除し、他のスラッシュは下線に置換してください。 /var/tmp/FILE というバックアップ・データ・ファイルの場合、入出力装置構成ファイル名は CFG_var_tmp_FILE になります。

8. 6 のステップで、tapeconfig 項目の device_name フィールドに記号リンク名を記録することを選択した場合、次のいずれかを行わなければなりません。
   - ln -s コマンドを使用して、適切な記号リンクを /dev ディレクトリーに作成する。
   - この方法でバックアップ・データ・ファイルを初期化するスクリプトを作成し、 MOUNT 命令を入出力装置構成ファイルに記述してスクリプトを呼び出す。これらの命令の後にスクリプトの例が表示されます。

ダンプ操作が始まる時にファイルが存在していない場合には、磁気テープ・コーディネーターがバックアップ・データ・ファイルを作成するので、ユーザーが作成する必要はありません。

以下のスクリプトの例は、ファイルへの書き込みの準備段階でバックアップ・データ・ファイルへの記号リンクを自動的に作成する方法を示しています。テープ・コーディネーターが backup dump、backup restore、backup savedb、または backup restoredb 操作を実行している場合、ルーチンにより UNIX ln -s コマンドが呼び出され、 tapeconfig ファイルに名前のあるバックアップ・データ・ファイルから、実際に使用するファイルへの記号リンクが作成されます (これが推奨される方法です)。ファイル名の構成には、バックアップ・システムから渡される `tapename` および `tapeid` パラメーターの値が使用されます。

ルーチンは、他の 2 つのパラメーター (`tries` および `operation`) も同様に使用します。`tries` パラメーターは、テープ・コーディネーターによるファイル・アクセスの試行回数をトラックします。 1 より大きい値は、テープ・コーディネーターがこれにアクセスできず、ルーチンが終了コード 2 (`exit_interactive`) を戻し操作員にテープのロードを要求したことを示しています。操作員はこの機会を利用して、 tapeconfig ファイルに指定されているバックアップ・データ・ファイルの名前を変更することができます。

       #! /bin/csh -f
       set devicefile = $1
       set operation = $2
       set tries = $3
       set tapename = $4
       set tapeid = $5
       set exit_continue = 0
       set exit_abort = 1
       set exit_interactive = 2
       #--------------------------------------------
       if (${tries} > 1) then
          echo "Too many tries"
          exit ${exit_interactive}
       endif
       if (${operation} == "labeltape") then
          echo "Won't label a tape/file"
          exit ${exit_abort}
       endif
       if ((${operation} == "dump")   |\
           (${operation} == "appenddump")   |\
           (${operation} == "restore")   |\
           (${operation} == "savedb")    |\
           (${operation} == "restoredb")) then
          /bin/rm -f ${devicefile}
          /bin/ln -s /hsm/${tapename}_${tapeid} ${devicefile}
          if (${status} != 0) exit ${exit_abort}
       endif

       exit ${exit_continue}

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

(C) IBM Corporation 2000. All Rights Reserved