外观
单文件恢复
恢复演练 里"场景一:只丢了几个文件"讲过一个笨办法——恢复整机到新 ID,开机(断网),把文件拷出来,再删掉临时机器。如果你的备份存在 Proxmox Backup Server 上,有更直接的做法:不用开机,直接浏览备份内容、下载需要的文件。
开始之前
- 这个功能只对存在 Proxmox Backup Server 上的备份有效。存在普通目录存储、NFS 上的 vzdump 备份不支持,仍然要走 恢复演练 场景一那条路。
- 还没有 PBS?见 Proxmox Backup Server 是什么 和 部署 Proxmox Backup Server。
- 需要对目标存储有相应的读取权限。
操作步骤
- Web UI:
数据中心 → 存储 → 选中你的 PBS 存储 → Backups,找到要恢复的客户机和快照。 - 选中某个快照,点 File Restore。
- 根据客户机类型,看到的层级不一样:
- 容器:顶层直接列出 pxar 归档,可以像普通文件管理器一样自由浏览目录结构。
- 虚拟机:顶层列出的是磁盘镜像,点进去能看到分区(例如显示为
part)。官方文档提示"对虚拟机而言,不一定所有数据都能访问到"——客户机用了 PBS 不认识的文件系统(比如某些少见的格式,或者磁盘做了加密)时,可能进不去。
- 找到需要的文件后点 Download:单个文件直接下载;选中一个目录会现场打包成 zip 再下载,稍等一下压缩过程。
背后发生了什么
PBS 会在后台拉起一台隐藏的临时虚拟机来读取备份镜像的内容,这样宿主机本身不用直接解析可能来路不明的镜像数据,是一层安全隔离。这台临时机器闲置一段时间后会自动停止,不用手动管。每次读取的日志写在 /var/log/proxmox-backup/file-restore/,排查问题时可以看这里。
检查结果
- 下载到的文件内容和你记忆中的版本一致(如果不确定,对照 恢复演练 里"留时间标记"的做法,提前在源客户机里放一个带时间戳的文件,方便日后验证拿到的是哪个时间点的数据)。
- 目录下载解压后,文件结构和权限位(如果重要)符合预期。
常见问题
存储的 Backups 页面里根本没有 File Restore 按钮。 说明这份备份不在 PBS 上,这个功能只支持 PBS 存储。改用 恢复演练 场景一的整机恢复再拷贝的办法。
点进某个分区后是空的,或者报错打不开。 客户机用的文件系统 PBS 解析不了,或者这块磁盘本身加了密(比如 LUKS)。这种情况只能整机恢复到一个新 ID,在客户机内部挂载后再读取。
下载一个目录等了很久。 目录是在服务端现场打包成 zip 再传给你的,目录越大等待时间越长,属于正常现象。
能不能恢复加了客户端加密的备份里的文件? 可以,前提是执行 File Restore 的这一侧能拿到对应的解密密钥,见 客户端加密与密钥管理。