群集文件系统如何避免竞争条件?

群集文件系统如何避免可能的竞争条件?

我试图掌握在Master-Master体系结构中使用集群文件系统。 我特别想到GlusterFS,所以对它的实现细节是值得欢迎的,但是我希望得到一个普遍的答案。

GlusterFSstream程由称为“翻译器”的堆叠模块化function单元组成。 locking翻译器作为服务器堆栈的一部分加载,可以竞争的操作由该翻译器同步。

默认情况下,gluster CLI会生成包含“features / locks”转换器的configuration,作为GlusterFS服务器堆栈的一部分。

不同的集群文件系统以不同的方式处 基本上,这个问题就像处理并发访问场景中的其他共享数据结构(例如线程安全结构)一样。 磁盘访问的数据比RAM中存储的数据更大,更慢,访问速度更慢(带宽更less)。 因此,用于处理群集文件系统中的并发的algorithm将被适当地调整。

VERTIAS集群文件系统等“传统”集群文件系统使用锁pipe理器和主/从进程(使用防护机制)来处理磁盘上元数据的一致性。

就我个人而言,我还没有使用GlusterFS,也不能说我对这个架构有足够的熟悉来做出明智的评论。 从我读到的信息来看,GlusterFS似乎更像是一种将单个存储节点上的非集群文件系统“粘合在一起”的奇特机制,而不是“传统”集群文件系统(其中多个客户端直接访问相同的文件系统)块设备)。 你可以在这里得到一些很好的细节(虽然我不知道这些细节在最新版本中是如何保留的): http : //www.raidinc.com/pdf/whitepapers/wp-gfs-architecture.pdf