信息发布→ 登录 注册 退出

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

发布时间:2026-01-04

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

如果您希望在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

标签:# ssh  # 跳过  # 仅限  # 并以  # 管理器  # 不支持  # 镜像  # 适用于  # 如果您  # 离线  # 文件系统  # linux  # delete  # var  # 接口  # date  # if  # linux系统  # ai  # app  # 编码  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!