WindowsでRobocopy、TerracopyまたはXcopyを使用したファイル・ストレージへのデータのコピーが遅い

Windowsのコピー・ユーティリティでは、コピー中、書込みのバッチごとにディレクトリがスキャンされます。コピー・ユーティリティによりファイルが書き込まれるとディレクトリ・スキャンが増加するため、書込みスループットが低下し、コピー速度が遅くなります。

解決策: ファイル・ストレージへの大規模なデータ・コピーには、Windowsのコピー・ユーティリティを使用しないでください。かわりに、OCI Linuxインスタンスを使用して、OCI Linuxインスタンスに付属のパラレル・ツールを使用して大規模なコピーを実行します。Windows Server Message Block (SMB)共有をCommon Internet File System (CIFS)共有としてマウントし、PARCPやFPSYNCなどのコピー・ツールを使用してデータを転送します。

このトピックでは、Windows Server Message Block (SMB)共有からファイル・ストレージ・ファイル・システムにデータを転送する方法について説明します。SMBプロトコルとファイル・ストレージで使用されるNFSプロトコルには互換性がないため、NFSファイル・システムとSMB共有の両方をマウントできるインスタンスを使用して両者の間にブリッジが作成されます。

  1. Oracle Cloud Infrastructureで、ファイル・ストレージ・ファイル・システムとWindows SMB共有の両方へのネットワーク・アクセスがあるLinuxインスタンスを識別または作成します。
  2. インスタンスでターミナルを開きます。
  3. 次のように入力してCommon Internet File System (CIFS)ユーティリティをインストールし、そのインストールを確認します:

    $sudo yum install -y cifs-utils
    $rpm -qa|grep cifs
  4. Windows SMB共有をCIFS共有としてマウントします:

    1. マウント・ポイント・ディレクトリを作成します。例:

      sudo mkdir /mnt/win_share
    2. CIFS共有をマウントします:

      sudo mount -t cifs -o username=<win_share_user> //<win_IP_address/hostname>/<share_name> /mnt/<win_share_dir>

      例:

      $sudo mount -t cifs -o username=opc //win2012/c /mnt/win_share
  5. ファイル・ストレージのパラレル・ツール・スイートのparcpユーティリティまたはfpsyncを使用して、CIFS共有からマウント済ファイル・システムにファイルをコピーします。parcpに関するインストール情報は、ファイル・ストレージのパラレル・ツールの使用を参照してください。fpsyncの詳細は、fpsyncマニュアル・ページを参照してください。

    例:

    parcp -P 32 /mnt/win_share /mnt/MyFilesystem
    fpsync -v -n 8 -f 101 -o "-lptgoD -v --numeric-ids -e ssh" /mnt/win_share /mnt/MyFilesystem