前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GlusterFS下如何修复裂脑文件?

GlusterFS下如何修复裂脑文件?

作者头像
党志强
发布2020-02-11 13:29:26
2.5K0
发布2020-02-11 13:29:26
举报
文章被收录于专栏:敏而好学敏而好学

恢复GlusterFS文件裂脑步骤

1. 执行如下命令,获取裂脑文件的路径。

# gluster volume heal VOLNAME info split-brain

客户端访问裂脑文件会报I/O错误。

2. 关闭在mount客户端访问裂脑文件的进程。如果有虚拟机正在使用裂脑文件,必须将虚拟机关闭。

3. 通过getfattr命令获取和验证扩展属性的变更记录,然后通过扩展属性来确定哪些brick包含可信的文件。

# getfattr -d -m . -e hex <file-path-on-brick>

[root@lab21:/letv/disk4]$getfattr -d -m . -e hex file1 # file: file1 trusted.afr.plane-client-0=0x000000000000000000000000 trusted.afr.plane-client-1=0x000000000000000000000000 trusted.gfid=0x4e028c9b64234502ba304eba44e16da4

文件变更记录属性说明,如下示例: 0x 000003d7 00000001 000000110       |         |        |       |         |        \_ changelog of directory entries       |         \_ changelog of metadata       \ _ changelog of data 首8位***背景字段记录数据变更记录 中间8位蓝色背景字段记录元数据变更记录 末8位粉红色背景字段记录索引gfid变更记录 对于目录而言,元数据和索引gfid变更对应字段是有效的。 对于普通文件,数据和元数据对应字段是有效的。 对于特殊文件,如设备文件,元数据对应字段是有效的。 一个文件发生裂脑,可是数据裂脑,也可以是元数据裂脑,也有可以是数据和元数据同时裂脑。 一个元数据、数据同时裂脑例子如下: # getfattr -d -m . -e hex /gfs/brick-?/a getfattr: Removing leading '/' from absolute path names \#file: gfs/brick-a/a trusted.afr.vol-client-0=0x000000000000000000000000 trusted.afr.vol-client-1=0x000003d70000000100000000 trusted.gfid=0x80acdbd886524f6fbefa21fc356fed57 \#file: gfs/brick-b/a trusted.afr.vol-client-0=0x000003b00000000100000000 trusted.afr.vol-client-1=0x000000000000000000000000 trusted.gfid=0x80acdbd886524f6fbefa21fc356fed57

4. 选择正确的拷贝。

5. 通过重置相关字段解决裂脑问题

1)解决数据裂脑:重置数据字段对应属性值 2)解决元数据裂脑:重置元数据字段对应属性值 3)解决索引裂脑:删除一个无效的副本,同时必须删除对应的gfid-link文件,在.glusterfs目录下     在删除gfid-link文件之前,确保当前brick上要删除的文件没有硬链接,如果有也必须删除。

6. 触发自动修复

# ls -l <file-path-on-gluster-mount>

or

# gluster volume heal VOLNAME

注意:

    对于属性正常,文件内容不同引起的裂脑,heal命令无法修复,需要执行heal full命令,当然ls也可以。

    修复方法,删除错误副本及对应的gfid文件。

备注:本文针对gluster 3.4进行编写,后续版本gluster修复机制发生了一些变化,客户端通过ls已经不能触发数据恢复。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档