ITADN
veeam/blksnap
veeam/blksnap · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
:warning: 重要说明
Master 分支仅与最新的 upstream kernel integration 工作兼容。有关 Linux 内核的补丁集,请参阅目录 patches 或 Linux 内核分支 branches 中的内容。
:information_source: 独立 blksnap 模块
包含在 Veeam Agent for Linux 产品中的独立 blksnap 内核模块,可在 branches 中获取,其名称与产品版本相对应。例如,VAL-6.0 分支用于构建 Veeam Agent for Linux 6.0 的软件包。建议使用最新的分支,其名称与 Veeam Agent for Linux 的当前最新 release 相对应。该分支很可能支持最新版本的 Linux 内核,并实现修复和改进。您可以根据其许可证使用它。
:information_source: 致 Veeam Agent for Linux 用户:
如果您在使用 Veeam Software 产品时有任何疑问,请联系官方支持服务。请按照用户指南使用从官方 Veeam Software 代表处获取的产品组件。

BLKSNAP - 块设备快照

仓库结构

  • doc/ - 文档
  • include/ - 库的公共头文件
  • lib/ - 库的源代码
  • patches/ - 上游 Linux 内核的补丁
  • pkg/ - 用于构建 deb 和 rpm 包的脚本
  • tests/ - 测试脚本和测试源代码
  • tools/ - 用于操作 blksnap 的工具的源文件

许可证

内核模块仅限 GPL-2,工具和测试为 GPL-2+,库和 include 为 LGPL-3+。

Copyright (C) 2022 Veeam Software Group GmbH

本项目在源文件头部使用 SPDX 许可证标识符

内核集成

有关在上游内核中集成工作的详细信息,请参阅 特定的 README

工具

blksnap 工具允许您从命令行管理该模块。 该程序允许执行 blksnap 模块的单个 ioctl。 该程序的接口对用户来说可能不太方便, 因为它假定将由其他应用程序调用。

如何构建

参见 如何构建库、工具和测试

动态 C 库对于使用 blksnap 并非必需。文件 ./include/blksnap/blksnap.h 包含了使用 blksnap 所需的一切。 但为了演示如何调用 ioctl,创建了一个静态 c++ 库。 该库还可以帮助您快速创建一个可工作的原型。 在项目中,该库用于测试。

如何构建

参见 如何构建库、工具和测试

测试

测试脚本使用 bash 编写,并利用 blksnap 工具来控制 blksnap 模块。测试脚本可用于检查该模块的主要功能。为实现复杂的测试算法,已实现 C++ 测试。 C++ 测试使用静态库 libblksnap.a,并且必须编译该库 才能构建 C++ 测试。

如何构建

参见 如何构建库、工具和测试

如何运行所有使用测试

# change working directory to the tests one, for example for debian package is /opt/blksnap/tests
cd /opt/blksnap/tests
# execute all tests script
sudo ./all.sh
# or for logging the output to a file
sudo ./all.sh 2>&1 | tee -a /tmp/blksnap_test_$(date -u '+%Y-%m-%d_%H-%M-%S').log

如何构建库、工具和测试

安装必要的 deb 软件包。

sudo apt install g++ cmake uuid-dev libboost-program-options-dev libboost-filesystem-dev libssl-dev

或者安装必要的 rpm 软件包。

sudo yum install g++ cmake libuuid-devel boost-static libstdc++-static openssl-static

构建。

cmake .
make

安装(但建议改用软件包,例如 debian 的软件包)

sudo make install

卸载(如有需要)

sudo make uninstall

如何创建 dev、工具和测试的 deb 软件包

sudo apt install g++ cmake uuid-dev libboost-program-options-dev libboost-filesystem-dev libssl-dev debhelper
cd ./pkg/deb
./build-blksnap.sh ${VERSION}

兼容性说明

  • 针对上游内核的 blksnap 内核模块可支持任何架构(X86 架构以外的其他架构需要更多测试)
  • 所有受支持的 debian 和 ubuntu 版本均受支持,但有一些注意事项:
    • debian 8 和 ubuntu 14.04 需要从 backports 安装 cmake 3 才能构建