ディスクのメタデータを別のディスクに複製する方法

ディスクのメタデータを別のディスクに複製する方法

TL;DR: ディスクのメタデータを別のディスクに複製する方法はありますか?

4TiB ディスクのすべてのデータ (メタデータを含む) を別の 2TiB ディスクにコピーしようとしています。4TiB ディスクには 1TiB のデータのみが含まれており、そのファイルシステムは であることを確認しましたext4

私の以前のアプローチは次のとおりでした:

  1. ソース ディスク上のファイルシステムのサイズを変更します。resize2fs -M <source disk mountpath>
  2. 縮小されたファイルシステムに必要な 16MiB ブロックの数を計算します。
  3. dd を使用して、すべてのデータ (メタデータを含む) をコピーしますdd bs=16M if=<src> of=<dst> count=<# block calculated in step2

この方法は、データ量が比較的少ない場合にはうまく機能します。しかし、たとえばデータ サイズが大きい場合、との1TiB両方に長い時間がかかることがあります。resize2fsdd

rsyncの代わりにを使用することを考えていますdd。そうすれば、元のファイルシステムのサイズを変更する必要がなくなり、 よりもrsync高速になるようです。ただし、では uuid やラベルなどのディスク メタデータがコピーされないddという問題があります。rsync

新しいディスクに元のディスクとまったく同じメタデータを持たせて、サーバー上で何も変更せずに新しいディスクを直接使用して元のディスクを置き換えられるようにしたいと思います。ディスクのメタデータも複製する方法はありますか?

答え1

はい、メタデータ付きのドライブをクローンする方法があります。最初にアプローチしたように dd を使用します。ただし、なぜ 16 MB のチャンクで実行する必要があるのか​​は不明です。

大量のデータを書き込むには時間がかかります。より高速なドライブを入手しない限り、これを回避する方法はありません。

関連情報