web-dev-qa-db-ja.com

内蔵ハードドライブから外付け(USB)ストレージに多くのファイルをコピーする高速な方法は何ですか?

デスクトップPCの内蔵ハードドライブに大量のデータ(約500 GB)があります。これには、音楽、ビデオ、PDFなどが含まれます。

すべてを外付けUSBハードドライブ(容量1.5 TB)にコピーしたい。

デスクトップPCはUbuntuを実行します。まず、ハードドライブを接続してマウントし、最上位のフォルダーをドライブにドラッグしました。

コピーを開始しましたが、進行が非常に遅いようです。約10分後、約500 MBで完了します。これは、少ないデータで達成できるよりも遅いと思います。

だから、これを行うためのより速い方法があるかどうか疑問に思っています。

一度にすべてをコピーするよりも、セクション単位(つまり、500MB程度)でコピーする方がよいでしょうか?

8
jonathanconway

USB2.0ポートを使用していることを確認し、USB 2.0コントローラーに「高速」と表示されていることを確認してください。多くの評判の悪いメーカーが、目立つ「USB2.0」ラベルが付いた「フルスピード(12)」USBデバイスを販売しています。それらは技術的には正確ですが、USB2.0が「高速」を意味すると考える人々を騙します。

また、USBハードディスクで「sync」マウントオプションが有効になっているかどうかを確認してください。これは速度低下のもう1つの原因です。次のコマンドでファイルシステムを再マウントできます

mount -o remount,async... /dev/usbdisk ...
10
rkthkr

Rsyncを使用してデータをコピーする必要があるハードディスクへのインターフェイスが何であれ、転送とファイルを個別に(-部分的に)再開でき、進行状況を示し、チェックサムが宛先メディアで検証されます。

要するに:

rsync -avP src/ dst/

ネットワークインターフェイスを介して転送する場合は、-C引数を追加して圧縮を有効にします。ほとんどの場合、帯域幅が制限されるため、コンテンツがすでに圧縮されていてもパフォーマンスが低下することはありません。

データをtarする必要がある場合before転送すると、多くのファイルを作成し、タイムスタンプを追加し、すべてのファイルにスペースを割り当てる必要がなくなります。
コピーの速度が向上する可能性があります。

10
Shadok

コピーするデータが本当に大量にある場合は、ドライブを外付けエンクロージャーから取り出し、コンピューターの内部に配置し、完了したらエンクロージャーに戻します。そのようなニーズに備えて、SATAケーブルとドライブベイをいくつか開いたままにしておきます。エンクロージャーを開いて後で再度閉じるには時間がかかりますが、コピー自体ははるかに高速になります。

9
Paul Tomblin

USBディスク上にあるファイルシステムについては触れませんでした。 Linuxネイティブファイルシステムですか、それともntfs/fat32を使用していますか? Fuseを通過しなければならない場合、パフォーマンスにコストがかかると思います。

一緒にいるために、私は単にハードドライブを接続してマウントし、最上位のフォルダをドライブにドラッグしました。

コピーするデータが大量にある場合は、コピー操作にオーバーヘッドがかかるため、個人的にはGUIをスキップします。代わりに、ファイルのコピーに多くのCLI コマンド (cp、rsync、cpio、tarなど)の1つを使用します。

一度に全部ではなく、500MB程度でコピーしたほうがいいのでしょうか。

Rsyncのようなもので作業している場合、ファイルを小さなセットでコピーする理由はありません。

3
Zoredache