gluster brick进程启动失败处理方法

环境说明:

    复制卷,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,进程启动,brick)