跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Linux系统备份与恢复 常用镜像制作工具【教程】

Linux系统级备份与恢复中,dd适合整盘克隆但耗时且不可增量;partclone更高效、支持压缩和中断续传;mkisofs/genisoimage仅适用于打包已挂载的只读目录为可启动ISO,非系统备份工具;mondo是唯一支持LVM/RAID/UEFI引导修复与还原校验的生产级全自动方案。 直接说结论:Linux系统级备份与恢复,
dd
适合整盘克隆但耗时且不可增量;
partclone
更高效、支持压缩和中断续传;
mkisofs
/
genisoimage
只适用于「已挂载的只读文件系统目录」打包成可启动ISO,不是系统备份工具;
mondo
是唯一能全自动处理LVM/RAID/UEFI+引导修复+还原校验的生产级方案,但配置门槛略高。 用
dd
备份整个磁盘时为什么总卡住或失败
dd
本质是块设备逐扇区复制,它不理解文件系统,所以: 遇到坏道会阻塞甚至失败,需加
conv=noerror,sync
跳过错误(但可能引入数据错位) 目标空间必须 ≥ 源磁盘总容量,哪怕实际只用了10GB,也不能压缩 无法排除/tmp、/proc等虚拟文件系统,直接
dd
运行中的根分区大概率损坏镜像 进度条靠
status=progress
,但某些内核版本下该参数无效,得用
pv
替代:
sudo pv /dev/sda | sudo dd of=image.img bs=4M
partclone
比
dd
快在哪?哪些分区类型能用
partclone
在文件系统层操作,只复制已用块,跳过空白区域,还能边复制边压缩。但它不是万能的: 支持
ext2/3/4
、
xfs
、
btrfs
、
ntfs
等,但
zfs
和
f2fs
需确认版本(如
partclone.f2fs
在较新发行版中才内置) 备份前必须
umount
或至少
fsfreeze -f
冻结文件系统,否则可能 inconsistent 压缩用
-C
参数(默认gzip),想更快可用
-j4
开4线程,但别用
-C
+
-j
组合——部分旧版会崩溃 示例:
sudo partclone.ext4 -c -s /dev/sda2 -o backup.pcl -C -j2
,还原时把
-c
换成
-r
为什么用
mkisofs
或
genisoimage
打包目录后无法启动 这两个工具只生成标准ISO 9660文件系统,本身不具备引导能力。要可启动,必须满足三个硬性条件: Docker Desktop(linux) 当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。 下载 源目录里得有合法的El Torito引导映像,通常是
isolinux.bin
或
boot/grub/efi.img
必须显式指定
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table
(BIOS模式) UEFI启动还需
-eltorito-alt-boot -e EFI/boot/BOOTx64.efi -no-emul-boot
,且
BOOTx64.efi
必须是真实有效的PE格式二进制 常见错误:
SYSLINUX not a bootable disk
——说明
-b
指向的文件不存在或不是SYSLINUX生成的;
Failed to load EFI image
——
BOOTx64.efi
路径错或签名不被固件接受
mondo
配置里最容易被忽略的三个点
mondo
自动化程度高,但关键路径和策略必须手动确认,否则还原时才发现缺东西:
-d /backup
指定的备份目录,必须是独立挂载点(不能是
/home/backup
),且剩余空间要 ≥ 1.5倍系统已用空间(含压缩冗余)
-E "/tmp|/proc|/sys|/dev"
排除列表必须包含所有虚拟文件系统,漏掉
/dev
会导致备份中混入设备节点,还原时可能触发udev冲突 若系统用了LVM thin pool或Btrfs子卷,
mondoarchive
默认不识别,得加
-x
参数并手动写
--exclude-fstab
规则,否则备份会跳过这些逻辑卷 真正麻烦的从来不是“怎么生成一个镜像”,而是“还原时能不能从第一行引导日志开始就不出错”。
dd
和
partclone
适合单机快速兜底,
mondo
适合多服务器统一策略,而
mkisofs
只该出现在你明确知道自己在构建安装介质的场景里——把它当系统备份工具,等于拿螺丝刀当锤子使。

相关文章