glusterFS: self-heal 的触发条件

从代码中看,有如下四种情况可以出发afr_launch_self_heal,从而导致afr_self_heal的执行:

reason = "lookup detected pending operations";                      ======就是afr_lookup

在afr模块中的调用先后关系是 afr_lookup ->afr_lookup_cbk -> afr_lookup_done -> afr_lookup_perform_self_heal  -> afr_launch_self_heal

reason = "checksums of directory differ";                                    ======afr_opendir

afr_opendir -> afr_opendir_cbk -> afr_examine_dir -> afr_examine_dir_readdir_cbk -> afr_launch_self_heal.

reason = "subvolume came online";  

snprintf (reason, sizeof (reason), "stale subvolume %d detected", st_child); 


主要的修复都是在afr_self_heal去调用的


还有从其他网站看见的文章


软件包错误: glusterfs-api-6.0-61.el7.x86_64 (updates) 是指在安装或升级软件包时发生了问题。 常见的软件包错误有以下几种可能的原因和解决方法: 1. 依赖关系错误:软件包可能需要依赖其他的软件包或库文件,但是这些依赖关系无法满足,导致安装失败。解决方法是检查其他相关的依赖软件包是否已安装,并升级这些软件包。 2. 软件源错误:软件包可能来自于错误的软件源,或者软件源配置有误。解决方法是检查软件源的配置文件是否正确,并使用安全和可信任的软件源进行安装。 3. 版本冲突错误:软件包可能与已安装的其他软件包存在版本冲突,导致无法安装。解决方法是卸载冲突的软件包,或者升级已安装软件包的版本。 4. 损坏或缺失文件错误:软件包可能下载的文件损坏或缺失,导致安装失败。解决方法是重新下载软件包或检查网络连接是否正常。 5. 系统环境错误:软件包可能与系统环境不兼容或不匹配,导致安装失败。解决方法是检查系统的操作系统版本和硬件要求,并确保满足软件包的要求。 总之,软件包错误可能由多种原因造成,解决方法取决于具体的错误原因。通过检查依赖关系、软件源、版本冲突、文件完整性和系统环境等方面,可以尝试解决软件包错误。如有需要,还可以参考软件包提供的文档或咨询相关技术支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值