金鱼哥RHCA回忆录:RH236GlusterFS排错

举报
金鱼哥 发表于 2022/05/31 08:55:41 2022/05/31
【摘要】 第十章 GlusterFS排错

🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL😜
💬格言:努力不一定成功,但要想成功就必须努力🔥


管理有故障的brick

课本练习(以练习来进行了解)

servera系统已经崩溃。该系统提供的惟一卷称为replvol,它是一个复制卷。使servera重新联机,然后查看该系统的自愈信息。

在验证所有文件都已正确恢复后,用/brick/brick-a2/brick替换servera上的原来的brick。

[root@workstation ~]# lab selfheal setup


1. 在您的serverb系统上,检查replvol卷上需要修复的文件列表。

[root@serverb ~]# gluster volume heal replvol info
Brick servera:/bricks/brick-a1/brick
Status: Transport endpoint is not connected

Brick serverb:/bricks/brick-b1/brick
/file2 
/ 
…………
Number of entries: 26

2. 使您的servera系统恢复联机状态。不要重置这个系统,只要启动它。


3. 验证replvol卷的恢复状态。等待所有的文件被治愈。

[root@servera ~]# gluster volume heal replvol info
Brick servera:/bricks/brick-a1/brick
Number of entries: 0

Brick serverb:/bricks/brick-b1/brick
Number of entries: 0

4. 替换brick。

[root@servera ~]# gluster volume replace-brick replvol servera:/bricks/brick-a1/brick servera:/bricks/brick-a2/brick commit force
volume replace-brick: success: replace-brick commit force operation successful

5. 脚本评分。

[root@workstation ~]# lab selfheal grade


配置BitRot检测

启用BitRot检测

Red Hat Gluster存储提供了一个名为BitRot检测的特性。当启用时,卷上的所有文件将按规定的间隔擦洗,并计算校验和。这个校验和存储在砖块上文件的扩展属性中。如果自上次存储校验和以来文件发生了更改(根据changelog),则将计算并存储一个新的校验和。如果文件没有根据更改日志进行更改,但是计算的校验和与存储的校验和不匹配,则会在日志文件/var/log/glusterfs/bitd.log和/var/log/glusterfs/scrub.log中写入一个错误。

这允许管理员检测数据是否被错误的存储介质以静默方式损坏。该特性主要用于使用存储在JBOD上的数据块的卷,而不适用于存储在已经内置了错误检测(和纠正)的数据块上的卷,比如RAID6。

要对一个卷启用BitRot检测,可以使用命令gluster volume bitrot <volume> enable。可以使用命令gluster volume bitrot <volume> disable来取消对BitRot的检测。


配置BitRot检测

因为为所有文件计算校验和可能会对卷性能产生负面影响,特别是在较大的卷上,所以可以确定擦洗的频率,以及可同时擦洗的文件数量。

以下命令可以影响和查询BitRot检测守护进程的设置,以及相关的清理进程。


volume bitrot <volname> scrub status

显示指定卷BitRot检测的状态和设置。还列出了检测到的任何错误的文件。


volume bitrot <volname> scrub pause

暂停清洗指定的卷。这不会停止BitRot检测守护进程,而只是暂停擦洗进程。当存储带宽需要用于其他用途时,这可能很有用。


volume bitrot <volname> scrub resume

恢复指定卷的清洗过程。


volume bitrot <volname> scrub-throttle {lazy|normal|aggressive}

配置每个节点同时可以清除多少个文件。可能的值是lazy、normal和aggressive。

lazy允许一次删除一个文件。(默认属性)

normal允许一次删除两个文件,或(CPUS-4)/2,以较大的为准。

aggressive允许同时清除4个文件,或(CPUS-4)/2,以较大的为准。


volume bitrot <volname> scrub-frequency {hourly|daily|weekly|biweekly|monthly}

配置为校验和清除所有文件的频率。可能的值是每小时、每天、每周、双周和每月。

默认情况下是双周,即每两周一次。


恢复损坏的文件

当BitRot检测检测到一个损坏的文件时,它将根据它的GFID报告该文件,GFID是一个128位的数字,用32个十六进制数字表示。要定位该文件,可以使用find命令。不要忘记去掉报告的fid上的破折号。

在找到损坏的文件之后,在brick上的.glusterfs中删除损坏的文件和相关的文件。这两个都是通过上一个示例中的最后一个find命令找到的。如果任何其他硬链接被建立到损坏的文件,这些也需要被删除。

如果包含被损坏文件的块是复制卷的一部分,则可以通过触发修复(gluster volume heal <volume>)或等待自修复来恢复被损坏的文件。

如果损坏的文件不在复制的卷上,则需要从最近的备份中还原它。


课本练习

[root@workstation ~]# lab bitrot setup


1. 为replvol启用和配置BitRot检测。

[root@servera ~]# gluster volume bitrot replvol enable
volume bitrot: success
[root@servera ~]# gluster volume bitrot replvol scrub-frequency hourly
volume bitrot: success
[root@servera ~]# gluster volume bitrot replvol scrub-throttle aggressive
volume bitrot: success

2. 脚本评分。

[root@workstation ~]# lab bitrot grade


总结

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第十章 GlusterFS排错 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。