🛡️ Arch Linux 不死指南:PVE 集群里的"时光机"备份术
"滚动更新一时爽,系统崩溃火葬场" —— 每个 Arch 玩家的深夜顿悟
如果你也在 PVE 集群里跑 Arch Linux,那你一定懂那种既想追新又害怕的心情。
今天咱们不聊哲学,直接上干货:怎么用 PVE 的快照 + 备份,给你的 Arch 上一道"复活甲"。
🎮 为什么 Arch 特别需要"时光机"?
Arch 是滚动发行版——没有版本号,只有永远的 pacman -Syu。这意味着:
传统发行版可以"回退到上个版本",但 Arch 没有"上个版本"。所以文件系统级快照就是你的救命稻草。
好消息是:PVE 集群天生自带快照能力,配合 Arch 内部的备份策略,能构建双重保险。
🏗️ 三层防护体系(从快到慢)
想象你的 Arch 是一栋大楼,我们需要三道门:
第一层:PVE 实时快照(秒级回滚)
适用场景:更新前手贱、配置改崩了、想测试危险操作
# 在 PVE 节点执行,给 VM 100 创建快照
qm snapshot 100 pre_big_update --description "升级内核前,保佑别炸"
关键技巧:
- • 命名要语义化:
pre_nvidia_driver、before_kde6_migration - • 大更新前必拍:kernel、systemd、mesa、显卡驱动
- • 保留策略:自动快照保留 5 个,手动快照长期保留
# 自动清理旧快照脚本(丢进 crontab 每天跑)
qm listsnapshot 100 | grep "^auto_" | head -n -5 | \
whileread snap; do qm delsnapshot 100 $snap; done
回滚只需 10 秒:
qm rollback 100 pre_big_update
就像游戏读档,瞬间回到过去
第二层:PVE 异地备份(灾难恢复)
适用场景:PVE 节点挂了、硬盘炸了、机房进水了
PVE 8.0 的 vzdump 支持增量备份 + 去重,配合 Proxmox Backup Server (PBS) 堪称神器 :
# 每周全量备份到远程 PBS
vzdump 100 --mode snapshot --compress zstd \
--storage pbs-backup --notes-template "Arch-{{ctime}}"
为什么选 snapshot 模式?
- • ✅ 配合 QEMU Guest Agent,保证文件系统一致性
- • ❌ Stop 模式要关机,Suspend 模式会卡顿
3-2-1 黄金法则 :
- • 3 份数据(生产 + 本地备份 + 异地备份)
第三层:Arch 内部"包清单"(终极重建)
适用场景:系统彻底救不回来了,但想 10 分钟复活环境
在 Arch 内部装 snap-pac,让 pacman 每次更新自动创建 Btrfs 快照 :
sudo pacman -S snapper snap-pac
然后创建钩子,每次 pacman -Syu 前自动导出包列表:
# /etc/pacman.d/hooks/backup-pkglist.hook
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Backing up package list...
When = PreTransaction
Exec = /bin/sh -c 'pacman -Qqe > /var/backups/pkglist-$(date +%Y%m%d).txt'
重建系统只需两行:
# 新装机后,根据清单一键还原环境
pacman -S --needed $(cat pkglist-20260318.txt)
🚀 实战:更新前的标准动作
# 1. 在 Arch 内检查更新内容
pacman -Syup
# 2. 在 PVE 外创建快照(命名带上日期和原因)
qm snapshot 100 pre_$(date +%m%d)_kernel_6.8
# 3. 确认快照创建成功
qm listsnapshot 100
# 4. 回到 Arch,开始作死(划掉)更新
sudo pacman -Syu
# 5. 如果启动黑屏/进不去系统...
# 在 PVE 控制台:qm rollback 100 pre_0318_kernel_6.8
# 10秒后,你又是一条好汉
🛠️ 集群环境下的进阶玩法
Ceph 存储的快照加速
如果你的 PVE 集群用 Ceph 做共享存储,快照是瞬时完成的(Copy-on-Write),几乎不占空间 。但注意:Ceph 的快照备份到外部存储时,建议用 rbd export 直接导出,比 PVE 默认的 64KB 块读取快得多 。
模板化部署
配置好一套"干净"的 Arch 环境后,转成 PVE 模板:
# 关机后转模板
qm template 100
# 需要测试危险操作?克隆一个出来随便玩
qm clone 100 101 --name Arch-Test-Lab
玩崩了?删了 101 再克隆一个,本体永远安全。
📝 检查清单(贴显示器上)
| | |
| | qm snapshot pre_ |
| | |
| | Datacenter → Backup → Add |
| | |
| | pacman -Qqe > pkglist.txt |
💡 最后一句大实话
快照不是备份——如果 PVE 节点挂了,快照也跟着没。所以:
- • 包清单用于彻底重建(天级恢复,但环境 100% 还原)
三层都有,你的 Arch 才能真正随便玩,不怕崩。
"最好的备份是你测试过的备份" —— PVE 官方文档
下次 pacman -Syu 前,记得先 qm snapshot 哦!🍻