我有一个我想要构建的应用程序的想法,其中一个需求是一个全局复制的文件系统。像Ceph和GlusterFS这样的东西是存在的,但我不确定它们是否符合我的特定用例。
我之所以这样做,是因为我希望将文件系统延迟降到最低,只需使用Ceph来同步所有节点之间的更改。如果我不能直接连接到“本地”节点,我认为延迟会相当高。
任何了解这一点的帮助都会得到极大的认可!
发布于 2021-10-03 14:05:25
这取决于数据访问的类型: Ceph可以将数据存储为块设备(RBD)、S3对象存储(RGW)或文件系统(CephFS)。我假设这里的CephFS和Gluster都是文件系统抽象。
在三个节点的配置中,Ceph将在每个站点上运行一个或多个OSD守护进程(每个磁盘驱动器一个)。数据在集群中的OSD之间进行条带化,您的CephFS客户端(内核、FUSE或Windows)将算法地访问存储数据的正确节点,不需要网关。如何做到这一点需要很长时间来解释,但本质上它是一个分布式哈希表映射,在MON守护进程中保持服务器端的额外数据。
CephFS的数据路径是直接的,从您的客户端到OSD,没有插入任何网关。
文件系统使用另一种守护进程类型MDS,它存储文件系统元数据。如果您的文件系统操作执行文件系统更改(例如创建目录),则将访问MDS而不是OSD。
但是,对于您的预期用例而言,Ceph是一个同步存储系统,其性能将随着节点之间的距离越远而下降。通常建议您将扩展配置保持在节点之间往返延迟的10 is以内。换句话说,Ceph集群喜欢居住在一个数据中心,但是如果您有非常好的链接,则可以将它们扩展到城市或某个小国。
https://serverfault.com/questions/1079393
复制相似问题