GFPREP(1) | Gfarm | GFPREP(1) |
gfprep - Gfarm ファイル複製を並列に作成する
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 は、 Gfarm ファイル複製を並列に作成します。
path がディレクトリの場合、 その下にあるすべてのファイルに対する複製を作成します。
path には、 Gfarm URL または gfarm2fs 上のパスを指定できます。
転送先や転送元のホスト群を指定するには、ドメイン名で指定するか、 ホスト名を行ごとに記述したホストリストファイルを指定します。 ドメイン名とホストリストファイルを両方指定した場合は、 両方の条件に合うホスト群を決定します。 転送元ホスト群を指定した場合、 そのホストに存在するファイルのみ複製が作成されます。
なるべく転送中ではないホストを選択して転送開始します。 転送元や転送先 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
デフォルトでは高負荷な gfsd ホストを書き込み先の対象にしません。 デフォルトでは、すべての gfsd ホストが高負荷の場合にファイルを転送しません。
高負荷なホストとは、(ロードアベレージ / CPU 数) が gfarm2.conf の schedule_busy_load_thresh よりも高いホストです。 schedule_busy_load_thresh のデフォルト値は gfarm2.conf のマニュアルを参照してください。 CPU 数については gfhost のマニュアルを参照してください。
-U
-F num-of-dirents
デフォルトは 1000 です。
-s kilobytes-per-sec.
-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 |