XReplicator – 基于 eBPF 的服务器备份,仅跟踪已更改的磁盘扇区

1作者: iamvishnuks01大约 18 小时前原帖
我在云计算/平台工程领域工作了十年。有一件事一直让我感到沮丧:每个备份工具要么依赖脆弱的内核模块进行变更块跟踪,要么在数据变化1%时仍然进行全盘扫描。 因此,我们开发了XReplicator。它使用eBPF跟踪点在块设备层跟踪脏扇区——不需要内核模块,不需要虚拟机监控器API,也不需要云特定的钩子。代理程序在虚拟机内部运行,适用于任何平台。 内核开发者称我使用eBPF进行磁盘数据复制是疯狂的。但数据说明了一切: - 完全备份:约17分钟 - 在1.4%变化后增量备份:约2分钟 - 在0.4%变化后增量备份:约56秒 - 扫描的数据量比完全备份少71倍 - 存储节省65-72%(LZ4 + 块级去重) 每个内核版本无需编译内核模块,无需重启,通过eBPF验证器实现沙箱执行。从链中的任何点恢复文件、分区或完整磁盘。 诚实的警告:eBPF路径仅适用于Linux内核5.10及以上版本。对于旧版Linux和Windows,我们退回到基于全盘扫描的增量备份——速度较慢,但可以正常工作。 XReplicator源于XMigrate,这是我们开源项目,旨在使虚拟机工作负载在不同云之间可移植。该产品是闭源的,但有一个免费的社区版本。 https://xmigrate.cloud https://github.com/xmigrate/xreplicator/releases 欢迎深入讨论eBPF的实现——请随时提问。
查看原文
I&#x27;ve been in cloud&#x2F;platform engineering for a decade. One thing that always frustrated me: every backup tool either relies on fragile kernel modules for change block tracking, or does full-disk scans even when 1% of data changed. So we built XReplicator. It uses eBPF tracepoints to track dirty sectors at the block device layer — no kernel modules, no hypervisor APIs, no cloud-specific hooks. The agent runs inside the VM and works on any platform. Kernel devs called me mad for using eBPF for disk data replication. But the numbers speak for themselves:<p>Full backup: ~17 minutes Incremental after 1.4% change: ~2 minutes Incremental after 0.4% change: ~56 seconds 71x less data scanned vs full backup 65–72% storage savings (LZ4 + block-level dedup)<p>No kernel module compilation per kernel version, no reboots, sandboxed execution via the eBPF verifier. Restore at file, partition, or full disk level from any point in the chain. Honest caveat: the eBPF path only works on Linux kernel 5.10+. For legacy Linux and Windows we fall back to full-disk scan based incrementals — slower, but it works. XReplicator grew out of XMigrate, our open source project for making VM workloads portable across clouds. The product is closed source but there&#x27;s a free community version. https:&#x2F;&#x2F;xmigrate.cloud https:&#x2F;&#x2F;github.com&#x2F;xmigrate&#x2F;xreplicator&#x2F;releases Happy to go deep on the eBPF implementation - ask away.