あるハードドライブから別のハードドライブに大容量ディレクトリを移動しようとしています。約6TBの小さなファイル(主に4kb-100kb)があります。
約5日間行われ、完了に15〜30日かかることが予想されます。これは私が望むものよりはるかに長く、6TBファイルをコピーするよりもはるかに長いです。
振り返ってみると、次のように読まなければなりませんでした。1,000,000個の小さなファイルコピー速度を向上しかし、ムービーを始める前にはこのような考えをしなかったし、ムービーが完成するまでにほぼ一ヶ月かかるとは予想できませんでした。
mvがディスクの場所によってソートされていないため、ソースハードドライブが検索を行っているようです。
以前は、同じソースとターゲットのハードドライブでmvを使用して大容量の2TBファイルを処理していましたが、すぐに完了したので、ハードドライブが問題ではないと思います.
これまでに試したことは次のとおりです。
- mq-deadline read_expire および write_expire 設定を追加します。
- bfqスケジューラに切り替えます。 2A.低レイテンシオプションを無効にします。 2B。リバース検索ペナルティを追加しました。
- /proc/sys/vm/dirty_ratioを増やす
- /proc/sys/vm/dirty_writeback_centisecs および /proc/sys/vm/dirty_expire_centisecs を追加
- /proc/sys/vm/vfs_cache_Pressureを減らす
これらのどれも大きく改善されていない。理論的には、より多くの読み取りと書き込みが予約されているため、スケジューラはセクタ縮小検索でそれらをソートできます。私はまた、表面的に論理的に見えるbfqのリバース検索ペナルティが好きです。
既存のmvプロセスの期間を短縮するオプションはありますか?それともmvプロセスを停止し、他のものを使用する価値がありますか?それとも長い間実行していたので待つ必要があり、mvを停止するとわかります。 I 元のディレクトリにすべてのファイルが残っているため、回復するのは困難です。