データ転送

Transfer Appliance は、アプライアンスにデータをコピーする次の方法をサポートしています。

Transfer Appliance にデータをコピーしたら、送信元データを削除する前に、Cloud Storage バケットへのデータ転送が完了したことを確認します。

ファイルサイズと命名の要件

アプライアンスにアップロードされるファイルは、Cloud Storage のファイルサイズの上限と命名ガイドラインに準拠している必要があります。

Transfer Appliance は、ファイルサイズやファイル名を検証しません。アプライアンスが Google に返送されたときに、これらのルールに準拠していないファイルがアプライアンスに含まれている場合、それらのファイルを転送できないことがあります。

SCP または SFTP を使用してデータをコピーする

SCP または SFTP を使用してアプライアンスにデータをコピーする手順は次のとおりです。

Microsoft Windows

  1. UTF-8 ファイル名をサポートする SCP クライアントまたは SFTP クライアント(WinSCP など)をダウンロードします。

  2. SCP ツールを使用して、次の設定でアプライアンスに接続します。

    • ファイル プロトコル: SFTP
    • ホスト名: アプライアンスの IP アドレス。
    • ポート番号: 22
    • ユーザー名: Transfer Appliance チームから提供されたアプライアンスのユーザー名。
    • パスワード: Transfer Appliance チームから提供されたアプライアンスのパスワード。

    Transfer Appliance の宛先ディレクトリは /mnt/ta_data である必要があります。

Linux

  1. 次のコマンドを実行します。

    scp PATH_TO_FILES USERNAME@IP_ADDRESS:/mnt/ta_data
    

    以下を置き換えます。

    • PATH_TO_FILES: コピーするファイルのパス。
    • USERNAME: Transfer Appliance チームから提供されたアプライアンスのユーザー名。
    • IP_ADDRESS: アプライアンスの IP アドレス。
  2. プロンプトが表示されたら、Transfer Appliance チームから提供されたアプライアンスのパスワードを入力します。

Apple macOS

  1. 次のコマンドを実行します。

    scp PATH_TO_FILES USERNAME@IP_ADDRESS:/mnt/ta_data
    

    以下を置き換えます。

    • PATH_TO_FILES: コピーするファイルのパス。
    • USERNAME: Transfer Appliance チームから提供されたアプライアンスのユーザー名。
    • IP_ADDRESS: アプライアンスの IP アドレス。
  2. プロンプトが表示されたら、Transfer Appliance チームから提供されたアプライアンスのパスワードを入力します。

NFS 共有を使用してデータをコピーする

NFS 共有を使用してアプライアンスにデータをコピーする手順は次のとおりです。

  1. Transfer Appliance をマウントするには、データソースで次のコマンドを実行します。

    Linux

    1. sudo mkdir /mnt/data
      
    2. sudo mount -o vers=4 IP_ADDRESS:/mnt/ta_data /mnt/data
      

      IP_ADDRESS は、アプライアンスの IP アドレスに置き換えます。

    Apple macOS

    1. cd ~
      
    2. mkdir ta_data
      
    3. sudo mount -t nfs -o vers=4,resvport IP_ADDRESS:/mnt/ta_data ~/ta_data
      

      IP_ADDRESS は、アプライアンスの IP アドレスに置き換えます。

  2. アプライアンスにデータをコピーするには、任意のコピー ユーティリティを使用します。

    データのコピーは長時間実行オペレーションです。Apple macOS または Linux では、tmux または screen を使用して、ログアウトやネットワークの切断後もコピープロセスが続行するようにすることをおすすめします。

SSH 認証鍵を保存する

SSH 認証鍵を保存すると、Transfer Appliance にすばやくログインできます。SSH 認証鍵を保存すると、転送速度も向上します。

  1. ワークステーションで、次のコマンドを使用して鍵ペアを生成します。

    posix-terminal
    ssh-keygen -t rsa
    
  2. アプライアンスに /tmp/ssh_key ファイルを作成します。

  3. ワークステーションからアプライアンスの /tmp/ssh_key に公開鍵ファイルのコンテンツをコピーします。公開鍵ファイルは、ワークステーションの次の場所にあります。

    • Linux: ~/.ssh/id_rsa.pub
    • Windows: C:Users/USERNAME/.ssh

    複数のキーを承認するには、/tmp/ssh_key の新しい行に各キーを追加します。

  4. アプライアンスで次のコマンドを実行します。既存の鍵は上書きされます。

    ta copy_ssh_keys
    
  5. アプライアンスにログインします。

    • 秘密鍵がワークステーションのデフォルトの場所にある場合は、次のコマンドを使用してアプライアンスにログインします。

      ssh ta_customer@IP_ADDRESS
      
    • 秘密鍵がデフォルトの場所にない場合は、次のコマンドを使用してアプライアンスにログインします。

      ssh -i PRIVATE_KEY_PATH ta_customer@IP_ADDRESS
      

SMB を使用してデータを転送する

SMB ファイル共有を有効にする手順は次のとおりです。

  1. 次のファイル共有プロトコル フラグを使用して、アプライアンスが SMB を使用するように構成します。

     ta config --data_port=PORT --ip=IP_ADDRESS --fileshare=smb
    

    ta_data ディレクトリが共有され、次のユーザーが作成されます。

    • ユーザー名: ta_customer
    • パスワード: ta_customer
  2. ホストタイプに基づいて、SMB ファイル共有に接続します。

    Microsoft Windows

    ファイル マネージャー

    1. ファイル マネージャーを開き、ファイルパスを \\IP_ADDRESS\ta_data に編集します。

    2. プロンプトが表示されたら、ユーザー名とパスワードを入力します。

    コマンドライン

    1. Windows コマンド プロンプトで net use X: \\IP_ADDRESS\ta_data と入力します。

    2. プロンプトが表示されたら、ユーザー名とパスワードを入力します。

    Linux

    ファイル マネージャー

    1. デフォルトのファイル マネージャーを開き、[サーバーに接続] をクリックします。

    2. smb://IP_ADDRESS/ta_data」と入力します。

    3. プロンプトが表示されたら、ユーザー名とパスワードを入力します。

    コマンドライン

    1. SMB クライアントをインストールします。sudo apt-get install smbclient

    2. SMB ファイル共有に接続する: smbclient //IP_ADDRESS/ta_data -U USERNAME

      smb:\> プロンプトが表示されます。

アプライアンスで独自のファイル共有を使用する

アプライアンスは、ラップされた Linux の mount コマンドを使用して、アプライアンスに共有をマウントします。

  1. 次のコマンドを実行します。

    NFS

    1. NFS サーバーをホストしているデバイス上の /etc/exports ファイルを更新して、IP_ADDRESS のサーバーへのアクセスを許可します。

    2. アプライアンスで次のコマンドを実行します。

      mkdir /mnt/ta_data_base/ta_mounts/MOUNT_POINT
      
      ta mount --types=nfs --source=NFS_SERVER_IP:/NFS_DIRECTORY
      --target=/mnt/ta_data_base/ta_mounts/MOUNT_POINT
      --options=OPTIONS
      

      以下を置き換えます。

      • IP_ADDRESS: アプライアンスの IP アドレス。
      • MOUNT_POINT: この共有のマウント ポイントの名前。
      • NFS_SERVER_IP: NFS サーバーをホストするデバイスの IP アドレス
      • NFS_DIRECTORY: NFS 共有へのパス。
      • OPTIONS: オプションのカンマ区切りのリスト。これらのオプションは、Linux の mount コマンドで許可されているオプションです。

    CIFS

    1. アプライアンスで次のコマンドを実行します。

      mkdir /mnt/ta_data_base/ta_mounts/MOUNT_POINT
      
      ta mount --types=cifs --source=//CIFS_SERVER_IP/CIFS_NAME
      --target=/mnt/ta_data_base/ta_mounts/MOUNT_POINT
      --options=OPTIONS
      

      以下を置き換えます。

      • MOUNT_POINT: この共有のマウント ポイントの名前。
      • CIFS_SERVER_IP: CIFS サーバーをホストするデバイスの IP アドレス。
      • CIFS_NAME: CIFS 共有名。
      • OPTIONS: CIFS 共有のパスワードとユーザー名を含む、オプションのカンマ区切りのリスト。これらのオプションは、Linux の mount コマンドで許可されているオプションです。

    マウント オプションで特に指定しない限り、マウント ポイントは「ta unmount」コマンドで削除するまで、再起動時に再マウントされます。

  2. アプライアンスのマウントを解除するには、次のコマンドを実行します。

     ta unmount --target=/mnt/ta_data_base/ta_mounts/MOUNT_POINT

  3. アプライアンスにデータをコピーするには、任意のコピー ユーティリティを使用します。

    RClone

    1. アプライアンスで RClone を使用してコピー コマンドを実行するには、次の操作を行います。

      rclone copy /mnt/ta_data_base/ta_mounts/MOUNT_POINT /mnt/ta_data

      以下を置き換えます。

      • MOUNT_POINT: 転送するデータを含むディレクトリ。

    アーカイブの pull

    1. 転送中にデータを tar ファイルにアーカイブするには、次のコマンドを実行します。

      ta pull --target=/mnt/ta_data_base/ta_mounts/MOUNT_POINT --size=ARCHIVE_SIZE_BYTES
      --destination=/mnt/ta_data --count=THREAD_COUNT

      以下を置き換えます。

      • MOUNT_POINT: 転送するデータを含むディレクトリ。
      • ARCHIVE_SIZE_BYTES: 宛先で生成される tar ball のターゲット サイズ。デフォルトは 1 GB で、5 MB ~ 20 GB の範囲で想定されます。
      • THREAD_COUNT: 同時に実行され、アーカイブを作成するスレッドの数。デフォルトは 20 で、1~10000 にする必要があります。

      アーカイブ プルはバックグラウンドで実行されるため、ターミナルを安全に終了できます。pull は、転送を開始する前にデータを一覧表示するフェーズから始まります。

    2. pull を開始すると ID が返されます。この値を使用して、pull を操作できます。

      pull のステータスを確認するには、次のコマンドを実行します。

      ta pull --id=ID --status

      pull を一時停止するには、次のコマンドを実行します。

      ta pull --id=ID --pause

      一時停止または中断した pull を再開するには、次のコマンドを実行します。

      ta pull --id=ID --resume

      以下を置き換えます。

      • ID: pull ID。
    3. pull が完了すると、tarball が /mnt/ta_data/TA_ARCHIVE_ID/ ディレクトリに見つかります。マニフェスト ファイルが生成され、/mnt/ta_data/manifest_ID.tsv に保存されます。このファイルには、転送されたファイルの情報が含まれます。どの tar ball ファイルにどのファイルが含まれているかが詳細に記載されています。同様に、エラー マニフェスト ファイルが /mnt/ta_data/manifest_ID_ERROR.tsv に保存され、プル中に発生したエラーの詳細が記載されます。

    一度に実行する pull コマンドは 1 つにすることをおすすめします。

データ転送のベンチマーク

これらのデータ転送速度は、標準のコピーツールを使用した場合の Transfer Appliance のパフォーマンスを表しています。書き込みパフォーマンスを分離し、データソースからの読み取りのボトルネックを解消するため、アプライアンスで直接データが生成されました。アプライアンス(TA300 V2)は 10 Gb ポートでデータソースに接続され、次のファイルサイズで NFS と SSH のコピー方法の速度が測定されました。

  • 100 GB のファイル
  • 1 GB のファイル
  • 10 MB のファイル
ファイルサイズ CP(NFS) Rsync(NFS) SCP(SSH) Rsync(SSH) 40 TB の転送の推定時間 300 TB の転送の推定時間
100 GB 740 Mbps 735 MBps 675 Mbps 640 MBps 16 時間 5 日
1 GB 648 Mbps 611 MBps 600 MBps 600 MBps 18 時間 5 日 15 時間
10 MB 512 MBps 422 Mbps 14 MBps 12 MBps 23 時間 7 日