Linux分卷备份与恢复指南
分卷备份是将大容量分区或数据分割成多个小文件(分卷)的备份策略,适用于存储介质容量有限或需要分布式存储的场景。以下是常用工具及步骤:
dd命令分割分卷dd是底层磁盘复制工具,可将分区或整个磁盘分割为固定大小的镜像文件(分卷)。
lsblk或fdisk -l查看目标分区(如/dev/sda1、/dev/sda2);mkdir -p ~/backup;/dev/sda1为例,分割为1GB/卷,命令为:sudo dd if=/dev/sda1 of=~/backup/sda1_part1.img bs=1M count=1024 # 第1卷(1GB)
sudo dd if=/dev/sda1 of=~/backup/sda1_part2.img bs=1M skip=1024 count=1024 # 第2卷(跳过前1024块,继续备份)
其中,if为输入文件(源分区),of为输出文件(分卷),bs为块大小,skip为跳过的块数(后续分卷需递增),count为每卷的块数。md5sum或sha256sum对比原分区与分卷的校验值,确保数据一致。tar命令打包分卷tar是Linux常用归档工具,支持将多个文件/目录打包为分卷文件(适合备份目录结构)。
mkdir -p ~/backup;/home目录为例,分割为200MB/卷,命令为:tar -cvpzf - /home | split -b 200M - ~/backup/home_backup.tar.gz.
其中,tar的-表示输出到标准输出,split的-b指定分卷大小,-表示从标准输入读取数据,最终生成home_backup.tar.gz.aa、home_backup.tar.gz.ab等分卷文件。cat ~/backup/home_backup.tar.gz.* | tar -xvpzf - -C /(解压到根目录)。rsync进行增量分卷备份rsync是增量备份工具,仅备份修改过的文件,适合频繁更新的目录(如/home、/var)。
mkdir -p /backup/part1 /backup/part2;/home为例,排除系统目录,命令为:rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /home /backup/part1
后续增量备份时,添加--link-dest=/backup/part1参数,实现差异备份(仅复制修改的文件)。恢复分卷需根据备份方式选择对应工具,以下是常见场景的操作步骤:
dd分卷恢复若分卷是通过dd分割的,需先将所有分卷合并为完整镜像,再写入目标分区。
cat ~/backup/sda1_part*.img > ~/backup/sda1_full.img;dd将镜像写入空分区(如/dev/sdb1),命令为:sudo dd if=~/backup/sda1_full.img of=/dev/sdb1 bs=1M status=progress
③ 验证恢复:使用fsck检查文件系统完整性(如sudo fsck /dev/sdb1),然后挂载分区确认数据。tar分卷恢复若分卷是通过tar打包的,需先合并分卷再解压。
cat ~/backup/home_backup.tar.gz.* > ~/backup/home_backup.tar.gz;tar -xvpzf ~/backup/home_backup.tar.gz -C /home(-C指定目标目录)。rsync增量恢复若分卷是通过rsync备份的,只需将备份目录同步到目标位置即可(保留增量特性)。
rsync -aAXv /backup/part1/ /home/ # 将备份目录同步到/home
若需恢复增量备份,添加--link-dest=/backup/part1参数(指向上一次备份目录)。若分卷是LVM逻辑卷(如/dev/mapper/centos-root),需通过LVM工具恢复卷组和逻辑卷。
vgdisplay(查看卷组)、lvdisplay(查看逻辑卷)、pvdisplay(查看物理卷);pvcreate --uuid <原UUID> --restorefile /etc/lvm/backup/centos /dev/sdb1(<原UUID>从/etc/lvm/backup/centos中获取);vgcfgrestore -f /etc/lvm/backup/centos centos(恢复卷组配置);xfs_repair /dev/mapper/centos-root(XFS文件系统)或fsck /dev/mapper/centos-root(ext4文件系统);reboot。sync命令确保数据写入磁盘,避免数据丢失;