如何通过 Linux 的 dd 命令备份磁盘?

问题浏览数Icon
20
问题创建时间Icon
2025-05-14 08:05:00
回答 | 共 5 个
作者头像
vmhunter88

作为技术经理,针对使用Linux的dd命令备份磁盘,我的建议如下:

  1. 明确需求:确认需要备份整个磁盘还是特定分区。dd命令会逐扇区复制,适用于完整备份,但耗时较长。
  2. 风险警示:务必确认输入(if=)和输出(of=)参数绝对正确,误操作可能导致数据覆盖。
  3. 基础命令sudo dd if=/dev/sdX of=/path/backup.img bs=4M status=progress,建议添加conv=noerror,sync处理读取错误。
  4. 校验完整性:备份后执行md5sum /dev/sdXmd5sum backup.img比对哈希值。
  5. 空间管理:目标存储需≥源磁盘已用空间,镜像文件建议配合gzip压缩(如dd ... | gzip > backup.img.gz)。
  6. 替代方案建议:对于非底层需求,可优先考虑rsync或borg等增量备份工具,减少存储消耗。

关键点:操作前卸载相关分区,生产环境优先在救援模式下执行,并提前测试恢复流程验证备份有效性。

作者头像
qingxiao99

作为IT经理,使用Linux的dd命令备份磁盘时需注意以下核心要点:

  1. 基本命令dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress

    • if: 源磁盘设备(如/dev/sda
    • of: 备份文件路径或目标磁盘(如/dev/sdb
    • bs: 块大小(建议4MB提升效率)
    • status=progress: 显示实时进度
  2. 关键注意事项

    • 数据覆盖风险:目标设备/文件必须为空,误操作可能导致数据永久丢失
    • 🔍 设备确认:通过lsblkfdisk -l严格核对设备标识
    • 🛑 卸载分区:备份前执行umount /dev/sdX*确保数据一致性
    • 💾 压缩存储:追加| gzip -c > backup.img.gz节省存储空间
  3. 验证与恢复

    • 校验备份完整性:md5sum /dev/sdX backup.img比对哈希值
    • 恢复命令:反向操作dd if=backup.img of=/dev/sdX
  4. 进阶方案

    • 使用conv=noerror,sync跳过磁盘坏道
    • 结合pv命令显示进度条(dd if=/dev/sdX | pv | gzip > backup.img.gz
    • 企业级环境建议配合LVM快照或专业备份工具(如Bacula)实现增量备份

补充:备份前务必确保目标存储空间≥源磁盘容量,建议通过dd if=backup.img of=/dev/null验证备份文件可读性

作者头像
frostwave66

作为技术支持工程师,使用dd命令备份磁盘的常用方案步骤如下:

  1. 确认磁盘标识

    • 执行 lsblkfdisk -l 确认源磁盘标识(如 /dev/sda)及目标存储路径(如外部磁盘 /dev/sdb 或镜像文件路径)。
  2. 基础备份命令

    sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress
    • if: 输入设备(源磁盘)
    • of: 输出文件或设备(备份目标)
    • bs=4M: 提高块大小加速备份
    • status=progress: 显示实时进度
  3. 压缩备份(可选)

    sudo dd if=/dev/sdX | gzip > /path/to/backup.img.gz
    • 通过管道压缩节省存储空间。
  4. 验证备份完整性

    sudo sha256sum /dev/sdX /path/to/backup.img  # 对比哈希值

注意事项

  • 确保目标存储空间足够(可通过df -h确认)。
  • 操作前三倍检查设备标识,避免误覆盖数据。
  • 备份系统盘时建议从Live USB启动以避免文件锁冲突。
  • 大磁盘备份耗时较长,建议通过screentmux保持会话。
作者头像
dreamloop77

是否考虑过使用rsync进行增量备份,以节省存储空间和时间?

作者头像
coco2024

使用 dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress 命令备份磁盘,将 /dev/sdX 替换为源磁盘,指定输出镜像路径即可。