Ubuntu文件系统快照功能使用教程
文件系统快照是系统或数据某一时刻的静态映像,可用于快速恢复误操作、系统崩溃等问题。Ubuntu中实现快照的功能主要有LVM、Btrfs、Timeshift三种方式,以下是详细教程:
LVM(逻辑卷管理)是Ubuntu中常用的快照技术,需提前确认系统已使用LVM(可通过sudo lvscan
查看逻辑卷)。
使用lvcreate
命令创建快照,需指定快照名称、大小及关联的逻辑卷:
sudo lvcreate -s -L 10G -n my_snapshot /dev/mapper/ubuntu--vg-root
-s
:表示创建快照;-L 10G
:快照大小(需根据逻辑卷数据变化量预留,建议至少10%的源卷容量);-n my_snapshot
:快照名称(自定义);/dev/mapper/ubuntu--vg-root
:源逻辑卷路径(通过sudo lvdisplay
查看)。创建后,可将快照挂载到指定目录访问:
sudo mkdir /mnt/snapshot # 创建挂载点
sudo mount /dev/mapper/ubuntu--vg-my_snapshot /mnt/snapshot # 挂载
挂载后,可通过/mnt/snapshot
查看快照中的文件(与源卷一致)。
若需恢复数据,可直接将快照中的文件复制到源卷(需卸载快照):
sudo umount /mnt/snapshot # 卸载快照
sudo cp -r /mnt/snapshot/home/user/Documents /home/user/ # 示例:恢复Documents目录
或直接覆盖源卷(需谨慎,可能导致数据丢失):
sudo mount /dev/mapper/ubuntu--vg-my_snapshot /mnt/snapshot
sudo rsync -aAXv /mnt/snapshot/ / # 同步快照到根目录
不再需要时,卸载并删除快照以释放空间:
sudo umount /mnt/snapshot # 卸载
sudo lvremove /dev/mapper/ubuntu--vg-my_snapshot # 删除快照
删除前需确认快照未被使用。
Btrfs原生支持快照功能,需确认文件系统为Btrfs(可通过df -T
查看文件系统类型)。
使用btrfs subvolume snapshot
命令创建,需指定源子卷和目标快照路径:
sudo btrfs subvolume snapshot /source/subvolume /destination/snapshot
示例:为/home
子卷创建快照:
sudo btrfs subvolume snapshot /home /home/snapshot_20250927
该命令会快速生成快照(几乎无IO延迟)。
sudo mount -o ro /dev/sdXY /mnt/snapshot # 挂载为只读(避免误修改)
sudo mount -o rw /dev/sdXY /mnt/snapshot # 挂载为可写
sudo rsync -aAXv /mnt/snapshot/ /home/ # 同步快照到源目录
或直接覆盖子卷:
sudo btrfs subvolume delete /home # 删除原子卷
sudo mv /home/snapshot_20250927 /home # 将快照重命名为原子卷
sudo btrfs subvolume delete /destination/snapshot
删除快照不会影响源数据。
Timeshift是基于rsync或Btrfs的图形化系统快照工具,适合新手使用(支持自动计划、增量备份)。
sudo apt update
sudo apt install timeshift
首次运行时,需完成以下设置:
RSYNC
(兼容性好)或BTRFS
(更高效,需Btrfs文件系统);/tmp
、/cache
等临时目录,减少快照大小。打开Timeshift,点击顶部菜单栏的“创建”按钮,输入快照描述(如“Pre-Update Backup”),等待完成即可。
/
);