現在、RAIDZ1ボリューム内のファイル構造を「再編成」しています。あるデータセットから別のデータセットにディレクトリを移動する。どちらも同じボリュームに含まれています。
SSHがマシンに組み込まれ、古き良き方法で実行されました。
mv *宛先
これは瞬時ではありませんか?私はそれが3つのドライブに分散していることを理解していますが、同時に、ファイル自体を実際に移動する必要はありません。これらのファイルのポインターを微調整し、基本的には瞬時であると期待していました。それは間違いなく違います。移動するデータは約500Gあり、約30分実行されています。 o.O
なぜそれはほぼ瞬時ではないのですか?
仕様:CPU:Intel G3220
MB:ギガバイトGA-B85-HD3
MEM:キングストンDDR3-1600 8GB
DISK:RAIDZ1ボリュームの3x2TB WDグリーン
あなたは間違ったレベルから物事を考えています、すべてです。
単一のZFSデータセットの範囲内でファイルを移動すると、期待どおりの動作になります。プールの範囲内であるがデータセット間でファイルを移動する場合、それは実際の移動です。はい、技術的にはデータはポイントAからポイントBに行き、両方のポイントは同じ大皿にあります-しかしZFSの観点から、それは家を動かしました。
ZFSデータセットは個別のファイルシステムです。実際のファイルシステム。ブロックサイズや圧縮設定などが異なる場合があります。同じプール上であっても、2つのZFSファイルシステム間でファイルを移動するのは実際の移動です。ポインターを更新するだけではなく、ビットが読み取られ、再度書き込まれます。
機能的には、同じハードディスクの2つのパーティションから技術的に取得された2つのext4ファイルシステム間でファイルを移動することとほぼ同じです。2つのファイルシステムは、基盤となるハードウェアを共有しているにもかかわらず、論理的に異なるため、「ポインター」の変更は発生しないため、同じ物理ドライブ上のある場所から別の場所にデータをコピーするだけの場合でも、ファイルを物理的に移動します。