
TL;DR: ディスクのメタデータを別のディスクに複製する方法はありますか?
4TiB ディスクのすべてのデータ (メタデータを含む) を別の 2TiB ディスクにコピーしようとしています。4TiB ディスクには 1TiB のデータのみが含まれており、そのファイルシステムは であることを確認しましたext4
。
私の以前のアプローチは次のとおりでした:
- ソース ディスク上のファイルシステムのサイズを変更します。
resize2fs -M <source disk mountpath>
- 縮小されたファイルシステムに必要な 16MiB ブロックの数を計算します。
- dd を使用して、すべてのデータ (メタデータを含む) をコピーします
dd bs=16M if=<src> of=<dst> count=<# block calculated in step2
。
この方法は、データ量が比較的少ない場合にはうまく機能します。しかし、たとえばデータ サイズが大きい場合、との1TiB
両方に長い時間がかかることがあります。resize2fs
dd
rsync
の代わりにを使用することを考えていますdd
。そうすれば、元のファイルシステムのサイズを変更する必要がなくなり、 よりもrsync
高速になるようです。ただし、では uuid やラベルなどのディスク メタデータがコピーされないdd
という問題があります。rsync
新しいディスクに元のディスクとまったく同じメタデータを持たせて、サーバー上で何も変更せずに新しいディスクを直接使用して元のディスクを置き換えられるようにしたいと思います。ディスクのメタデータも複製する方法はありますか?
答え1
はい、メタデータ付きのドライブをクローンする方法があります。最初にアプローチしたように dd を使用します。ただし、なぜ 16 MB のチャンクで実行する必要があるのかは不明です。
大量のデータを書き込むには時間がかかります。より高速なドライブを入手しない限り、これを回避する方法はありません。