跳转到主内容
极星编程网:以代码为星,赴技术山海!

银河麒麟V10 (kylinos)操作教程:使用dd命令备份整个系统

必须采用底层块设备级复制方式创建银河麒麟V10系统级备份;dd命令可实现全盘bit-for-bit镜像,结合gzip压缩、partclone分区备份或rsync增量备份可提升效率与灵活性。 如果您需要在银河麒麟V10系统中创建一份可完整还原的系统级备份,则必须采用底层块设备级复制方式。dd命令因其直接读写原始磁盘扇区的能力,成为制作全盘一致镜像的可靠手段。以下是使用dd命令备份整个系统的多种可行方案: 一、使用dd命令创建完整磁盘镜像 该方法将系统盘(含MBR/GPT分区表、所有分区、引导扇区及文件系统元数据)逐扇区复制为单个镜像文件,确保bit-for-bit一致性,适用于物理机或KVM虚拟机环境。 1、打开终端,执行
lsblk
命令识别系统盘设备名,常见为
/dev/sda
、
/dev/vda
或
/dev/nvme0n1
,请 务必确认设备名无误,选错将导致数据丢失 。 2、插入外接存储设备(如USB硬盘或NAS挂载点),使用
lsblk
确认其挂载路径,例如
/mnt/backup-disk
。 3、执行dd命令进行镜像写入,示例命令如下: sudo dd if=/dev/sda of=/mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).img bs=4M status=progress conv=noerror,sync 4、镜像生成后,建议立即校验完整性: sudo md5sum /mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).img > /mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).md5 二、结合gzip压缩减少镜像体积 dd生成的镜像文件大小与源磁盘容量完全一致,若磁盘存在大量未使用空间,可通过管道实时压缩,显著节省存储空间并加快传输效率。 1、确保系统已安装gzip工具(默认已预装)。 2、执行压缩式镜像备份: sudo dd if=/dev/sda bs=4M status=progress conv=noerror,sync | gzip -c > /mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).img.gz 3、解压验证可用性(不写入磁盘): gzip -t /mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).img.gz 4、恢复时需先解压再dd: gunzip -c /mnt/backup-disk/kylin-full-$(date +\%Y\%m\%d).img.gz | sudo dd of=/dev/sda bs=4M status=progress 三、使用partclone替代dd实现智能分区级备份 partclone仅备份已使用扇区,跳过空白区域,速度更快、体积更小,且支持ext4/xfs/btrfs等主流文件系统,是dd的高效补充方案。 1、安装partclone工具: sudo apt update && sudo apt install partclone -y 2、查看根分区设备(如
/dev/sda2
)及文件系统类型: df -Th / 3、对根分区执行xfs格式备份(以xfs为例): sudo partclone.xfs -c -s /dev/sda2 -o /mnt/backup-disk/root-xfs-$(date +\%Y\%m\%d).img -N 4、备份/boot分区(通常为ext4): sudo partclone.ext4 -c -s /dev/sda1 -o /mnt/backup-disk/boot-ext4-$(date +\%Y\%m\%d).img -N 5、备份完成后, 必须同时保存分区表信息 : sudo sfdisk -d /dev/sda > /mnt/backup-disk/sda-partition-table-$(date +\%Y\%m\%d).sfdisk 四、通过rsync实现文件级增量备份作为补充方案 rsync不替代dd的全盘一致性保障,但可作为日常高频备份手段,保留历史版本、支持排除临时目录,并大幅降低I/O压力。 1、创建专用备份目录并设置权限: sudo mkdir -p /mnt/backup-disk/rsync-root-$(date +\%Y\%m\%d) && sudo chown root:root /mnt/backup-disk/rsync-root-$(date +\%Y\%m\%d) 2、执行带排除策略的同步: sudo rsync -aAXv --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/backup-disk/*"} / /mnt/backup-disk/rsync-root-$(date +\%Y\%m\%d)/ 3、为防止覆盖,启用硬链接保留多日快照: sudo rsync -aAXv --delete --link-dest=/mnt/backup-disk/rsync-root-$(date -d "yesterday" +\%Y\%m\%d) --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/backup-disk/*"} / /mnt/backup-disk/rsync-root-$(date +\%Y\%m\%d)/ 4、 每次运行前请确认目标路径末尾有斜杠,否则行为异常 。

相关文章