PRIMECLUSTER Global File Services 説明書 4.1 (Solaris(TM) オペレーティング環境版)
目次 索引 前ページ次ページ

付録B リファレンスマニュアル> B.2 GFSローカルファイルシステム専用コマンド

B.2.5 sfxdump(1M) GFSローカルファイルシステムのバックアップ

◆形式

sfxdump [options] [arguments] files_to_dump

◆機能説明

 sfxdump は、files_to_dump に指定されたファイル (GFS ローカルファイルシステム全体、あるいは、GFS ローカルファイルシステム上のファイルのうち、ある日時以降に変更されたもの) を、磁気テープやフロッピーディスクまたはハードディスク上の一般ファイルにバックアップします。sfxdump を実行する際には、対象ファイルシステムがアクティブ状態であってはなりません。アクティブ状態で sfxdump を実行すると、sfxdump が出力するバックアップの一貫性が保てず、正しくリストアできない恐れがあります。ファイルシステムがアクティブ状態でないと保証できるのは、アンマウントされているか、あるいは、システムがシングルユーザモードであり、かつファイルシステムへの参照・更新処理を行っていないときに限られます。ある1つのディレクトリ配下を操作していないとしても、同一ファイルシステム上の別ディレクトリ配下がアクセスされるのであれば、アクティブであると考えなければなりません。

 options はアルファベット一文字の sfxdump のオプション文字です。

 arguments には複数の文字列を指定することができます。この時、オプション文字と引数は同じ順序で並べなければなりません。すなわち、最初の引数は、最初に引数をもつオプションの引数であり、二番目の引数は、その次に引数をもつオプションの引数となります。

 files_to_dump は必須であり、コマンドラインの最後に指定してください。詳細は「オペランド」を参照してください。

 sfxdump はほとんどのデバイスについて、媒体の終わりを自動的に検出します。したがって、"d", "s", "t" オプションを使用しなくても、複数ボリュームのバックアップを実行できます。しかし、テープデバイスによっては、sfxdump が媒体の終わりを検出できない場合があります。そのような場合に、これらのオプションを使用する必要があります。

 sfxdumpufsdump(1M) と機能的に互換性がありますが、バックアップデータの形式は異なります。このため、sfxdump により作成されたバックアップデータを、ufsrestore(1M) を用いてリストアすることはできません。同様に、ufsdump(1M) により作成されたバックアップデータを、sfxrestore(1M) を用いてリストアすることはできません。

◆オプション

 以下のオプションが指定できます。

0-9

 バックアップレベル。files_to_dump で指定したファイルのうち、ここで指定するバックアップレベルよりも低いレベルで最後に sfxdump を実行した時点以降に更新されたものについて、"f" オプションの引数 dump_file (通常は磁気テープデバイス) にコピーします。例えば、月曜に "レベル2"、火曜に "レベル4" のバックアップを行い、水曜に "レベル3" のバックアップを実行したとします。この時、水曜のバックアップに格納されるのは、"レベル2"(月曜) 以降に更新されたり追加されたりしたファイルです。"レベル0" は、ファイルシステム全体を dump_file にコピーします。

a archive_file

 アーカイブファイル。指定したディスク上のファイルにバックアップの内容一覧を格納(アーカイブ)します。このファイルは、バックアップデータ中のファイルの格納位置を sfxrestore(1M) が判断するために使用されます。

b factor

 ブロック係数。テープへ書き込む際に使用するブロック係数を指定します。6250BPI (1インチあたりのバイト数) より小さい密度のテープの場合、デフォルトは 20 ブロックです。それ以上の密度を持つテープの場合、デフォルトブロック係数は 64 です。カートリッジテープ ("c"オプション) の場合、デフォルトブロック係数は 126 です。注) ブロック係数は 512 バイトのブロック数で指定します。これは tar(1) と同様です。

c

 カートリッジテープ。各設定値を標準的な 1/2'' テープ装置の代わりにカートリッジテープに設定します。テープ密度を 1000BPI に、ブロック係数を 126 に設定します。sfxdump は媒体の終わりを自動的に検出できるので、通常はブロック係数だけが影響します。カートリッジテープを使用し、本オプションが指定されていないとき、sfxdump はテープサイズの算出を誤るときがあります。"b", "d", "s", "t" オプションが本オプションとともに指定された場合には、本オプションによるデフォルト値より、それらの設定値が優先されます。

d bpi

 テープ密度。sfxdump は媒体の終わりを自動的に検出できるので、通常は指定する必要はありません。この引数はテープ容量を監視するために利用することができます。"c" オプションが指定されていないとき、デフォルト値は 6250BPI です。"c" オプションが指定されると、デフォルト値は 1000BPI となります。テープ装置ごとの標準的な値は以下のとおりです。
1/2'' テープ
6250BPI
1/4'' カートリッジテープ
1000BPI (テープ密度やその他のオプションについては st(7D) を参照してください)
D
 フロッピーディスク。フロッピーディスクにバックアップを作成します。

f dump_file

 ダンプファイル。デフォルトデバイス /dev/rmt/0 ではなく、dump_file で指定したコピー先にファイルを書き込みます。dump_file にハイフン (-) を指定すると、標準出力にファイルを書き込みます。
 dump_file が " machine:device " の形式の場合、バックアップは rmt(1M) を用いてネットワーク上のリモートマシンで行われます。sfxdump は通常スーパーユーザ権限で実行されるため、リモートマシンの /.rhosts ファイルにローカルマシン名が記述されていなければなりません。dump_file が "user@system:device" という形式の場合、sfxdump はリモートマシン上の指定されたユーザとして実行を試みます。指定されたユーザはリモートマシン上に .rhosts ファイルを置き、このコマンドを起動してリモートマシンにアクセスできるようになっていなければなりません。

l (英小文字のエル)

 自動ロード。バックアップが完了する前にテープの終わりに達したときに、ドライブをオフラインにして、テープドライブの準備ができるまで 2 分間待ちます。これはオートロード (スタックローダ) テープドライブに、新しいテープに交換する時間を与えています。2 分以内にドライブの準備ができると、バックアップ処理を続行します。2 分経過しても準備ができなければ、オペレータに別のテープをロードするように促すプロンプトを表示し、待ち合わせます。

L string

 テープラベルを string に設定します。デフォルトでは none です。
 string は 16 文字未満である必要があります。それより長い場合は 16 文字目以降が切り捨てられて警告が出力されますが、バックアップは続行されます。

n

 通知。sfxdump が注意を促す際に、sys グループのユーザ全員の端末へメッセージを送ります。この時、wall(1M) を用いた場合と同様の作法で通知が行われます。本オプションを指定しないと、メッセージは sfxdump を実行しているユーザのターミナル (コンソールなど) だけに送られます。

o (英小文字のオー)

 オフライン。バックアップが完了したり、媒体の終わりに到達したりしたときに、ドライブをオフラインにし、テープの場合には巻き戻し、フロッピーディスクの場合にはイジェクトします。自動ロードされる 8mm テープの場合には、自動的にテープを外します。これは、他プロセスが装置を使用し、不注意により媒体を上書きしてしまうことを防ぎます。

s size

 バックアップ媒体のサイズ。sfxdump は媒体の終わりを検出することができるので、通常は指定する必要はありません。指定するサイズに到達すると、sfxdump は媒体の交換を待ち合わせます。テープやカートリッジテープの場合にはフィート数、フロッピーディスクの場合は 1024 バイトのブロック数であるとして、sfxdump はサイズ指定を解釈します。指定値は、実際の媒体の物理サイズよりも若干小さく指定すべきです(例えば、450 フィートのテープに対しては 425 を指定します)。"c" オプション指定によるカートリッジテープの場合、"D" オプション指定の場合のフロッピーディスクの場合や、その他のテープの標準的な値は以下のとおりです。
1/2'' テープ
2300 フィート
60メガバイト 1/4'' カートリッジテープ
425 フィート
150メガバイト 1/4'' カートリッジテープ
700 フィート
フロッピーディスク
1422 ブロック (1 シリンダを不良ブロック情報として利用する、1.44 メガバイトフロッピディスクの場合)

S

 バックアップの予想サイズ。バックアップを実際に実行せずに必要な容量を算出し、バックアップの予想バイト数を出力します。これは、差分バックアップを行う際に、媒体の容量がどれだけ必要であるか判断するために便利です。

t tracks

 カートリッジテープのトラック数を指定します。sfxdump は媒体の終わりを検出できるので、通常は指定する必要はありません。デフォルト値は 9 トラックです。"D" オプションとともに指定することはできません。サポートされるテープ装置の値は以下のとおりです。
60メガバイトカートリッジテープ
9 トラック
150メガバイトカートリッジテープ
18 トラック

T timeout [hms]

 自動ロードの待ち合わせ時間を設定します。この機能修飾子は同時に l 機能修飾子が指定されていなければ無視されます。デフォルトの待ち時間は 2 分です。時間の単位を h (時間)、m (分)、s (秒) を付加して指定することができます。デフォルトでは分です。

u

 ダンプレコードのアップデート。/etc/sfxfs_dumpdates ファイルにエントリを追加します。このファイルには、バックアップが成功したそれぞれのファイルシステムについて、ファイルシステム名、バックアップ日時、およびバックアップレベルが記述されています。

v

 検査。各テープまたはフロッピーディスクが書き込まれた後に、ソースファイルシステムと照らし合わせて媒体の内容を検査します。矛盾が発生すると、オペレータに新しい媒体のマウントを促すプロンプトを表示して、バックアップと検査の処理を繰り返します。ファイルシステムはアンマウントされていなければなりません。このオプションは、標準出力に出力されたバックアップを検査することはできません。

w

 警告。1 日以内にバックアップされていないファイルシステムを出力します。この情報は/etc/sfxfs_dumpdates ファイルと /etc/vfstab ファイルから収集されます。このオプションを使用すると、他のすべてのオプションは無視されます。結果を出力した後、sfxdump は即終了します。

W

 強調表示付きの警告。本オプションでは、/etc/sfxfs_dumpdates ファイルに記載のあるすべてのファイルシステムについて、最後にバックアップした日時とそのバックアップレベルを表示することを除き、"w" オプションと同様です。バックアップされていないファイルシステムは強調表示されます。

◆オペランド

 以下のオペランドが指定できます。

files_to_dump

 バックアップするファイルを指定します。一般には、GFS ローカルファイルシステムの代表パーティションを raw デバイス名で指定します (例:/dev/sfdsk/gfs/rdsk/vol0306)。GFS ローカルファイルシステム上の、ある日時以降に更新されたファイルをバックアップする差分バックアップ(レベル 1〜9) は、ファイルシステム全体のバックアップの場合しか利用できません。もう1つの方法として、files_to_dump には個々のファイルやディレクトリを指定することができます。この時、GFS ローカルファイルシステムの代表パーティションを指定してレベル 0 のバックアップを行った場合と同様に、指定したすべてのファイルやディレクトリのバックアップが行われますが、"u" オプションの指定があっても、/etc/sfxfs_dumpdates ファイルは更新されません。すべての場合において、バックアップ対象のファイルはすべて同一のファイルシステムに格納されていなければならず、また対象ファイルシステムは sfxdump が実行されるローカルシステム上にある必要があります。
 files_to_dump の指定は必須であり、コマンドラインの最後に指定しなければなりません。
 オプションが全く指定されなかったときのデフォルトは以下のとおりです。
9uf /dev/rmt/0 files_to_dump

◆使用例

例1: sfxdump コマンドの例

 /dev/sfdsk/gfs/rdsk/vol0300 上に構築された GFS ローカルファイルシステムの完全バックアップを150 メガバイトテープ (/dev/rmt/0) 上に作成する場合 :


# sfxdump 0cfu /dev/rmt/0 /dev/sfdsk/gfs/rdsk/vol0300


 /dev/sfdsk/gfs/rdsk/vol0306 上に構築された GFS ローカルファイルシステムのレベル 5 の差分バックアップを 1/2'' テープ (/dev/rmt/1) に作成し、検査を行う場合 :


# sfxdump 5fuv /dev/rmt/1 /dev/sfdsk/gfs/rdsk/vol0306


◆終了ステータス

 動作中、sfxdump は多くのメッセージを出力します。sfxdump は以下の終了ステータスを返します。

0 正常終了。

1 初期化時にエラーが発生しました。

3 異常終了。チェックポイントが設定されません。

◆関連ファイル

/dev/rmt/0

デフォルトのバックアップデバイス

/etc/sfxfs_dumpdates

ダンプレコード

/etc/group

sys グループを検索する

/etc/hosts

テープ装置を持つリモート装置を検索する

/etc/vfstab

ファイルシステムのリスト

◆関連項目

sfxcpio(1), sfxrestore(1M).

cpio(1), tar(1), dd(1M), devnm(1M), prtvtoc(1M), rmt(1M), shutdown(1M), volcopy(1M), wall(1M), st(7D).

◆注意事項

読込みエラー

 対象ファイルシステムの読込みエラーは 32 回まで無視されます。

テープごとのプロセス

 テープごとに新しいプロセスが必要であり、すべてのテープが書き終わるまで、すでに書き終わったプロセスは終了を待ち合わせます。

オペレータによる介入

 媒体の終わりや、バックアップの終了、媒体の書き込みエラー、媒体のオープンエラー、(32 回より多く) 読込みエラーが発生した場合に、オペレータによる介入を要求します。"n" オプション指定時にはすべてのオペレータに通知を行うとともに、何らかの問題が生じて処理の継続が不可能な場合には、sfxdump を実行したターミナルのオペレータに入力を要求します。sfxdump からの質問には適切に yes または no で回答しなければなりません。
 ディスクのバックアップを行うことは多くの時間と労力を要する作業なので、sfxdump では媒体交換時にチェックポイントを設けています。何らかの理由により書き込みが失敗した場合には、sfxdump はオペレータの許可を得て、不完全な媒体を交換したチェックポイントからの再実行を試みます。

バックアップスケジュールの指針

 定期的にレベル 0 の完全バックアップを採取することは絶対に必要です。完全バックアップを採取するときには、shutdown(1M) を用いてマシンをシングルユーザモードにします。完全バックアップのための準備中にテープドライブとヘッドをクリーニングするとよいでしょう。差分バックアップもまたシングルユーザモードで実行すべきです。
 差分バックアップは簡便なバックアップであり、頻繁に、最小の媒体と時間でファイルをリカバリすることが可能です。ここで、バックアップスケジュールをたてる際には、以下のことについて考えなければなりません。まず、バックアップの時間間隔を短くすることです(最低でも一日一回)。そして、可能性がゼロとは言えない媒体エラーからデータの損失を免れるためには、(少なくとも)2つのバックアップ媒体にファイルの内容を保存することです。次に、オペレート時間と媒体の容量を削減するために、ファイルを不必要に複製してしまうことを最小にとどめることです。さらに、ファイルのバックアップを簡単に特定し、リストアできることです。以上、これらは互いに相反する内容であるためすべてを完全に満たすことはできません。できるだけ短所を減らした1つの例として、以下に 4 週間のスケジュールを示します。
 ここで、表中の数字はバックアップレベルを示します。

 火曜から金曜までは、月曜から前日までに採取したファイルの"余分なコピー"が含まれていますが、この案では、その週に更新されたファイルが前日の差分バックアップからリカバリできるようになっています。

sfxdumpのプロセス優先度

 ディスクからの読込みと、媒体への書き込みを同時に行うため、sfxdump はマルチプロセス構造になっています。これらのプロセス間の同期をとっているので、nice (プロセス優先順位) を -5 あるいはそれより高い優先度に設定すると、sfxdump はかえって遅くなることがあります。

パーティションのオーバーラップ

 ディスク全体を示すパーティションが存在する場合、そのパーティションはその他のパーティション領域を含んでいます。しかし、1つのディスク内に複数の GFS ローカルファイルシステムが構築されていたとしても、ディスク全体のバックアップを取るために sfxdump をディスク全体のパーティションに対して実行してはいけません。なぜならば、sfxdump は一度に1つの GFS ローカルファイルシステムしか扱うことができないためです。GFS ローカルファイルシステムをバックアップする場合には、それぞれの代表パーティションを指定して、個別にバックアップしなければなりません。

"w"オプションや"W"オプション指定時の警告

 /etc/vfstab ファイルにファイルシステムのバックアップ頻度を指定することはできません。このため、"w" オプションや "W" オプション指定時には毎日バックアップすべきであると警告します。これがコマンドの限界です。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2004