/mnt/fs_a
同じzfsプールに2つのファイルシステムがあり、/mnt/fs_b
約1 TBのデータfs_a
をからfs_b
。しかし、私は:
mv /mnt/fs_a/mythtv_recordings /mnt/fs_b/
驚いたことに、ファイルをブロック単位でコピーし始めました。 2GBファイルを移動するのにかかる時間を考えると、作業を完了するのに数日間かなりのスラッシングがかかるようです。
これを行うには、よりスマートで迅速な方法が必要です。そうですか?
答え1
残念ながら、答えは「いいえ」です。これより速くスマートな方法はありません。
ZFSファイルシステム(同じプールにあっても)は別のファイルシステムです。他のどのツールも、以前に開いていたファイルが開かれるmv
ようにブロックポインタや他のものを移動することはできません。fs_a
fs_b
(しかし、同じディスクまたはRAIDアレイ上の複数のフォーマットされたパーティションまたはLVMボリュームも別々のファイルシステムなので、コピーしてmv
削除することもできます。)
この質問は長年にわたって何度も現れてきました(誰かが望むことを実行するためのツールを作成することについて話します)。私が理解したところによると、難しいバスケットに入れるのが最も難しいのは、スナップショットの処理方法に関する質問です。すべてのスナップショットでは、fs_a
ブロックは両方のファイルシステムにあります。ハードリンクがあるファイルにも同様です。
私自身もこの問題を何度も経験し(たとえば、あなたのようなデータセット間でファイルを移動するとき、またはサブディレクトリをファイルシステムに変換する必要があるとき)、不快感を抱いて生きる方法を学びました。それは主要なPITAになることができます。
fs_b
空またはまだ存在せず、移動したい場合みんなfs_a
toの内容fs_b
(一部またはほとんどのファイルとディレクトリだけでなく)の名前をにzfs rename
変更できます。しかし、これがあなたのケースに関連しているかどうか疑われます。fs_a
fs_b
ZFSOnLinuxに未解決の問題があります。https://github.com/zfsonlinux/zfs/issues/2991
検索しませんでしたが、上流を希望します。オープンZFS Sun / Oracle ZFSにも同様のバグレポート/機能要求がある可能性があります。
ところで、また参照してくださいhttps://serverfault.com/questions/584693/freenas-why-isnt-mv-command-instant-within-a-raidz1-volume