集群文件系统如何避免各种可能的竞争条件?
我正试图掌握如何在主主架构中使用集群文件系统。我特别想到了GlusterFS,所以它的实现细节是受欢迎的,但我希望得到一个普遍的答案。
发布于 2011-03-12 05:20:18
GlusterFS过程由称为“翻译器”的叠加模块功能单元组成。锁定转换器作为服务器堆栈的一部分加载,并由此转换器同步可能进行竞争的操作。
默认情况下,集群CLI生成配置,其中包括作为GlusterFS服务器堆栈一部分的“特性/锁”转换器。
发布于 2011-03-11 03:10:45
不同的集群文件系统以不同的方式处理这个问题。从根本上讲,问题就像处理并发访问场景中的任何其他共享数据结构一样(例如,线程安全结构)。与存储在RAM中的数据相比,磁盘访问上的数据具有更大的潜在性和更慢的访问速度(更小的带宽)。因此,用于处理集群文件系统中并发性的算法将被适当地调优。
像VERTIAS集群文件系统这样的“传统”集群文件系统使用锁管理器和主/从进程(带有隔离机制)来处理磁盘上元数据的一致性。
就我个人而言,我还没有使用过GlusterFS,也不能说我对这个体系结构非常熟悉,无法做出明智的评论。据我所读到的,GlusterFS似乎更像是一种在单个存储节点上“粘合”底层非集群文件系统的奇特机制,而不是一个“传统”集群文件系统(多个客户机直接访问同一个块设备)。您可以在这里获得一些好的细节(虽然我不知道这些细节在最近的版本中是如何保持的):http://www.raidinc.com/pdf/whitepapers/wp-gfs-architecture.pdf
https://serverfault.com/questions/246016
复制相似问题