我看过各种帖子讨论使用 dd 创建驱动器映像并仅存储“使用过的数据”。在提出问题/问题之前,让我们假设一些事情。
假设
- 克隆/映像的驱动器是 /dev/sda
- /dev/sda 是 10TB
- /dev/sda 上的已用空间为 1TB
- 映像存储到某个远程 CIFS 安装位置
问题/问题
将选项cp
与--sparse=always
选项一起使用dd
应该会生成一个稀疏文件,以便文件显示为 1GB:
cp --sparse=always <(dd if=/dev/sda bs=8M) /mnt/remote/location/disk.img
或者像下面这样,应该压缩所有归零的空间:
dd if=/dev/sda1 | gzip -c > /mnt/remote/location/disk.img.gz
那么,稀疏的图像文件对恢复有什么影响呢?传输的数据是 1GB 还是 10GB,包括感知到的空白/归零空间?这显然是评估潜在网络负载和恢复时间的考虑因素。
PS 我知道还有其他选项,例如 Clonezilla 和 ddrescue 之类的选项将允许恢复功能,但问题是关于在上述上下文中使用 dd 的具体问题。
谢谢。