cba*_*scu 12 high-availability glusterfs
过去 2 天我一直在玩 gluster,并在这里和他们的问题系统上提问。有些东西我真的不明白。我看到人们说这样的话
在服务器之间设置复制砖(因为你只使用 3 个,复制会更安全),每台服务器都会将所有其他服务器的文件视为“本地”——即使一台服务器出现故障,文件也已复制到其他服务器。
或者
Gluster 将保持跨卷(砖块)的文件同步,并具有“自我修复”功能,可以处理由于一台服务器离线而导致的任何不一致。
由于我将远程卷从服务器挂载到客户端,gluster 如何处理服务器节点的故障,卷是从哪个节点挂载的?从我尝试过的客户端上安装卷的文件夹变得无法访问,我必须使用 umount 来解除对它的阻止。之后没有来自服务器的内容。
这基本上是我在任何解释中都没有看到的内容:当服务器节点出现故障时会发生什么,以及是否可以像 unison 或 rsync 那样真正复制内容?
我们最近开始研究 GlusterFS 供我们自己使用,所以这个问题对我来说很有趣。Gluster 使用 FUSE 客户端上所谓的“翻译器”来处理您存储数据的方式。这里概述了几种类型的翻译器:
http://www.gluster.com/community/documentation/index.php/GlusterFS_Translators_v1.3
您要特别询问的那个称为自动文件复制转换器或 AFR,这里有详细介绍:
http://www.gluster.com/community/documentation/index.php/Understanding_AFR_Translator
查看源代码似乎数据实际上是同时写入节点的,比 rsync 好多了!
关于从故障情况中恢复,我发现了一个有趣的注释。Gluster 系统与 Ceph 的不同之处在于它不会主动感知复制状态的变化,并且必须被“触发”。因此,如果您在集群中丢失了一个节点,则必须查找每个文件,以便 Gluster 确保其已复制:
我找不到一个很好的页面来描述内部的故障场景机制,比如客户端如何检测到事情被破坏了。然而,下载源代码并查看客户端似乎有各种超时用于命令和探测,它每隔一段时间就会对集群中的其他系统进行探测。看起来其中大多数都有 TODO 标记,并且目前无法配置,除非通过源代码修改,如果收敛时间很关键,这可能是您关心的问题。
归档时间: |
|
查看次数: |
12890 次 |
最近记录: |