RH236GlusterFS排错

简介: RH236GlusterFS排错

RH236GlusterFS排错

RHCSA专栏:戏说 RHCSA 认证

RHCE专栏:戏说 RHCE 认证

此文章(第十章 GlusterFS排错)收录在RHCA专栏:RHCA 回忆录

管理有故障的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 enable。可以使用命令gluster volume bitrot disable来取消对BitRot的检测。

配置BitRot检测

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

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


volume bitrot scrub status

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


volume bitrot scrub pause

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


volume bitrot scrub resume

恢复指定卷的清洗过程。


volume bitrot scrub-throttle {lazy|normal|aggressive}

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

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

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

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


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

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

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


恢复损坏的文件

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

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

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

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


课本练习

[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


总结

以上就是【金鱼哥】对 GlusterFS排错的分享 。希望能对看到此文章的小伙伴有所帮助。

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

目录
相关文章
|
安全 数据安全/隐私保护 iOS开发
基于iOS的动态权限管理实现
【4月更文挑战第9天】 随着移动互联网的快速发展,用户对应用程序的隐私安全要求越来越高。在iOS平台中,如何实现动态权限管理成为了开发者关注的焦点。本文将详细介绍一种基于iOS的动态权限管理实现方法,通过使用Core Motion框架和Notification Center,实现对用户位置信息的实时监控和动态权限申请。
|
消息中间件 Linux 数据安全/隐私保护
linux mq的安装并设置开机启动 图文!!
linux mq的安装并设置开机启动 图文!!
460 0
|
Kubernetes 网络协议 调度
聊聊k8s中的hostport和NodePort
让服务基于节点暴露端口,大家最先想到的应该都是 nodeport 这种 service,他可以非常方便的为pod代理外部流量,那么 hostport 是什么呢?他和 nodeport 的区别是什么,今天我们来聊聊这个比较小众的 hostport。
7312 0
聊聊k8s中的hostport和NodePort
|
Java Go Docker
docker 安装flowable/flowable-ui
docker 安装flowable/flowable-ui
1403 0
|
存储 机器学习/深度学习 PyTorch
Pytorch-张量形状操作
PyTorch中,张量形状操作至关重要,如reshape用于改变维度而不变元素,transpose/permute用于维度交换,view改形状需内存连续,squeeze移除单维度,unsqueeze添加维度。这些函数帮助数据适应神经网络层间的转换。例如,reshape能调整数据适配层的输入,transpose用于矩阵转置或多维排列,而squeeze和unsqueeze则用于处理单维度。理解并熟练运用这些工具是深度学习中必要的技能。
|
11月前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
311 3
|
JavaScript 应用服务中间件 PHP
nginx server 禁止特定目录下的某类文件访问
【8月更文挑战第26天】这段Nginx配置代码旨在保护`/uploads/`目录下的文件,禁止执行任何`.php`, `.html`, `.htm`, 或 `.js`等潜在有害文件,即便被访问也无法运行。取而代之的是重定向到首页。为了实现这一设置,用户需要定位到对应子域名的`.conf`配置文件中进行相应修改。若网站支持多个访问域名,则需确保在正确的`.conf`文件中实施此配置。
270 1
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
Ubuntu 安全 Linux
选择合适的Linux内核版本
【8月更文挑战第9天】选择合适的Linux内核版本
630 2
|
Ubuntu Linux
在Linux中,如何配置静态IP地址?
在Linux中,如何配置静态IP地址?