GFPREP(1)

NAME
gfprep - Gfarm ファイル複製を並列に作成する

SYNOPSIS

gfprep [-nqvdpPU] [-S source-domainname] [-h source-hostfile] [-D destination-domainname] [-H destination-hostfile] [-j num-of-processes] [-J num-of-processes] [-M total-byte] [-z minimum-byte] [-Z maximum-byte] [-w way-of-scheduling] [-W kilobytes-for-threshold] [-s KB/s-to-simulate] [-F num-for-readahead] [-mx] [-N num-of-replicas] path

DESCRIPTION

gfprep は、 Gfarm ファイル複製を並列に作成します。

path がディレクトリの場合、 その下にあるすべてのファイルに対する複製を作成します。

path には、 Gfarm URL または gfarm2fs 上のパスを指定できます。

転送先や転送元のホスト群を指定するには、ドメイン名で指定するか、 ホスト名を行ごとに記述したホストリストファイルを指定します。 ドメイン名とホストリストファイルを両方指定した場合は、 両方の条件に合うホスト群を決定します。 転送元ホスト群を指定した場合、 そのホストに存在するファイルのみ複製が作成されます。

なるべく転送中ではないホストを選択して転送開始します。 転送元や転送先 1 ホストあたりの最大並列転送数は、ホストごとの CPU 数です。 CPU 数については、gfhost コマンドのマニュアルを参照してください。

gfprep は、ディレクトリを辿る際に、 ディレクトリエントリ情報も並列に取得します。

GFPREP OPTIONS

以下は gfprep 専用のオプションです。

-N num-of-replicas
    ファイル複製数を指定します。 転送先ファイルに十分な数の複製が存在する場合、 複製作成も複製削除も、どちらもしません。

    このオプションを指定しない場合は、-N 1 を指定したことになります。

-x
    -N オプションで指定された数よりも多くのファイル複製が転送先に存在する場合は、 余分なファイル複製を削除します。

-m
    転送元から転送先にファイル複製を移動します。

    -S または -h または -D または -H いずれかのオプションが必要です。

    このオプションと -N オプションは、どちらか一方を使用できます。

COMMON OPTIONS

gfprep と gfpcopy には、 共通で利用できるオプションがあります。

-S source-domainname
    転送対象ファイルを選ぶためのドメイン名を指定します。 そのドメイン名の範囲に、 ファイル複製の実体が存在するファイルだけを転送対象にします。

-h source-hostfile
    転送対象ファイルを選ぶためのホスト名が記述されたリストを指定します。 そのホスト名の範囲に実体が存在するファイルだけを転送対象にします。 そのホスト名のリストには、ファイルシステムノードを一行ずつに記述します。

    ``-'' を指定すると、ホスト名のリストを標準入力から読み込みます。

-L
    -S または -h で指定した範囲のみから転送元を選択します。

-D destination-domainname
    転送先範囲とするドメイン名を指定します。

    このオプションも -H オプションも指定しない場合、利用可能なホストに転送します。

-H destination-hostfile
    転送先範囲を示すホスト名が記述されたファイルを指定します。 そのホスト名のリストには、ファイルシステムノードを一行ずつ記述します。

    ``-'' を指定すると、ホスト名のリストを標準入力から読み込みます。

-j num-of-processes
    同時に複製作成やコピーをする際の最大並列数を指定します。

    デフォルト値は gfarm2.conf の client_parallel_copy パラメータです。 詳細は gfarm2.conf のマニュアルを参照してください。

    転送元または転送先のファイルシステムノードごとの最大並列数は、 その CPU 数までです。 CPU 数については、gfhost のマニュアルを参照してください。

-J num-of-processes
    並列にディレクトリを辿るための並列数を指定します。

    デフォルト値は 8 です。

-M total-byte
    コピーする際に制限する合計サイズをバイト数で指定します。

    デフォルトでは制限しません。

-z minimum-byte
    コピーする際に制限する最小ファイルサイズをバイト数で指定します。

    デフォルトでは制限しません。

-Z maximum-byte
    コピーする際に制限する最大ファイルサイズをバイト数で指定します。

    デフォルトでは制限しません。

-w way-of-scheduling
    スケジューリング方法を指定します。 noplan にすると、ファイルを見つけながら、複製作成またはコピーします。 greedy にすると、複製作成やコピーする前に、貪欲法によってスケジューリングします。

    デフォルトは noplan です。

    greedy にすると、-N や -m オプションを使用することができません。

-W kibibytes
    各 Connection のコスト(合計ファイルサイズ)を 平均とみなすまでの閾値をキビバイトで指定します。 Connection とは、子プロセスごとにファイルを割り当てるための、計画情報です。

    -w greedy オプションを使用した場合のみ効果があります。

    デフォルトは 50 * 1024 キビバイト (50 メビバイト) です。

-U
    ファイルシステムノードのディスク空き容量を毎回チェックしなくなります。

-F num-of-dirents
    ディレクトリエントリの情報を先読みする数を指定します。

    デフォルトは 1000 です。

-s kilobytes-per-sec.
    シミュレーションする際の転送速度を KB/s で指定します。 実際にはコピーせず、ファイル情報を取得するのみになります。

-n
    何もしません。 ディレクトリを辿るだけです。

-p
    性能の総合結果を報告します。

-P
    性能に関してファイルごとの結果と総合結果を報告します。

-q
    警告を表示しません。

-v
    冗長な情報を出力します。

-d
    デバッグ情報を出力します。

-?
    コマンドオプションを出力します。

EXAMPLES

ディレクトリ以下すべてのファイルを複製作成します。

    $ gfprep -N 3 gfarm:///dir

    $ cd /mnt/gfarm2fs
    $ gfprep -N 3 dir

足りなければ複製を増やし、余分な複製があれば削除します。

    $ gfprep -N 3 -x gfarm:///dir/file

gfsd1.example.com にある複製を別のノードに移動します。

    $ gfprep -m -S gfsd1.example.com gfarm:///

NOTES

-L または -m オプションを使用しない場合は、指定した転送元範囲の中から ファイルシステムノードが選ばれるとは限りません。

gfprep コマンドは、 gfmd と同じホストで実行するほうがよいです。 gfmd と gfprep が距離的に離れている場合には、 gfprep の動作が遅くなります。 そのような場合には、-j または -J オプションに大きな値を指定すると、 性能が改善するかもしれません。

SEE ALSO

gfrep(1), gfpcopy(1), gfhost(1), gfarm2.conf(5)