`
kabike
  • 浏览: 606006 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

gluster AFR的工作原理简析

阅读更多
在gluster的brick server上,每个文件的形如"trusted.afr.*"的扩展属性用来记录复制有关的信息.
*是所有副本的名称,比如一个文件a.txt,在副本client-0和client-1上,用getfattr -m . -d -e hex命令查看该文件,就会有
引用
client-0=0x000000000000000000000000
client-1=0x000000000000000000000000

两条信息.trusted.afr.*实际记录了其他副本的更改的次数.
这个值的前8个数字是数据操作,中间8个是元数据操作(chmod之类),后面8个是命名空间操作(rename之类)
每次replicate的时候,这个counter先加1,然后进行文件操作,如果某个brick client文件操作成功,那么该client对应的counter再减1.
这样正常的副本上所有的trusted.afr.*值都应该是0.
如果某个副本offline时进行了文件操作,其他副本对应它的值就是非0.比如client-0离线时进行一次文件内容操作,那么client-1上的属性为
引用
client-0=0x000000010000000000000000
client-1=0x000000000000000000000000

这样我们说client-1"控诉"了client-0(原文是accuses).控诉是进行self heal的依据.
一个副本A控诉了另一个副本B,我们就说A是明智的(原文是wise).self heal时如果只有一个明智的节点,那么就用明智的节点数据作为权威数据.
如果副本内存在多个明智的节点,就会出现脑裂(split brain).
脑裂时需要人工干预,需要人为删除其他副本,保留一个明智节点.

更多关于副本状态和self heal时算法,请参阅
http://hekafs.org/index.php/2012/03/glusterfs-algorithms-replication-present/
http://hekafs.org/index.php/2011/04/glusterfs-extended-attributes/
分享到:
评论

相关推荐

    Gluster集群搭建-安装Gluster环境

    4. **关闭防火墙和SELinux**:在所有虚拟机上执行`systemctl stop firewalld`和`setenforce 0`命令,确保防火墙和SELinux不会影响集群的正常工作。 #### 五、集群配置 1. **加入集群节点**:使用`gluster peer ...

    gluster_exporter:Prometheus的Gluster导出器

    gluster_exporter 普罗米修斯的胶合板出口商安装go get github.com/ofesseler/gluster_exporter./gluster_exportergluster_exporter用法选项默认描述-h,--help -- 显示用法。 --web.listen-address :9189 侦听HTTP...

    Gluster 3.6.2 源码包

    在“Gluster 3.6.2 源码包”中,我们可以深入理解这款系统的内部机制和工作原理。源码包提供了一个宝贵的资源,允许开发者和系统管理员对软件进行自定义配置、调试和优化。 GlusterFS的核心设计理念是通过无中心...

    gluster离线安装包rpm,yum

    在提供的文件列表中,我们看到"gluster6"和"gluster7"可能是不同版本的GlusterFS RPM包,而"centos7 gluster安装部署.pdf"则很可能是一个详细的安装指南,包含了步骤和注意事项。以下是离线安装GlusterFS的基本流程...

    gluster3.2.0

    这些工具包括`gluster volume`命令、`gluster peer`命令等,方便进行集群管理和维护。 7. **多协议支持**:除了标准的POSIX接口,GlusterFS还支持NFS、SMB、iSCSI等多种协议,使它能被各种操作系统和应用无缝集成。...

    Gluster集群搭建-操作Gluster集群

    在进行Gluster集群搭建之前,需要做一些准备工作: 1. **环境准备**:确保拥有至少两台或更多装有CentOS的服务器,这些服务器将作为Gluster集群的节点。 2. **工具准备**:确保客户端(如Windows系统)能够通过...

    Red Hat Gluster Storage 3.2 Administration Guide

    Red Hat Gluster Storage 3.2 Administration Guide Red Hat Gluster Storage Administration Guide describes the configuration and management of Red Hat Gluster Storage for On-Premise

    Gluster_File_System-3.2.5-Administration_Guide-en-US.pdf

    通过阅读《Gluster File System 3.2.5 Administration Guide》,用户可以全面地了解GlusterFS的工作原理和管理方法。无论是对于初次接触分布式文件系统的用户还是已经有一定经验的专业人士来说,这本指南都是非常有...

    Red_Hat_Gluster_Storage-3.5-Administration_Guide-en-US.pdf

    在GlusterFS中,节点通过网络连接并协同工作,无中心控制节点,确保了系统的健壮性。 二、安装与配置 在部署GlusterFS之前,你需要准备多台运行Red Hat Enterprise Linux的服务器。安装过程包括安装GlusterFS软件包...

    gluster文件系统结构

    ### Gluster文件系统结构:分布式存储的创新与实践 #### 引言 GlusterFS作为一款可扩展的开源集群文件系统,提供了一个全球统一的命名空间、分布式前端,并且能够轻松扩展至数百PB的存储容量。它通过利用普通硬件...

    Gluster_Hadoop_Compatible_Storage.pdf

    Glusterfs(分布式文件系统) Hadoop到结合

    Gluster_Storage-3.5-Administration_Guide-en-US

    Red Hat Gluster Storage is a software-only, scale-out storage solution that provides flexible and agile unstructured data storage for the enterprise. Red Hat Gluster Storage provides new ...

    多节点gluster_NFS安装配置性能对比

    标题中的“多节点gluster_NFS安装配置性能对比”指的是在多台服务器上部署并比较GlusterFS和NFS这两种分布式文件系统的安装过程、配置方法以及它们在性能上的差异。这两种技术都是为了实现大规模存储环境下的数据...

    Gluster集群搭建-补充篇

    - 使用 `gluster peer status` 和 `gluster volume info` 命令检查集群状态和卷信息。 #### 五、数据平衡 为了保证数据在各节点之间均衡分布,定期进行数据平衡是非常重要的。 **检查数据分布:** - 使用 `...

    python2-gluster-4.1.6-1.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    gluster-health-report:Gluster运行状况报告工具

    Gluster运行状况报告工具 使用此工具来分析Gluster节点的正确性或运行状况。 注意:该项目的目标不是提高Gluster的“监视”功能,而是确保在发生问题时不要错过对重要内容的分析。 如果某人没有任何其他监视设置,...

    ansible-gluster:用于部署 Gluster 的 Ansible 模块

    ansible-gluster 用于部署 Gluster 的 Ansible 模块和示例剧本本文档目前涵盖 examples/ex_auto_vars-full 目录中的示例。 其他目录中的示例有效,但是是获取当前基于 varfile 的版本的垫脚石。先决条件: 所有...

    python-gluster-3.7.1-17.atomic.1.el7.x86_64.rpm

    python-gluster-3.7.1-17.atomic.1.el7.x86_64.rpm

    python2-gluster-8.6-1.el7.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    gluster常见的坑.txt

    gluster常见的坑

Global site tag (gtag.js) - Google Analytics