epmfsのデフォルトポリシーを使用してmergefsを設定しました。つまり、local/target/
すべてのディスクにファイルをコピーすると、local/target/
各ファイルはコピー時に空き容量が最も多いディスクにコピーされます。
ディレクトリがすべてのディスクにコピーされたがそれに何もない場合は、図に示すように、リモートrsync
システムからファイルを転送するために使用したいと思います。ファイルがいっぱいになるとうまくいきます。最後のファイル転送が完了した後にのみ、次のファイルが作成されるため、個々のファイルが期待どおりにディスクに均等に分散されます。サブディレクトリが多い場合は、ファイルが転送される前にすべてのサブディレクトリが一度に作成されます。これは、すべてのサブディレクトリがファイルのように複数のディスクに分散されるのではなく、1つのディスクにのみ作成されるため、epmfsの期待される動作を破ります。rsync -rt user@remote:/remote/target/ local/target/
local/target/
/remote/target/
/remote/target/
rsync
実際のサブディレクトリの内容が送信される前に、サブディレクトリを1つずつ強制的に生成する方法はありますか?
これは、次のサブディレクトリが作成されると、最初のディスクの空き容量が少なくなり、次のディスクを選択できることを意味します。rsync
そして、いくつかのオプションを試してみましたが、この動作を変更することは何もないようで、マンページの他のどれもディレクトリの生成を抑制する方法を示しているようではありません。または、epmfsポリシーの予想される動作に影響を与えずにこの問題を解決する他の方法はありますか?-O
--no-i-r
みんなと話し合った最後にセンチメートル1つのオプションは、rsync
送信される各サブディレクトリに対して個別に実行することですが、可能であればそうしないことをお勧めします。理想的には、全体的な転送の進行状況を表示し、失敗した転送を回復するなどの方法を使用したいと思います。
これは複数のバージョンを実行する最も簡単な方法ですが、rsync
受信側ではなく送信側で実行している場合にのみ機能します。rsync
find /local/target/ -type d -mindepth 1 -maxdepth 1 -exec sh -c 'rsync -rt "{}" [email protected]:/remote/target/' \;