我想在 WAN 上复制 10Tb 的数据(大量小文件,低水平的流失),而对可用基础架构的影响最小。
虽然我可以简单地使用 rsync,但这意味着查找更改并比较本地和远程数据(磁盘 I/O、网络带宽和 CPU 成本)虽然 rsync 可以有效地做到这一点,但我想知道是否有更有效的解决方案可以跟踪更改并传播它们(最好是双向的)。
存储本身是 HP NAS 设备上的 iSCSI。我们之前曾研究过使用其内置的复制功能,但发现它们速度慢且不可靠。
DRBD 镜像在两端都需要额外的硬件。这将是相当昂贵的。过去,我也被 DRBD 复制失败所困扰。
glusterfs 会更有效吗?使用 2 节点设置真的很愚蠢吗?有更好的解决方案吗?
在块级别上,可以使用在两端制作镜像磁盘的 Starwind 来完成同步。它可以在 iSCSI LUN 上运行,实现主动-主动存储。不需要额外的硬件。https://www.starwindsoftware.com/blog/storage-ha-on-the-cheap-fixing-synology-diskstation-flaky-performance-with-starwind-free-part-3-failover-duration
在文件层面,lsyncd 和 rsync 做一个镜像同步服务器之间的文件。这些工具可能需要调整配置文件,以确保文件锁定机制按预期工作并且不会发生脑裂。https://linoxide.com/tools/setup-lsyncd-sync-directories/
您可以使用
lsyncd
在系统之间不断同步文件。lsyncd
在同步的目录上安装 inotify 监视。每当目录中的文件发生更改时,它都会使用rsync
.您可以将ionice用于 io 负载限制,并在 rsync 中使用bwlimit参数来限制网络 io。还有一些其他的方法: Rsync 小文件的大数据集 5TB,+M 个小文件
如果您愿意尝试新事物,那么 IPFS 可能是您尝试的绝佳工具。
https://ipfs.io/
根据您的文件复制需求,使用私有 IPFS 集群可能会给您带来很好的结果。
https://cluster.ipfs.io/
但是请记住,这是相当新的东西,但正在迅速成熟。