GFPREP(1) | Gfarm | GFPREP(1) |
gfprep - ファイルの複製を並列に作成する
gfprep [-nqvdpPBU] [-X regexp] [-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] [-I sec-to-update] [-mx] [-N num-of-replicas] path
gfprep は、ファイルの複製を並列に作成します。
path がディレクトリの場合、 その下にあるすべてのファイルに対する複製を 作成します。
path には、 Gfarm URL または gfarm2fs 上のパスを指定できます。
作成先のホスト群を指定することにより、ファイルの複製を作成するホストを 指定することができます。ホスト群は、ドメイン名か、ホスト名を行ごとに記 述したホストファイルで指定します。ドメイン名とホストファイルを両方指定 した場合は、両方の条件に合うホスト群が選ばれます。また、作成元のホスト 群も指定可能です。その場合、そのホスト群に存在するファイルのみ複製が作 成されます。
gfprepは、なるべく複製を作成中ではないホストを選択してファイル複製を作 成します。作成元や作成先 1 ホストあたりの最大並列転送数は、ホストごと の CPU数です。 CPU 数については、gfhost コマンドのマニュアルを参照して ください。
gfprep は、ディレクトリを辿る際に、 ディレクトリエントリ情報も並列に取 得します。
以下は gfprep 専用のオプションです。
-N num-of-replicas
このオプションを指定しない場合は、-N 1 を指定したことになります。
-x
-m
-S, -h, -D, -H のいずれかのオプションが必要です。
このオプションと -N オプションは、どちらか一方を使用できます。
gfprep と gfpcopy には、 共通で利用できるオプションがあります。
-X regexp
-S source-domainname
-h source-hostfile
``-'' を指定すると、ホスト名のリストを標準入力から読み込みます。
-L
-D destination-domainname
このオプションも -H オプションも指定しない場合、利用可能な全ホスト を対象に複製、コピーを作成します。
-H destination-hostfile
``-'' を指定すると、ホスト名のリストを標準入力から読み込みます。
-j num-of-processes
デフォルト値は gfarm2.conf の client_parallel_copy パラメータです。 最大値は gfarm2.conf の client_parallel_max パラメータです。 詳細 は 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 にすると、-N や -m オプションを使用することができません。
-W kibibytes
-w greedy オプションを使用した場合のみ効果があります。
デフォルトは 50 * 1024 キビバイト (50 メビバイト) です。
-I sec-to-update
デフォルトは 300 秒です。
-B
デフォルトでは高負荷なホストを作成先の対象にしません。そのため、 すべてのホストが高負荷の場合はファイル複製、コピーは行われません。
高負荷なホストとは、(ロードアベレージ / CPU 数) が gfarm2.conf の schedule_busy_load_thresh よりも高いホストです。 schedule_busy_load_thresh のデフォルト値は gfarm2.conf のマニュ アルを参照してください。 CPU 数については gfhost のマニュアルを 参照してください。
-U
-F num-of-dirents
デフォルトは 10000 です。
-s kilobytes-per-second
-n
-p
-P
-q
-v
-d
-?
ディレクトリ以下すべてのファイルの複製を作成します。
$ 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:///
-L または -m オプションを使用しない場合は、指定した作成元の中から ファイルの複製、コピーが行われるとはとは限りません。
gfprep コマンドは、 gfmd と同じホストで実行するほうがよいです。 gfmd と gfprep が距離的に離れている場合には、 gfprep の動作が遅くなります。 そのような場合には、-j または -J オプションに大きな値を指定すると、 性能が改善するかもしれません。
14 Jan 2017 | Gfarm |