Archaeaによるファイル転送

高速なファイル転送ツールとして、Archaea(旧HCP Tools)を提供しています。

Archaea(旧HCP Tools)は、HpFPというプロトコルを使用しているため、高速なファイル転送が可能です。専用のパッケージをインストールしていただくことでご利用いただけます。

システム先 ホスト名 備考
ファイル転送サーバ hpcfs.kudpc.kyoto-u.ac.jp 2台のサーバで構成。

接続先にはファイル転送サーバ(hpcfs.kudpc.kyoto-u.ac.jp)を指定してください。システムB(laurel.kudpc.kyoto-u.ac.jp)等には接続できません。

hcpコマンドを利用して接続する手順を紹介します。 hcpコマンドはコマンドプロンプト(ターミナル)を使用します。

アップロード : hcp [OPTION]... SOURCE [SOURCE]... [USER@]HOST[:PORT]:DEST
ダウンロード : hcp [OPTION]... [USER@]HOST[:PORT]:SOURCE [:SOURCE]... DEST

ショートオプション ロングオプション 説明
-p --permission 転送元のパーミッションを保持します。
-R --recursive ディレクトリごと再帰的にコピーします。
  --hpfp HpFPプロトコルを使用します。
  --user=<ユーザ名> ユーザ名を指定します。
  --mcd=<多重接続数> 多重接続数を指定します。
-h --help ヘルプを表示します。

利用者番号はb59999とします。
以下の操作はPCでコマンドプロンプト(ターミナル)を開いて行ってください。

  • file1.txtをリモートマシンにコピーする
    $ hcp file1.txt hpcfs.kudpc.kyoto-u.ac.jp:~/
    Login as:   ←ユーザ名を入力
    Passphrase for the key:   ←パスフレーズを入力
  • ユーザ名を指定した上で、file1.txtをリモートマシンにコピーする
    $ hcp --user=b59999 file1.txt hpcfs.kudpc.kyoto-u.ac.jp:~/
    Passphrase for the key:   ←パスフレーズを入力
    or
    $ hcp file1.txt b59999@hpcfs.kudpc.kyoto-u.ac.jp:~/
    Passphrase for the key:   ←パスフレーズを入力
  • リモートマシンのfile1.txtをローカルマシンにfile2.txtとしてコピーする
    $ hcp hpcfs.kudpc.kyoto-u.ac.jp:file1.dat file2.dat 
    Login as:   ←ユーザ名を入力
    Passphrase for the key:   ←パスフレーズを入力
  • ディレクトリ(dir1)をリモートマシンにコピーする
    $ hcp -R dir1 hpcfs.kudpc.kyoto-u.ac.jp:~/
    Login as:   ←ユーザ名を入力
    Passphrase for the key:   ←パスフレーズを入力
  • HpFPプロトコルを使用してfile1.txtをリモートマシンにコピーする
    $ hcp --hpfp file1.txt hpcfs.kudpc.kyoto-u.ac.jp:~/
    Login as:   ←ユーザ名を入力
    Passphrase for the key:   ←パスフレーズを入力
  • 多重接続数を指定してfile1.txtをリモートマシンにコピーする
    $ hcp --mcd=1 file1.txt hpcfs.kudpc.kyoto-u.ac.jp:~/
    Login as:   ←ユーザ名を入力
    Passphrase for the key:   ←パスフレーズを入力

    ※mcd(多重接続数)はデフォルトで8に設定しています。

詳細なオプション、他のコマンド(hcp-ls, hmv等)のオプションの説明は--helpオプションで確認するか、オンラインドキュメントをご覧ください。

  1. Arcaea dialogを起動します。
  2. 「新規サイト」をダブルクリックします。 dialog_1
  3. 以下の情報を入力し、「秘密鍵管理」をクリックします。
    FQDNもしくはIPアドレス:hpcfs.kudpc.kyoto-u.ac.jp
    ユーザ名:利用者番号(ID)
    認証方式:公開鍵認証
    プロトコルとセキュリティ:TCP もしくは HpFP dialog_2
  4. パスフレーズを入力し、「OK」をクリックします。 dialog_3
  5. 「秘密鍵のインポートは成功しました。」と表示されたら「OK」をクリックします。 dialog_4
  6. 登録済みの鍵一覧に先ほど登録した鍵が表示されていることを確認し、画面を閉じます。 dialog_5
  7. サイト一覧から、先ほど設定したサイトを選択し、「接続」をクリックします。(2回目以降はこの手順から行います。) dialog_6
  8. 登録した鍵のパスフレーズを入力し、「OK」をクリックします。成功するとファイル一覧の画面が表示され、ファイル転送が可能になります。 dialog_7 dialog_8

HpFPはUDPベースのプロトコルです。遅延・パケットロスが発生している環境の場合、HpFP(--hpfpオプション)を使用することで、高速化が期待できます。 HpFP(--hpfpオプション)を使用しない場合、TCPで接続します。セッション多重化により、scpやsftpでの転送より多少高速です。

WebSocketプロトコルでの通信は許可していません。

HCP toolsでの通信には、874/tcp,65520/udp(--hpfpオプション使用時)を使用します。 ご利用の環境によってはポートが開いていない可能性があります。その場合は、通信できません。

ファイル転送サーバを公平にご利用いただくために、ユーザあたりのサーバへの接続数を「16」に制限しています。 --mcdオプションを用いて接続数を指定した場合の同時接続数の例は以下の通りです。

  • --mcdオプションを指定しない場合
    接続数は8使用したものとみなされ、最大同時接続数は2となります。
  • --mcdオプションで8を指定した場合
    接続数は8使用したものとみなされ、最大同時接続数は2となります。
  • --mcdオプションで1を指定した場合
    接続数は1使用したものとみなされ、最大同時接続数は16となります。

  • 鍵、パスフレーズが異なる場合
    Authentication failed since performing it with a challenge and the user inputs is not successful.
    Authentication was failed.

    鍵、パスフレーズが正しいか確認してください。

  • 多重接続の一部で失敗した場合
    CH[12, primary=0] setup failed.
    Error code (9, Bad file descriptor)

    ネゴシエーションに成功した接続で通信を行います。 通信終了までそのままお待ちください。

  • 権限のないディレクトリを参照した場合
    A signal message was received from the remote host. The session will abort in a reason specified by the message (reason=0xA003).
    Could not offer a request @ _hcp::proto::HcppSessionInitiator_:L177.

    ディレクトリのパスが正しいか確認してください。

HCP Toolsのコマンドを実行した記録は、-hcp-outオプションで出力するファイルを指定しない場合、実行ディレクトリの次のファイルに記録されます。

・Windowsをクライアントとして利用する場合:
  .hcp.out
・Linuxをクライアントとして利用する場合:
  _hcp.out

SRC test.txt
DST hpcfs.kudpc.kyoto-u.ac.jp:65520:/home/b/b59999/
OK 0000 FT 00000001 /home/b/b59999/test.txt
EXIT 0 REASON 0000

コマンドは正常(EXIT 0)に終了しています。

SRC test.txt
DST hpcfs.kudpc.kyoto-u.ac.jp:65520:/home/b/b59999/
OK 0000 FT 00000001 /home/b/b59999/test.txt
EXIT 72 REASON 9008

コマンドは認証失敗(EXIT 72)で終了しています。

終了コード(コマンド終了ステータス)の詳細は、オンラインドキュメントを参照してください。

現在のバージョン(Archaea dialog 1.0)では、ディレクトリパスを直接指定して移動する機能はありません。将来的には機能が実装される予定です。
ディレクトリパスを指定して移動する機能が実装されました。 dialog_9