# 管理解説書

## fs storebehind

目的

ファイル・サーバーに非同期で書き込むことを可能にします。

構文

    fs storebehind [-kbytes <asynchrony for specified names>]
                   [-files <specific pathnames>+]
                   [-allfiles <new default (KB)>]  [-verbose]  [-help]

    fs st [-k <asynchrony for specified names>]  [-f <specific pathnames>+]
          [-a <new default (KB)>]  [-v]  [-h]

構文

fs storebehind コマンドを使用すると、アプリケーションがファイルをクローズするとき、キャッシュ・マネージャーはファイル・サーバーに遅延非同期書き込みを実行できます。デフォルトでは、キャッシュ・マネージャーはアプリケーション・プログラムがファイルをクローズするとき、即時に、そして同期的に、すべてのデータをファイル・サーバーに書き込みます。つまり、close システム・コールは、キャッシュ・マネージャーが実際にファイルの最終チャンクをファイル・サーバーに転送するまで戻らないということです。このコマンドは、キャッシュ・マネージャーがアプリケーションに制御を戻したときにファイル・サーバーに書き込めるように残すことができるファイルの KB 数を指定します。マシンで作業を行うユーザーは通常大きいファイルで作業を行うのでこれは有効ですが、「注意」セクションで説明されている複雑な問題が発生することもあります。

次の設定のどちらかまたは両方を単一コマンドで行います。

- マシンで実行されているアプリケーションが操作しているすべての AFS ファイルに適用する値を設定するには、-allfiles 引き数を使用します。この値は、マシンの デフォルト非同期格納 と呼ばれ、マシンをリブートするまで残ります。これを設定しなかった場合、デフォルト値は 0 (ゼロ) です。これは、キャッシュ・マネージャーが同期書き込みを行うことを示しています。

  たとえば、以下の設定は、アプリケーションがファイルをクローズすると、キャッシュ・マネージャーは、ファイル・サーバーに書き込むファイルが残り 10 KB になるとすぐに制御をアプリケーションに戻すことができることを意味しています。

         -allfiles 10

- 1 つ以上の個々のファイルに適用する値を 1 つ設定し、各ファイルに対する -allfiles 引き数の値を上書きするには、-kbytes および -files 引き数を組み合わせて使用します。この設定は、キャッシュ・マネージャーがファイルについての確実な情報を記録するために使用するカーネル・テーブルのファイルに入力があるまで残ります。一般に、そのような項目は少なくともアプリケーションがファイルをクローズするか終了するまで残っていますが、キャッシュ・マネージャーはファイルが活動停止中でテーブルのスロットを解放する必要がある場合には、項目の再生を自由に行えます。テーブルにファイルに対する項目があるという確信度を高めるには、ファイルをクローズする直前に fs storebehind コマンドを発行します。

  たとえば、以下の設定は、アプリケーションが bigfile および biggerfile ファイルのどちらかをクローズすると、キャッシュ・マネージャーは、ファイル・サーバーに書き込むファイルが残り 1 MB になるとすぐに制御をアプリケーションに戻すことができることを意味しています。

         -kbytes 1024 -files bigfile biggerfile

  一度明示値がファイルに設定されると、それを再度デフォルトで非同期的に格納するには、その値に -kbytes を設定することに注意してください。言い替えると、一度別の値がファイルに設定されると、自動的にファイルをデフォルトで非同期的に格納する引き数の組み合わせはないということです。

現在個々のファイルまたはすべてのファイルに適用されている設定を表示するには、コマンドの引き数をこの解説ページにある「出力」セクションで指定されている一定の組み合わせで使用します。

注意

以下の理由のため、ほとんどの場合、このコマンドを使用することは推奨されていません。

通常の状況では、非同期の設定は、キャッシュ・マネージャーが、他よりもアプリケーションにより速く制御を戻す結果になりますが、保証はありません。

遅延書き込みに失敗すると、アプリケーションに通知する方法はありません。それは、close システム・コールがすでに成功を示すコードを戻しているからです。

非同期的な書き込みは、書き込み操作によってファイルを格納するボリュームの割り当て量を超えた場合、ユーザーがそれに気付かない可能性が高くなります。常にそうであるように、ボリュームの割り当て量を超えたファイルの部分は失われ、以下のようなメッセージが表示されます。

       No space left on device

データの脱落を回避するには、ファイルを格納しているボリュームに、書き込みが予想されるデータ量に使用可能なスペースがあるかどうかを検査することをお勧めします。

オプション

-kbytes
  キャッシュ・マネージャーがファイルをクローズしたアプリケーション・プログラムに制御を戻したときにファイル・サーバーに書き込めるように残すことができるキロバイト数を指定します。これは、-files 引き数によって指定します。 -files 引き数には、この引き数が必ず必要です。0 (これは、キャッシュ・マネージャーのデフォルトの振る舞いまたは同期書き込みを復元します) から最大 AFS ファイル・サイズまでの範囲の整数を指定します。

-files
  -kbytes 引き数で設定された値を適用する各ファイルを指定します。この設定は、キャッシュ・マネージャーがファイルについての確実な情報を記録するために使用するカーネル・テーブルのファイルに入力があるまで残ります。ファイルを終了すると、一般的には項目が消去されるので、ファイルの再オープン時に設定がまだ適用されていることを保証する唯一の方法は、コマンドを再発行することです。この引き数が、-kbytes 引き数なしに使用された場合、コマンドは指定されたファイルの現在の設定およびデフォルトの保存非同期性を報告します。

-allfiles
  キャッシュ・マネージャーがファイルをクローズしたアプリケーション・プログラムに制御を戻したときにファイル・サーバーに書き込めるように残すことができるデータの KB 数であるデフォルトの非同期式記憶装置をローカル・マシンに設定します。この値は、-kbytes および -files 引き数による設定を除いて、マシンで実行されているアプリケーションによって操作されているすべての AFS ファイルに適用されます。 0 (これは同期書き込みのデフォルトを示します) から最大 AFS ファイル・サイズまでの範囲の整数を指定します。

-verbose
  -kbytes、-files、および -allfiles 引き数、または 3 つ全部による設定を確認する出力を作成します。それ自体が使用した場合、現在のデフォルトの非同期式記憶装置を報告します。

-help
  このコマンドのオンライン・ヘルプを出力します。これ以外の有効なオプションはすべて無視されます。

出力

コマンドのオプションがなにも組み込まれていない場合、または -verbose フラグだけが指定されている場合には、次のメッセージがデフォルトの保存非同期性 (ローカル・マシンで実行中のアプリケーションによって操作されていて、特定の非同期式が設定されていないすべてのファイルに適用する設定) をレポートします。

       Default store asynchrony is x kbytes.

値 `0` (ゼロ) は、同期書き込みを示しています。マシンが最後にリブートされてから、このコマンドに -allfiles 引き数が誰からも指定されなかった場合には、この値がデフォルトになります。

-files 引き数が、-kbytes 引き数なしに使用された場合には、出力は、デフォルトの保存非同期性とともに指定された各ファイルに適用される値を報告します。特定の値が以前からファイルに設定されていた場合には、次のメッセージがその値を報告します。

       Will store up to y kbytes of file asynchronously.
       Default store asynchrony is x kbytes.

明示的な -kbytes 値が設定されていないため、デフォルトの保存非同期性をファイルに適用している場合には、代わりにメッセージは次のようになります。

       Will store file according to default.
       Default store asynchrony is x kbytes.

-verbose フラグが、値を設定する引き数 (-files および -kbytes、または -allfiles、または 3 つすべて) と組み合わされている場合には、設定が即時に有効になったことを確認するメッセージが表示されます。他の引き数またはフラグを使用しない場合は、-verbose フラグがデフォルトの保存非同期性のみ報告します。

例

次のコマンドを指定すると、ファイル・サーバーに書き込みが可能な 100 KB が残っている状態で、キャッシュ・マネージャーは test.data ファイルをクローズしたアプリケーション・プログラムに制御を戻すことができます。 -verbose フラグは、新しい設定を確認する出力を作成します。デフォルトの非同期式記憶装置はゼロです。

       % fs storebehind -kbytes 100 -files test.data -verbose
       Will store up to 100 kbytes of test.data asynchronously.
       Default store asynchrony is 0 kbytes.

必要となる特権

-allfiles 引き数を使用するには、発行者がローカル・スーパーユーザー root としてログインしなくてはなりません。

-kbytes および -files 引き数を組み込むには、発行者がローカル・スーパーユーザー root としてログインするか、各ファイルのディレクトリーの ACL にw (書き込み) アクセス権が必要です。

(引き数を使用しないか、-file 引き数を単独で、または -verbose 引き数を単独で使用することにより) 現在の設定を表示する場合は、特権は必要ありません。

関連情報

afsd

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

(C) IBM Corporation 2000. All Rights Reserved