如何备份和恢复Linux系统

xwbar的头像
2025-11-28 19:40:29
/
世界杯比赛赛程

Linux系统的备份和还原

如果想在linux上实现操作系统级别的文件版本管理,有了这个功能就可以快速恢复到某个状态,该如何实现?

在Linux上实现操作系统级别的文件版本管理(类似系统快照或时光机功能),可以通过以下几种方案实现:

使用支持快照的文件系统

Btrfs 或 ZFS 是支持快照功能的现代文件系统:

◦ Btrfs(推荐):

# 创建子卷(Btrfs的核心功能)

sudo btrfs subvolume create /mydata

# 创建快照

sudo btrfs subvolume snapshot /mydata /mydata_snapshot_20231001

# 将快照传输到备份服务器

btrfs send /mydata_snapshot_20231001 | ssh backup-server "btrfs receive /backups"

# 恢复快照

sudo mv /mydata /mydata_broken && sudo mv /mydata_snapshot_20231001 /mydata

◦ ZFS(适合服务器):

sudo zfs create pool/mydata

sudo zfs snapshot pool/mydata@20231001

sudo zfs rollback pool/mydata@20231001

优点:快照是原子操作,性能高,占用空间少(写时复制)。

缺点:需格式化磁盘或迁移数据到新文件系统。

LVM(逻辑卷管理)快照

如果使用LVM管理磁盘,可以创建临时快照:

# 创建快照(需预留空间)

sudo lvcreate --size 10G --snapshot --name mysnap /dev/vg00/lv_root

# 恢复快照

sudo lvconvert --merge /dev/vg00/mysnap

优点:兼容大多数Linux发行版,无需更换文件系统。

缺点:快照是临时性的,合并后消失;需提前分配空间。

增量备份工具

rsync + 版本控制:

# 增量备份到带时间戳的目录

rsync -a --link-dest=/backups/previous_backup /source/ /backups/backup_$(date +%Y%m%d)

Restic/Borg(加密/去重):

restic系统整体备份理论上也行,关键在于梳理出哪些是不备份的,比如 /dev /proc /run /sys等。

restic backup --exclude="*.tmp" /home

restic restore latest --target /recovery

优点:灵活,支持远程备份。

缺点:非实时,恢复速度较慢。

系统级工具

Timeshift(基于Btrfs/rsync):

sudo timeshift --create --comments "Before update"

sudo timeshift --restore --snapshot "2023-10-01_12:00:00"

优点:图形界面,适合桌面用户。

缺点:默认仅备份系统文件(可配置)。

OverlayFS + 版本控制

通过叠加层实现版本管理:

mount -t overlay overlay -o lowerdir=/base,upperdir=/changes,workdir=/work /merged

优点:适合容器或临时修改。

缺点:需手动管理层次。

Git + 忽略规则

对配置文件或小规模数据使用Git:

cd /etc

sudo git init

sudo git add .

sudo git commit -m "Initial config"

优点:精确到行级变更。

缺点:不适合大文件或二进制文件。

选择建议:

桌面用户:Btrfs + Timeshift(简单易用)。

服务器:ZFS/LVM + 自动化脚本(稳定可靠)。

开发环境:Git + 钩子脚本(精细控制)。

⚠️ 注意:任何方案都应先测试再用于生产环境,避免数据丢失!

一般来说,一台高性能(高CPU、高内存、超大容量存储)的服务器(比如1U的机架式服务器)在一般的中小企业都是多用途的,上面以很多种方式部署和配置了多种应用和设置,比如配置众多,有标准应用部署(通过包管理器安装),也有非标准部署(容器、编译安装、自定义打包的包)。而且这样的高性能服务器一般容量很大,如果备份在本地,那么预计有一半的存储空间将无法发挥和利用。这样的服务器在正式投入使用前应该如何考虑备份和还原呢?请从标准化、风险隔离、资源利用率、最佳实践等角度去分析,并且需要考虑到影响备份和还原的一些因素,比如部署形式、存储位置、存储使用规划、文件系统选型等等,提供一个全面、细致的回答。

现代服务器备份系统需要考虑多个层次的保护需求,包括操作系统层、应用程序层以及数据层。

主机环境包括:操作系统、应用程序和配置文件等。

备份类型分为:全量备份、增量备份、差异备份和快照备份等。

存储层:分为本地存储、异地存储和云存储。

关键因素:

统一规范部署

维护好文档

恢复演练

文件系统选择建议

高可靠性选项:

XFS(适合大容量存储)

ZFS(提供内置快照功能)

Btrfs(支持写时复制)

特定场景考虑:

小文件系统:Ext4

大文件存储:XFS

需要快照功能:ZFS/Btrfs

男生男生配
微信教程:如何在微信群中发起直播,与群友实时分享内容