私は現在走っていますrsync --remove-source-files -P
。約5TBのファイルを転送しています。これは、コピーしているサーバーが最後まで5TB全体を維持するため、転送の後半に多くのストレージ容量が浪費されることを意味します。これが発生しないようにし、転送中にスペースを解放する方法を探しています。可能ですか?
答え1
私はこれを促進できるrsyncについて何も知りません。また、ファイルの先頭から割り当てられたスペースを解放する一般的な操作は、普遍的にはサポートされていません。オペレーティングシステムとファイルシステムのいくつかの組み合わせでは、これを許可できます。それ以外の場合は、ファイルの終わりだけを切り捨てることができます。 (ほとんどのLinuxシステムではを使用して動作できますfallocate -p
)
可能なオプション:
- ファイルを分割します。削除できるため、元のマシンで使用しないでください。これをより小さい部分に分割し、rsync は転送が完了した後に各個々の部分を削除できます。最初以外の最後からこれを行うと、
truncate
ソースファイルを普遍的に使用できるため、サポートできるオペレーティングシステムの範囲が広がります。 - 手動でファイルを消去します。これには、ファイルの転送量(ターゲットから帯域外または出力の解析)を検出し、コピーされた部分を
--progress
呼び出すメカニズムが必要です。fallocate -p
また、レプリカが途中で終了したら--partial
(およびを使用して--inplace
)--append
適切に再起動できることをテストしたいと思います。