Linux 快照技术对比(lvm、timeshift、rsnapshot)
发布时间:2026/10/16 2:44:02 锦皓数字建站
`)
一、场景需求1、机器借用需要定格当前系统环境便于在后续调试后恢复被污染的环境2、调试中如果造成系统环境崩溃能够快速恢复二、技术对比1、LVM快照卷1.1 概念个人白话原理理解我买了很多东西把卧室塞满了后来我又买了很多东西必须也要放卧室那么就得把原来占地那块的东西放到客厅然后再把新东西放到那个位置恢复快照指的就是将东西从客厅放回去而新买的不要了而快照在什么情况下会失效呢那就是当客厅满了但是新东西又必须放卧室就只能丢弃客厅里的东西了技术话说的话就是把客厅当成快照卷卧室是原逻辑卷东西就是数据当新数据要落在原数据的那块区域的时候就得把原来的数据移动到分配出来的快照卷空间中以便于能恢复但快照卷达到100% 则快照失效无法恢复1.2 使用该方法只能应用于LVM逻辑卷要建立快照卷需要卷组中还有一定的存储空间由此图可见centos-root 为我们的主卷卷组中还有32G可用来分配-- 1.2.1 创建快照卷# 创建快照卷 # 参数说明: -s 表示快照 -L 指定大小 -n 指定名称 /dev/mapper/centos-root 指定原卷 lvcreate -s -L 20G -n snap /dev/mapper/centos-root上图可以看出我们的快照名称为snapData% 为0.1 当此数达到100% 的时候快照将失效。当新数据写入的时候未覆盖到原来数据的那块区域则该数不会上涨只有冲突的时候才会将原卷内容拷贝到快照卷创建快照后我们试着在当前主机发生一些改变如在当前目录下写一个hellolvm的文件echo hello,lvm ceshi.txt cat ceshi.txt-- 1.2.2 删除快照卷如果我们决定保留当前状态可以选择删除快照卷lvremove /dev/mapper/centos-snap-- 1.2.3 恢复快照如果我们决定恢复先前状态可以选择合并快照卷因为我这里的原卷是系统卷centos-root 所以合并后需要重启才能生效lvconvert --merge /dev/mapper/centos-snap示例中重启后发现快照卷没了并且后来新增的文件也没了这就是LVM快照卷的基本使用2、Timeshift2.1 概念被AI和大伙称之为系统时光机类似于Windows的系统还原点可以通过图形化或者命令行两种方式进行控制自带计划任务、默认不操作用户目录如/root 和 /home下的用户如simpole但是我们可以将他们配置备份从不包含到包含支持多种备份模式有rsync和Btrfsrsync 适用于ext4、xfslvm这种文件系统第一次快照的时候会创建当前使用量的全量备份之后都是增量且使用硬链接的方式节省了存储空间。备份后的数据可以迁移到他机进行还原。而btrfs适用于btrfs的文件系统如果根分区是 Btrfs会利用原生写时复制CoW功能创建秒级快照几乎不占额外空间。2.2 使用需要单独安装软件联网的环境下ubuntu: apt install -y timeshiftcentosyum install -y timeshift 需要epel源这里列出阿里巴巴开源镜像站的源根据官方给出的指令wget 然后yum install 即可Epel镜像-Epel镜像下载安装-开源镜像站-阿里云如果没有网络则需要制作离线包如何制作链接如下如何使用apt离线安装软件麒麟升级GCC_麒麟系统离线安装gcc-CSDN博客如何使用yum离线安装软件_yum install 离线安装提示repos-CSDN博客安装yum install -y timeshift为了保证能够通过SSH 的X11 能顺利打开带有图形化的软件需要检查这么几个地方1、检查SSH是否支持X11如果不是yes需要更改后重启vim /etc/ssh/sshd_config systemctl restart sshd2、检查当前用的软件是否支持X11 mobaxterm自带其他软件可能需要单独开启比如我的WindTerm就需要在会话上鼠标右键开机内部X显示然后重新连接SSH会话即可现在先检查下当前机器的磁盘使用情况 df -h我们会发现当前使用量为33G现在我们以图形化的方式打开timeshift工具timeshift-launcher首次使用的话会弹出初始化配置的菜单因为软件找不到/etc/timeshift.json 文件要生成常规选择RSYNC等待选择分区配置定时任务默认关闭如果不知道怎么弄就先Next用户目录包含确认这里我将/home/simpole 切换为了include all files 即快照要包括/home/simpole而root不计入快照最后确认我们初始化配置后就会出现配置文件/etc/timeshift.json软件页面-- 2.2.1 创建快照点击create即可SSH终端也会显示相应的进度创建完成快照可以添加描述可以通过Browse查看快照内的文件默认的快照文件在/timeshift 下如果有条件的话建议单独挂载硬盘到/timeshift 下存储快照查看磁盘的使用状态会发现/分区的大小从33G到了64G这就是timeshift的完全备份测试在/home/simpole下创建一个5G的大文件dd if/dev/zero ofbigfile_5g bs1M count5120创建新的快照速度很快因为是增量恢复到第一个快照一路下一步之后会出现一个灰色弹窗表示正在恢复请勿关闭恢复后系统将自动重启重启后回到了第一个快照的状态恢复到第二个快照等机器重启后再看效果恢复完成删除快照删除后对应的i磁盘空间也会被释放快照究竟存了哪些文件呢此时当前目录是/timeshift/snapshots/日期/localhost 即快照的目录默认排除了哪些文件呢操作日志命令行的快照列表展示timeshift --list命令行快照建立timeshift --create --comments 命令行快照建立2026-08-13 意思是一样的3、Rsnapshot3.1 概念基于rsync的Linux备份工具支持通过SSH拷贝远程机器或者本地机器的数据集中拷贝到本地的某个目录下也支持自动化调度即定时任务缺点是没有图形化页面所有的配在/etc/rsnapshot.conf中适用于集中备份的场景快照恢复也是同步指定日期内的文件数据3.2 安装和timeshift一样需要单独安装怎么准备包这里就不说了有网有源的话直接yum install -y rsnapshot 就行3.3 引用Rsnapshot 使用指南基于 Rsync 的强大 Linux 备份工具 - 系统极客三、总结本文介绍了Linux下三种快照技术的应用的功能和应用场景通过灵活使用提高了系统的稳定性和可控性、数据安全性等祝愿各位顺利完成试验有问题欢迎反馈互相学习。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。