Bar*_*rmi 4 linux synchronization glusterfs lsyncd
同步正在运行的生产服务器的大量数据的最佳方法是什么?
我们的服务器在 100 万个目录中存储了超过 2000 万个文件(10k 的小文件和高达 50MB 的更大文件)。所有数据的大小约为 5 TB(稳步增加)。
是否可以使用 lsyncd 同步数据以及有哪些限制(尤其是 inotify)?lsyncd 需要多少额外空间?负载(CPU 和内存)和实时时间如何?
另一种解决方案是 GlusterFS。是否可以在没有停机或停机时间最短的生产中使用 GlusterFS?GlusterFS 在 x-attributes 文件中存储了大量魔法数据,存储量比没有 GlusterFS 的系统大 15% 到 20%。好像浪费了很多……?负载呢?
至少 rsync 和 cronjobs 可以完成这项工作。rsync 只会在从属服务器上运行......所以主服务器上不需要额外的空间,但是每次 cron 运行时 rsync 必须读取完整的目录树......
我强烈建议对文件系统使用类似 ZFS 的东西。
ZFS 快照和 ZFS 发送/接收等内置工具允许您获取文件系统的块级快照并将其发送到第二台服务器。
一些第三方工具如sanoid/syncoid可以设置自动管理/修剪和同步您的文件系统从一台主机到另一台主机。
这是在块设备级别完成的,因此您可以避免 rsync 校验和/库存过程。