一、为什么选择 Veeam

在选择备份方案时,需要考虑以下因素:

方案裸机恢复增量备份空间效率适用场景
rsync不支持支持文件同步
Timeshift不支持支持系统快照
dd 镜像支持不支持完整磁盘克隆
Veeam支持支持企业级备份

Veeam 的优势:

  • 支持完整的裸机恢复(Bare-metal Restore)
  • 智能 block-level 备份,只备份已用块并压缩
  • 支持 SMB/NFS 网络存储作为备份目标
  • 提供图形化配置界面(TUI)
  • 免费版功能足够个人和小型团队使用

二、环境准备

1. 系统要求

  • 操作系统:Ubuntu 24.04 LTS(已安装)
  • 权限:需要 root 或 sudo 权限
  • 存储:NAS 或其他支持 SMB/NFS 的网络存储设备

2. 安装 SMB 支持

如果备份目标是 SMB 共享,需要安装 cifs-utils

sudo apt install cifs-utils

3. 准备备份目标

在 NAS 上创建备份目录,并确保:

  • 创建专用备份账号(非管理员权限)
  • 创建备份目录结构,如 veeam-backup/<主机名>
  • 确保账号对该目录有读写权限

三、下载和安装 Veeam

1. 下载官方仓库包

访问 Veeam Agent for Linux 官方下载页面

下载流程:

  1. 点击 Download Free Agent 按钮
  2. 根据提示填写注册信息(首次下载需要注册 Veeam 账号)
  3. 在下载页面选择 Veeam Agent for Linux
  4. 下载适用于 Debian/Ubuntu 的仓库包文件

下载的文件名格式如下(版本号可能不同):

veeam-release-deb_13.0.1_amd64.deb

将文件保存到 ~/Downloads 目录。

2. 安装仓库包

使用 apt install 命令安装本地 deb 包,该方式会自动处理依赖关系:

cd ~/Downloads
sudo apt install ./veeam-release-deb_13.0.1_amd64.deb

命令解释:

  • apt install ./:安装本地 deb 包,使用 ./ 前缀表示当前目录下的文件
  • 相比 dpkg -iapt install 会自动解决依赖问题
  • 该包会将 Veeam 官方软件源添加到系统的 /etc/apt/sources.list.d/ 目录

预期输出:

Reading package lists... Done
Building dependency tree... Done
...
Setting up veeam-release-deb (13.0.1) ...

3. 更新软件源索引

安装仓库包后,需要更新软件源索引以获取 Veeam 软件包信息:

sudo apt update

预期输出(部分):

Get:1 https://repository.veeam.com/backup/linux/agent/dpkg/debian/x86_64 noble InRelease
...
Reading package lists... Done

如果看到 Veeam 仓库的获取信息,说明仓库包安装成功。

4. 安装 Veeam Agent 及依赖

sudo apt install blksnap veeam

命令解释:

  • blksnap:Veeam 使用的 block-level 快照驱动模块,用于在备份时创建一致性快照
  • veeam:Veeam Agent for Linux 主程序,包含命令行工具和 TUI 界面

安装过程说明:

安装过程中会自动执行以下操作:

  1. 下载并安装 Veeam Agent 及其依赖包
  2. 构建 DKMS 内核模块(blksnap 驱动)
  3. 加载快照驱动到内核

预期输出(部分):

Setting up blksnap-dkms (2.4.0.27) ...
Building initial module for 6.8.0-xx-generic
Done.
blksnap.ko:
Running module version sanity check.
...
Setting up veeam (6.3.0.101) ...

注意:如果系统内核更新后,DKMS 会自动为新内核重新编译 blksnap 模块。

5. 验证安装

确认 Veeam 安装成功:

sudo veeamconfig --version

预期输出:

v13.0.1.94

验证 blksnap 内核模块是否加载:

lsmod | grep blksnap

预期输出:

blksnap               xxx  0

如果没有输出,可以手动加载模块:

sudo modprobe blksnap

6. 启动 Veeam 服务

Veeam Agent 服务通常会自动启动,可以验证服务状态:

sudo systemctl status veeamservice

预期输出(部分):

● veeamservice.service - Veeam Agent for Linux
     Loaded: loaded (/lib/systemd/system/veeamservice.service; enabled)
     Active: active (running) since ...

如果服务未启动,手动启动并设置开机自启:

sudo systemctl start veeamservice
sudo systemctl enable veeamservice

四、配置备份任务

1. 启动图形化配置界面

sudo veeam

进入 Veeam 的 TUI(文本用户界面)配置界面。

2. 创建新备份任务

按 C 键创建新任务(Create Job),输入任务名称:

Job name: <主机名>

3. 选择备份模式

选择 Entire Machine(整机备份):

(X) Entire Machine

该模式将备份整个系统盘,包括:

  • EFI 分区(/boot/efi
  • 根分区(/
  • 支持裸机恢复

4. 选择备份卷

选择要备份的磁盘,通常是系统盘:

nvme0n1

5. 配置备份目标(SMB)

选择 Shared folder 作为备份目标类型,填写 SMB 连接信息:

配置项示例值
服务器192.168.5.5
共享文件夹share-name/veeam-backup/<主机名>
用户名backup-user
密码<SMB账号密码>
Retention14 days

注意事项:

  • 共享文件夹路径不要以 / 开头
  • 建议使用专用备份账号,避免使用管理员账号
  • Retention 设置保留的恢复点数量

6. 配置备份计划

设置每日自动备份时间:

Daily at 06:00

勾选所有工作日。

7. 确认并完成

查看配置摘要:

Job name: <主机名>
Destination: //192.168.5.5/share-name/veeam-backup/<主机名>
Volumes: nvme0n1
Schedule: Every day at 06:00
Retention: 14 days

按 Finish 完成配置。首次备份会自动创建全量备份(.vbk 文件)。


五、备份机制详解

1. 备份文件类型

文件扩展名说明
.vbk全量备份文件(Full Backup)
.vib增量备份文件(Incremental Backup)
.vbm备份元数据文件

2. 备份链结构

Full (vbk)
 ├── Incremental (vib) - Day 2
 ├── Incremental (vib) - Day 3
 ├── Incremental (vib) - Day 4
 └── ...

3. Retention 策略

以 14 天保留策略为例:

  • 保留最近 14 个恢复点
  • 超过保留期限后,自动删除旧的备份链
  • 删除旧链后,自动创建新的全量备份

4. 备份效率

Veeam 使用智能 block-level 备份技术:

  • 只备份已使用的磁盘块
  • 自动压缩数据
  • 例如:953GB 磁盘(使用 134GB)可能只生成约 40GB 的备份文件

六、常用管理命令

1. 任务管理

# 列出所有备份任务
sudo veeamconfig job list

# 手动启动增量备份
sudo veeamconfig job start --name "<任务名>"

# 手动启动全量备份
sudo veeamconfig job start --name "<任务名>" --full

# 查看任务日志
sudo veeamconfig log --job "<任务名>"

2. 备份管理

# 列出所有恢复点
sudo veeamconfig backup list

# 停止挂载的恢复会话
sudo veeamconfig session stop --mount

3. 图形界面

# 启动 TUI 界面
sudo veeam

七、文件恢复(Recover Files)

当需要恢复误删文件或旧版本文件时,可以使用文件恢复功能。

1. 启动文件恢复

sudo veeam

按 R 键选择 Recover Files

2. 选择恢复点

从列表中选择需要的恢复点(按日期选择)。

3. 访问备份文件

备份内容会挂载到 /mnt/backup/ 目录:

# 浏览备份内容
ls /mnt/backup/

# 复制需要的文件
cp /mnt/backup/home/user/document.txt ~/

4. 修复文件权限

恢复的文件可能属于 root 用户,需要修改权限:

sudo chown $(whoami):$(whoami) ~/document.txt

5. 卸载恢复挂载点

完成恢复后,卸载挂载点:

sudo veeamconfig session stop --mount

八、制作恢复介质

恢复介质(Recovery ISO)用于裸机恢复场景,强烈建议提前制作并妥善保存

1. 创建恢复 ISO

sudo veeam

选择 M(Misc)→ Create Recovery Media

生成的 ISO 文件可用于:

  • 使用 BalenaEtcher 写入 U 盘
  • 添加到 Ventoy 启动盘
  • 保存到安全位置备用

2. 注意事项

  • 建议每 3 个月更新一次恢复 ISO
  • 确保恢复 ISO 与当前 Veeam 版本兼容
  • 测试恢复 ISO 能否正常启动

九、裸机恢复流程

当系统磁盘损坏需要完整恢复时,使用裸机恢复功能。

1. 准备工作

  • 替换损坏的硬盘(容量需大于等于原盘)
  • 使用恢复 ISO 启动 U 盘

2. 恢复步骤

  1. 从 U 盘启动进入恢复环境
  2. 选择 Bare-metal Recovery
  3. 连接 SMB 备份库(输入服务器地址和凭据)
  4. 选择要恢复的恢复点
  5. 选择 Entire Machine Restore
  6. 确认目标磁盘(系统会自动重建分区表)
  7. 等待恢复完成
  8. 重启系统

3. 恢复结果

  • 系统与备份时完全一致
  • 所有分区(GPT/EFI/root)自动重建
  • 应用程序和配置全部保留

十、验证备份可恢复性

定期验证备份是否可恢复是运维的最佳实践。

验证方法

  1. 使用恢复 ISO 启动(可使用虚拟机测试)
  2. 进入恢复流程
  3. 连接备份库并选择恢复点
  4. 到分区确认步骤时按 Cancel 取消

如果能够看到正确的分区布局信息,说明备份数据完整可恢复。


十一、排除大数据目录

如果有大型数据目录(如 Docker 数据、项目文件)不需要随系统备份,可以将其迁移到独立磁盘。

方案

  1. 将大数据目录(如 /home/user/docker/home/user/project)迁移到独立磁盘
  2. 使用 bind mount 挂载回原路径
  3. Veeam 只备份系统盘,不会包含独立磁盘的内容

配置示例

编辑 /etc/fstab

/mnt/data/docker    /home/user/docker    none    bind    0    0
/mnt/data/project   /home/user/project   none    bind    0    0

十二、最佳实践

日常维护建议

  • 每月手动触发一次全量备份
  • 每 3 个月更新恢复 ISO
  • 每半年模拟恢复一次,验证备份有效性
  • 监控备份任务执行状态

空间管理

  • 定期检查备份目标存储空间
  • 磁盘空间不足时,可适当缩短 Retention 周期
  • 清理不需要的旧备份

十三、常见问题

Q:为什么全量备份文件比磁盘容量小很多?

A:Veeam 使用 block-level 备份,只备份已使用的磁盘块,并进行压缩。例如 953GB 磁盘(使用 134GB)可能只生成约 40GB 的备份文件。

Q:能否恢复到空白新硬盘?

A:完全可以。裸机恢复功能会自动重建分区表和所有分区。

Q:增量备份链中删除了某个文件怎么办?

A:Veeam 会在备份链中正确记录文件删除操作。你可以选择文件删除之前的恢复点来恢复该文件。

Q:SMB 连接失败怎么办?

A:检查以下项目:

  • 确保安装了 cifs-utils
  • 确认 NAS 的 SMB 服务已启用
  • 检查用户名和密码是否正确
  • 确认网络连通性(可用 ping 测试)

十四、命令速查表

# 图形界面
sudo veeam

# 任务管理
sudo veeamconfig job list
sudo veeamconfig job start --name "<任务名>"
sudo veeamconfig job start --name "<任务名>" --full

# 日志查看
sudo veeamconfig log --job "<任务名>"

# 备份管理
sudo veeamconfig backup list
sudo veeamconfig session stop --mount

# 版本查看
sudo veeamconfig --version

总结

通过本教程,你已经完成了 Veeam Agent for Linux 的完整配置:

  • 安装配置:成功安装 Veeam 并配置了 SMB 备份目标
  • 自动备份:设置了每日自动增量备份计划
  • 恢复能力:掌握了文件恢复和裸机恢复的操作方法
  • 维护技能:了解了日常管理命令和最佳实践

Veeam 提供了企业级的备份恢复能力,配合 NAS 存储可以实现可靠的系统保护。建议定期验证备份的可恢复性,确保在需要时能够顺利恢复系统。

参考资源

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐