key2peace/xva-tool

GitHub: key2peace/xva-tool

xva-tool 是一款专为 Citrix XenServer/XCP-ng 设计的零拷贝流式 XVA 虚拟机镜像处理工具,解决大规模虚拟磁盘提取、转换与远程迁移中的存储 I/O 瓶颈问题。

Stars: 0 | Forks: 0

# xva-tool 一款专为 Citrix XenServer 和 XCP-ng 虚拟机架构设计的未压缩 XVA 容器处理工具。该框架支持高速数据提取、实时转换以及无需本地文件缓存的恢复选项。 ## 功能 * **零拷贝提取:** 利用按位偏移导航,通过 `f.seek()` 直接定位并读取 tarball 结构内的磁盘扇区。 * **流驱动架构:** 处理大型虚拟磁盘时无需将中间文件写入磁盘,最大程度减少本地存储 I/O 占用。 * **咨询锁定:** 通过 `fcntl.flock` 实现内核级咨询锁,确保并发处理期间的文件完整性。 * **可插拔架构:** 采用标准目录结构进行运行时扩展扫描和模块化组件验证。 * **Zstandard 压缩:** 集成原生 `zstd` 管道,优化高吞吐量存储阵列上的压缩与解压速度。 * **iSCSI 存储传输:** 使用标准 Linux `iscsiadm` 工具连接远程 SAN 存储目标,在不缓存本地磁盘的情况下路由数据块流。 * **I/O 速率限制:** 通过 `--throttle-mb` 参数强制执行带宽上限,防止生产节点出现磁盘 I/O 耗尽。 * **合并前验证:** 在执行合并例程之前,对未压缩的 XVA 容器运行非破坏性的数据块分配审计。 ## 安装与部署 该工具针对 Debian (`.deb`)、Red Hat (`.rpm`) 和 Slackware (`.txz`) 发行版进行了打包。请根据您的本地环境运行相应的包管理器配置。 ## 命令行接口 (CLI) ### 1. 评估元数据 ``` xva-tool info image.xva ``` ### 2. 将层流式展平为 RAW ``` xva-tool merge image.xva target.img ``` ### 3. 限带宽 SAN 迁移 ``` xva-tool merge -r --throttle-mb 50 image.xva /dev/disk/by-path/iscsi-target-lun-0 ``` ### 4. 完整性验证扫描 ``` xva-tool verify image.xva --deep-scan ``` ## 文档 详细的开发、测试和操作指南位于 `docs/` 仓库目录中。 ## 许可证 由 Alexander Maassen () 和 Google 的 Gemini AI 开发与维护。基于 MIT 许可证的宽松条款发布。
标签:XenServer, 数据流处理, 系统运维, 虚拟化技术, 逆向工具, 零拷贝