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
,这样就不需要调整原始文件系统的大小,而且 plusrsync
似乎比 更快dd
。但有一个问题是rsync
不会复制磁盘元数据,如 uuid、标签等。
我希望新磁盘具有与原始磁盘完全相同的元数据,这样我就可以直接使用新磁盘替换原始磁盘,而无需修改服务器上的任何内容。有没有办法克隆磁盘的元数据?
答案1
是的,有一种方法可以用元数据克隆驱动器:使用 dd,就像你最初使用的方法一样。不过,为什么需要以 16MB 的块为单位进行克隆还不清楚。
写入大量数据需要时间,除非您获得更快的驱动器,否则没有办法解决这个问题。