Linux快照备份思路_LVM与文件系统结合解析【教程】

7次阅读

LVM 快照结合文件系统特性可实现原子级一致备份:一、创建只读快照并校验挂载;二、冻结文件系统后创建快照;三、用 dmsetup 直接映射块设备备份;四、rsync 增量同步至远程存储。

Linux 快照备份思路_LVM 与文件系统结合解析【教程】

如果您希望在 Linux 系统中实现快速、一致的备份,LVM 快照结合文件系统特性可提供原子级的一致性视图。以下是基于 LVM 逻辑卷管理器与底层文件系统协同工作的快照备份操作思路:

一、创建 LVM 快照并挂载为只读备份源

LVM 快照利用写时复制(COW)机制,在原始逻辑卷数据未被修改前保留其某一时刻的块级状态,配合文件系统一致性(如 ext4 的 journal 已提交、XFS 的 log 已刷盘),可确保快照内文件系统结构完整可用。

1、确认目标逻辑卷处于活动状态且所属卷组有足够剩余空间(建议预留≥20% 原始 LV 大小的空间用于快照写入)。

2、执行命令创建只读快照逻辑卷:lvcreate -L 5G -s -n snap_backup /dev/vg0/lv_root(其中 5G 为快照大小,vg0 为卷组名,lv_root 为原逻辑卷名)。

3、使用e2fsck -f /dev/vg0/snap_backup(ext4)或xfs_repair -n /dev/vg0/snap_backup(XFS)验证快照内文件系统无结构性错误。

4、创建挂载点并以只读方式挂载快照:mkdir /mnt/snap && mount -o ro /dev/vg0/snap_backup /mnt/snap

二、冻结文件系统后创建 LVM 快照

对于不支持在线一致性校验或存在高 IO 写入风险的场景,可先暂停文件系统写入,再创建快照,从而规避 COW 期间元数据变更导致的潜在不一致。

1、对 ext4 文件系统执行冻结:tune2fs -O journal=none /dev/vg0/lv_root && e2fsck -f /dev/vg0/lv_root(仅限离线操作,需提前卸载)。

2、若为 XFS 文件系统且运行于已挂载状态,执行:xfs_freeze -f /mount/point(冻结用户空间写入)。

3、立即执行 LVM 快照创建:lvcreate -L 3G -s -n frozen_snap /dev/vg0/lv_root

4、解冻文件系统:xfs_freeze -u /mount/point(XFS);ext4 无需解冻,但需重新启用日志:tune2fs -j /dev/vg0/lv_root

三、使用 dmsetup 直接映射快照设备进行裸设备备份

绕过文件系统挂载层,通过 device-mapper 接口直接访问快照设备,适用于需要块级镜像、加密导出或跨平台恢复的场景,避免挂载引发的权限与 编码 解析干扰。

1、查询快照设备主次设备号:dmsetup info -c | grep snap_backup

2、获取对应 /dev/mapper 路径:ls -l /dev/mapper/ | grep snap_backup

3、使用 dd 执行零压缩块拷贝:dd if=/dev/mapper/vg0-snap_backup of=/backup/lv_root.snap bs=1M conv=noerror,sync

4、校验快照设备完整性:md5sum /dev/mapper/vg0-snap_backupmd5sum /backup/lv_root.snap 比对。

四、结合 rsync 同步快照挂载内容至远程存储

在快照挂载后,利用 rsync 增量同步能力,将只读文件树高效传输至 NFS、SSH 或 S3 兼容存储,兼顾一致性与带宽利用率,适合周期性备份策略。

1、确保远程目标目录可写且 SSH 密钥已配置免密登录(若使用 ssh 协议)。

2、执行归档同步命令:rsync -aHAX –delete-after –numeric-ids /mnt/snap/ user@backup-server:/backup/linux-root-$(date +%Y%m%d)/

3、添加 –exclude 参数跳过临时文件与缓存目录:–exclude=’/tmp/’ –exclude=’/var/cache/’ –exclude=’/proc/’ –exclude=’/sys/’

4、同步完成后卸载快照:umount /mnt/snap,随后删除快照卷:lvremove -f /dev/vg0/snap_backup

text=ZqhQzanResources