専用サーバーからAWSEC2インスタンスに移動する必要があるウェブサイトがあります。 650GB以上のデータと300万以上のファイルがあります。
[〜#〜] scp [〜#〜]のように使ってみましたが、ファイルが大きいので時間がかかります。
scp -r [email protected]:/ remote/directory/local/directory
私のソースOSはcPanelを搭載したCentos7.5です。 1TB HDDと650GBデータ、宛先サーバーはUbuntu 18.04、700GBHDDです。
LFTP、SFTP、rSyncなどの他のオプションもあることを知っています。最も速い方法で私を助けてください。
ファイルをたとえば1GBのチャンクに圧縮し、それらをアップロードすることをお勧めします。解凍すると、各ファイルがCRCチェックサムと照合されます。組み込みの分割を使用して、Zipが自動的に.z00 .z01 .z02 .z03 ..を生成するようにすることができます。
または、パリティデータを作成して損傷したセグメントを修復できるrar形式を使用することもできます。
データを転送する方法は1つのAWSソリューションです。
https://aws.Amazon.com/Snowball/?nc1=h_ls
私が知っているように、あなたはデバイスを手に入れます(DHLのようなポストサービス経由で)あなたはこのデバイスにあなたのデータをコピーすることができます、そしてそれからAmazonはあなたのためにこのデータをアップロードします。
アップロードを高速化する唯一の方法は、複数の部分で並行してアップロードを行うことです。
個別の接続を使用してジョブを複数のコンピューターに分割できる場合は、アップロードが高速化されます。
1台のコンピューターがフルスループットに達しない場合は、各スレッドが独自の接続を並行して開くマルチスレッド方式を選択できます。
製品とスクリプトの提案については、投稿を参照してください ec2 Elastic Block Storeボリュームからs3に400Gのファイルをコピーする最も速い方法はどれですか? 。
記事 FSファイル同期– Amazon EFSファイルシステムへのより高速なファイル転送 も参照してください。
scp
を使用する場合、部分的に転送されたファイルで再試行または続行しません。
代わりにrsync
を使用してみてください。例:.
rsync -vuaz [email protected]:/remote/directory/ /local/directory/
引数:
-v
/--verbose
冗長性を高めます。-u
/--update
レシーバーで新しいファイルをスキップします。-a
/--archive
アーカイブモード;等しい-rlptgoD
-z
/--compress
転送中にファイルデータを圧縮します。専用サーバーにAWSCLIをインストールしてみてください。
次に、aws s3
コマンドを使用して、最初にファイルをAWSS3バケットに転送します。
例えば。
aws s3 sync local/directory s3://mybucket/local/directory
次に、ローカルEC2インスタンスに転送します。
aws s3 sync s3://mybucket/local/directory local/directory
このコマンドは、多数のファイルをコピーするように設計されており、失敗しても続行できます。
EC2インスタンスのファイルをS3から直接提供することもできます。
ヘルプが必要な場合は、aws s3 sync help
を確認してください。