gluster brick进程启动失败处理方法
2016-04-08 11:40
381 查看
环境说明:
复制卷,centos 7下,gluster版本3.6.7
故障现象:
# gluster v status tank
Status of volume: tank
Gluster processPortOnlinePid
------------------------------------------------------------------------------
Brick w-ostack03.sys.bjdt.net:/data/tank49152Y30371
Brick w-ostack04.sys.bjdt.net:/data/tankN/ANN/A
NFS Server on localhost2049Y29320
Self-heal Daemon on localhostN/AY29337
NFS Server on w-ostack03.sys.bjdt.net2049Y17638
Self-heal Daemon on w-ostack03.sys.bjdt.netN/AY30385
Task Status of Volume tank
------------------------------------------------------------------------------
There are no active volume tasks
故障log:
[2016-04-08 03:24:33.909878] I [graph.c:269:gf_add_cmdline_options] 0-tank-server: adding option 'listen-port' for volume 'tank-server' with value '49152'
[2016-04-08 03:24:33.909921] I [graph.c:269:gf_add_cmdline_options] 0-tank-posix: adding option 'glusterd-uuid' for volume 'tank-posix' with value '6b2cfe95-1eb1-4510-b7db-af34ba73162c'
[2016-04-08 03:24:33.911030] I [rpcsvc.c:2142:rpcsvc_set_outstanding_rpc_limit] 0-rpc-service: Configured rpc.outstanding-rpc-limit with value 64
[2016-04-08 03:24:33.911090] W [options.c:898:xl_opt_validate] 0-tank-server: option 'listen-port' is deprecated, preferred is 'transport.socket.listen-port', continuing with correction
[2016-04-08 03:24:33.912278] E [posix.c:5632:init] 0-tank-posix: Extended attribute trusted.glusterfs.volume-id is absent
[2016-04-08 03:24:33.912297] E [xlator.c:425:xlator_init] 0-tank-posix: Initialization of volume 'tank-posix' failed, review your volfile again
[2016-04-08 03:24:33.912306] E [graph.c:322:glusterfs_graph_init] 0-tank-posix: initializing translator failed
[2016-04-08 03:24:33.912315] E [graph.c:525:glusterfs_graph_activate] 0-graph: init failed
[2016-04-08 03:24:33.912689] W [glusterfsd.c:1211:cleanup_and_exit] (--> 0-: received signum (0), shutting down
故障分析:
# getfattr -dm . -e hex tank
查看对应brick目录,缺少扩展属性。
解决方案:
扩展属性很多,这里只需要手动添加trusted.glusterfs.volume-id属性即可。
实例操作如下:
setfattr -n trusted.glusterfs.volume-id -v 0xd810be517a524864bfa7e94fd52c4dbc tank
然后重启服务:
systemctl restart glusterd.service # centos 7上操作命令
service glusterd restart
故障解决,然后如果是复制卷,可以执行heal命令,恢复未数据。
gluster volume heal tank full
完美解决。
复制卷,centos 7下,gluster版本3.6.7
故障现象:
# gluster v status tank
Status of volume: tank
Gluster processPortOnlinePid
------------------------------------------------------------------------------
Brick w-ostack03.sys.bjdt.net:/data/tank49152Y30371
Brick w-ostack04.sys.bjdt.net:/data/tankN/ANN/A
NFS Server on localhost2049Y29320
Self-heal Daemon on localhostN/AY29337
NFS Server on w-ostack03.sys.bjdt.net2049Y17638
Self-heal Daemon on w-ostack03.sys.bjdt.netN/AY30385
Task Status of Volume tank
------------------------------------------------------------------------------
There are no active volume tasks
故障log:
[2016-04-08 03:24:33.909878] I [graph.c:269:gf_add_cmdline_options] 0-tank-server: adding option 'listen-port' for volume 'tank-server' with value '49152'
[2016-04-08 03:24:33.909921] I [graph.c:269:gf_add_cmdline_options] 0-tank-posix: adding option 'glusterd-uuid' for volume 'tank-posix' with value '6b2cfe95-1eb1-4510-b7db-af34ba73162c'
[2016-04-08 03:24:33.911030] I [rpcsvc.c:2142:rpcsvc_set_outstanding_rpc_limit] 0-rpc-service: Configured rpc.outstanding-rpc-limit with value 64
[2016-04-08 03:24:33.911090] W [options.c:898:xl_opt_validate] 0-tank-server: option 'listen-port' is deprecated, preferred is 'transport.socket.listen-port', continuing with correction
[2016-04-08 03:24:33.912278] E [posix.c:5632:init] 0-tank-posix: Extended attribute trusted.glusterfs.volume-id is absent
[2016-04-08 03:24:33.912297] E [xlator.c:425:xlator_init] 0-tank-posix: Initialization of volume 'tank-posix' failed, review your volfile again
[2016-04-08 03:24:33.912306] E [graph.c:322:glusterfs_graph_init] 0-tank-posix: initializing translator failed
[2016-04-08 03:24:33.912315] E [graph.c:525:glusterfs_graph_activate] 0-graph: init failed
[2016-04-08 03:24:33.912689] W [glusterfsd.c:1211:cleanup_and_exit] (--> 0-: received signum (0), shutting down
故障分析:
# getfattr -dm . -e hex tank
查看对应brick目录,缺少扩展属性。
解决方案:
扩展属性很多,这里只需要手动添加trusted.glusterfs.volume-id属性即可。
实例操作如下:
setfattr -n trusted.glusterfs.volume-id -v 0xd810be517a524864bfa7e94fd52c4dbc tank
然后重启服务:
systemctl restart glusterd.service # centos 7上操作命令
service glusterd restart
故障解决,然后如果是复制卷,可以执行heal命令,恢复未数据。
gluster volume heal tank full
完美解决。
相关文章推荐
- 关于glusterfs-3.3.1的两个bug
- Glusterfs:趋于成熟的集群文件系统
- Glusterfs简介以及其工作流程的简单分析
- Glusterfs3.3.1DHT(hash分布)源代码分析
- Glusterfs的编译选项 #pragma GCC poison system popen
- 关于Glusterfs为何采用哈希分布式算法
- 关于glusterfs的directory-layout-spread参数
- 基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南
- GlusterFS学习
- GlusterFS基础知识
- 基于 GlusterFS 的高可用 MySQL 数据库系统测试
- glusterfs中split-brain的重现与修复
- 【一】GlusterFS 快速部署指南
- 【GlusterFS学习之一】:GlusterFS分布式文件系统的基本概念及搭建
- 【GlusterFS学习之二】:GlusterFS的Self-Heal特性
- 【GlusterFS学习之四】:自动在volfile中生成需要的xlator
- 【GlusterFS学习之五】:trashdir回收站目录只读权限以及白名单的设计与实现
- 【GlusterFS学习之三】:GlusterFS的audit operation xlator设计实现方案
- GlusterFS技术概要分析(转自oschina)
- GlusterFS集群文件系统研究