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

付録F リファレンスマニュアル> F.2 GFS 共用ファイルシステム専用管理コマンド

F.2.5 sfcdump(1M) GFS 共用ファイルシステムのバックアップ

◆形式

sfcdump [ options ] [ arguments ] files_to_dump

◆機能説明

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

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

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

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

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

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

◆オプション

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

0-9

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

a archive_file

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

b factor

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

c

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

d bpi

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

D

 フロッピーディスク。フロッピーディスクにバックアップを作成します。

f dump_file

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

l (英小文字のエル)

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

L string

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

n

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

o (英小文字のオー)

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

s size

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

S

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

t tracks

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

T timeout [hms]

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

u

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

v

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

w

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

W

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

◆オペランド

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

files_to_dump

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

◆使用例

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

# sfcdump 0cfu /dev/rmt/0 /dev/sfdsk/gfs/rdsk/volume1

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

# sfcdump 5fuv /dev/rmt/1 /dev/sfdsk/gfs/rdsk/volume6

◆終了ステータス

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

0   正常終了。
1   初期化時にエラーが発生しました。
3   異常終了。チェックポイントが設定されません。

◆関連ファイル

/dev/rmt/0

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

/etc/sfcfs_dumpdates

ダンプレコード

/etc/group

sys グループを検索する

/etc/hosts

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

/etc/vfstab

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

◆関連項目

sfcrestore(1M).

"Solaris X Reference Manual Collection" の cpio(1), tar(1), dd(1M), devnm(1M), prtvtoc(1M), rmt(1M), shutdown(1M), volcopy(1M), wall(1M), st(7D).

◆注意事項

読込みエラー

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

テープごとのプロセス

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

オペレータによる介入

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

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

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

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

sfcdump のプロセス優先度

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

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

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

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

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

差分バックアップ利用時の注意事項

 差分バックアップはダンプ記録ファイル( /etc/sfcfs_dumpdates )の情報を利用することで実現されていますが、このファイルは sfcdump を実行したノードのファイルだけが更新されます。したがって差分バックアップを利用していて、別のノードからバックアップを行う場合、以前バックアップを行っていたノードからダンプ記録ファイルをコピーしておく必要があります。

正常に停止しないノードがあった場合の差分バックアップ

 また、差分バックアップを利用している場合で、バックアップ対象の GFS 共用ファイルシステムを利用しているどれかのノードがパニックなどにより正常に停止しなかった場合、そのノード上の更新されたファイルのバックアップが正しく行えないことがあります。
 sfcdump は差分バックアップ時にそのファイルのバックアップを行うかどうかを、そのファイルの時刻情報と、ダンプ記録ファイルから得た前回バックアップを実施した時刻とを比較して決定しています。しかしあるノードが正常に停止することができなかった場合、そのノードが更新していたファイルについては時刻情報が更新されずにファイルの内容だけが更新された状態となることがあります。そのようなファイルについては差分バックアップの対象とならず、次回のフルバックアップまでバックアップが行われない場合があります。
 したがってバックアップ対象の GFS 共用ファイルシステムを利用するノードが正常に停止しなかった場合、その次のバックアップはフルバックアップとすることをお勧めします。

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

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