NAME
gfpcopy - ファイルを並列にコピーするSYNOPSIS
gfpcopy
[-nqvdpPU] [-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] [-f] [-b bufsize] [-e]
[-k] source-path destination-path
DESCRIPTION
gfpcopy は、複数のファイルを並列にコピーします。 source-path がディレクトリの場合は、その下にあるすべてのファイルとディ レクトリをコピーします。 destination-path が存在しない場合は、 ディレクトリを作成します。 destination-path が存在する場合は、 そのディレクトリの下に source-path と同名のディレクトリを作成します。 作成先のホスト群を指定することにより、コピーしたファイルを格納するホス トを指定することができます。ホスト群は、ドメイン名か、ホスト名を行ごと に記述したホストファイルで指定します。ドメイン名とホストファイルを両方 指定した場合は、両方の条件に合うホスト群が選ばれます。また、作成元のホ スト群も指定可能です。その場合、そのホスト群に存在するファイルのみコピー されます。 gfpcopy は、ディレクトリを辿る際に、ディレクトリエントリ情報も並列に 取得します。SOURCE PATH
source-path には以下を指定できます。 なお、HPSS上のファイルはコピーでき ません。 パス名ローカルファイルシステム上のパスを絶対パスまたは相対パスで指定しま
す。そのパスが gfarm2fs
のマウントポイントの場合は、gfarm2fsを経由
せずに Gfarm
からコピーします。
gfarm:...
Gfarm URL
で指定します。
file:...
ローカルファイルシステム上のパスを
URL で指定します。
DESTINATION PATH
destination-path には以下を指定できます。 パス名ローカルファイルシステム上のディレクトリを絶対パスまたは相対パスで
指定します。そのパスが
gfarm2fs
のマウントポイントの場合は、
gfarm2fs を経由せずに Gfarm
へコピーします。
gfarm:...
ディレクトリを
Gfarm URL で指定します。
file:...
ローカルファイルシステム上のディレクトリを
URL で指定します。
hpss:...
HPSS
上に存在するディレクトリを
URL で指定します。
その下に source-path
と同名のディレクトリが存在する場合はエラーになります。
HPSS
に対して差分コピーはできません。
hpss:. や hpss:dir のように
相対パスで指定することもできます。
GFPCOPY OPTIONS
以下は gfpcopy 専用のオプションです。 -b bufsizeコピー時に使用するバッファサイズを指定します。
デフォルトは 64 KiByte (64 * 1024)
です。
-f
-f
オプションを指定する場合、コピー先のファイルとコピー元のファイル
が、サイズまたは mtime
が異なる場合に上書きします。
-f
オプションを指定しない場合、コピー先のほうが
mtime が古い場合
に、上書きします。
-e
gfpcopy
を複数同時に実行するために、コピー先にファイルが存在すれば
無視します。
-k
シンボリックリンクをコピーしません。
COMMON OPTIONS
gfprep と gfpcopy には、 共通で利用できるオプションがあります。 -X regexp
regexpで指定した正規表現による
パターンと一致するパス名を無視しま
す。
複数個のパターンを指定する場合は、-X
オプションを複数回指定し
ます。
-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 の 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 にすると、複
製作成やコピーする前に、貪欲法によってスケジューリングします。
デフォルトは noplan です。
greedy にすると、-N や -m
オプションを使用することができません。
-W kibibytes
各 Connection
のコスト(合計ファイルサイズ)を平均とみなすまでの
閾値をキビバイトで指定します。Connection
とは、子プロセスごとに
ファイルを割り当てるための、計画情報です。
-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
シミュレーションする際の転送速度を
KB/s で指定します。
実際にはコピーせず、ファイル情報を取得するのみになります。
-n
何もしません。
ディレクトリを辿るだけです。
-p
性能の総合結果を報告します。
-P
性能に関してファイルごとの結果と総合結果を報告します。
-q
警告を表示しません。
-v
冗長な情報を出力します。
-d
デバッグ情報を出力します。
-?
コマンドオプションを出力します。
EXAMPLES
ディレクトリ以下すべてをコピーします。$ gfpcopy gfarm:///dir file:///tmp/dir
$ gfpcopy file:///tmp/dir gfarm:///dir
$ gfpcopy gfarm:///dir1 gfarm:///dir2
$ gfpcopy gfarm:///dir hpss:///tmp/dir
$ cd /mnt/gfarm2fs $ gfpcopy dir /tmp/dir
$ gfpcopy gfarm:///dir/file file:///dir
$ cd /mnt/gfarm2fs $ gfpcopy file /tmp/dir
NOTES
gfmdとgfpcopy が距離的に離れている場合には、 gfpcopy の動作が遅くなりま す。そのような場合には、-j または -J オプションに大きな値を指定すると、 性能が改善するかもしれません。SEE ALSO
gfprep(1), gfreg(1), gfexport(1), gfarm2.conf(5)27 Aug 2015 | Gfarm |