我使用 2 个服务器(ST0 和 ST1)和 1 个客户端 (STC) 运行 GlusterFS,卷名称是rep-volume。
我上网冲浪,阅读了所有解释如何解决安装问题的文章,但不幸的是没有什么可以帮助我。
我第一次使用以下命令时,它运行良好并且我具有写访问权限:
$ mount.glusterfs ST0:/rep-volume /mnt/replica/
但重启客户端后,我无法再次挂载它,结果如下:
$ mount.glusterfs ST0:/rep-volume /mnt/replica/
Mount failed. Please check the log file for more details.
日志文件如下所示:
$ cat /var/log/glusterfs/mnt-replica.log
[2016-09-25 04:54:12.438020] I [MSGID: 100030] [glusterfsd.c:2408:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.8.4 (args: /usr/sbin/glusterfs --volfile-server=ST0 --volfile-id=/rep-volume /mnt/replica)
[2016-09-25 04:54:12.444256] I [MSGID: 101190] [event-epoll.c:628:event_dispatch_epoll_worker] 0-epoll: Started thread with index 1
[2016-09-25 04:54:12.449300] I [MSGID: 101190] [event-epoll.c:628:event_dispatch_epoll_worker] 0-epoll: Started thread with index 2
[2016-09-25 04:54:12.449704] I [MSGID: 114020] [client.c:2356:notify] 0-rep-volume-client-0: parent translators are ready, attempting connect on transport
[2016-09-25 04:54:12.451504] I [MSGID: 114020] [client.c:2356:notify] 0-rep-volume-client-1: parent translators are ready, attempting connect on transport
[2016-09-25 04:54:12.451861] I [rpc-clnt.c:1947:rpc_clnt_reconfig] 0-rep-volume-client-0: changing port to 49152 (from 0)
Final graph:
+------------------------------------------------------------------------------+
1: volume rep-volume-client-0
2: type protocol/client
3: option ping-timeout 42
4: option remote-host ST0
5: option remote-subvolume /replica1
6: option transport-type socket
7: option transport.address-family inet
8: option send-gids true
9: end-volume
10:
11: volume rep-volume-client-1
12: type protocol/client
13: option ping-timeout 42
14: option remote-host ST1
15: option remote-subvolume /replica2
16: option transport-type socket
17: option transport.address-family inet
18: option send-gids true
19: end-volume
20:
21: volume rep-volume-replicate-0
22: type cluster/replicate
23: subvolumes rep-volume-client-0 rep-volume-client-1
24: end-volume
25:
26: volume rep-volume-dht
27: type cluster/distribute
28: option lock-migration off
29: subvolumes rep-volume-replicate-0
30: end-volume
31:
32: volume rep-volume-write-behind
33: type performance/write-behind
34: subvolumes rep-volume-dht
35: end-volume
36:
37: volume rep-volume-read-ahead
38: type performance/read-ahead
39: subvolumes rep-volume-write-behind
40: end-volume
41:
42: volume rep-volume-readdir-ahead
43: type performance/readdir-ahead
44: subvolumes rep-volume-read-ahead
45: end-volume
46:
47: volume rep-volume-io-cache
48: type performance/io-cache
49: subvolumes rep-volume-readdir-ahead
50: end-volume
51:
52: volume rep-volume-quick-read
53: type performance/quick-read
54: subvolumes rep-volume-io-cache
55: end-volume
56:
57: volume rep-volume-open-behind
58: type performance/open-behind
59: subvolumes rep-volume-quick-read
60: end-volume
61:
62: volume rep-volume-md-cache
63: type performance/md-cache
64: subvolumes rep-volume-open-behind
65: end-volume
66:
67: volume rep-volume
68: type debug/io-stats
69: option log-level INFO
70: option latency-measurement off
71: option count-fop-hits off
72: subvolumes rep-volume-md-cache
73: end-volume
74:
75: volume meta-autoload
76: type meta
77: subvolumes rep-volume
78: end-volume
79:
+------------------------------------------------------------------------------+
[2016-09-25 04:54:12.453806] I [rpc-clnt.c:1947:rpc_clnt_reconfig] 0-rep-volume-client-1: changing port to 49152 (from 0)
[2016-09-25 04:54:12.455009] I [MSGID: 114057] [client-handshake.c:1446:select_server_supported_programs] 0-rep-volume-client-0: Using Program GlusterFS 3.3, Num (1298437), Version (330)
[2016-09-25 04:54:12.455225] W [MSGID: 114043] [client-handshake.c:1111:client_setvolume_cbk] 0-rep-volume-client-0: failed to set the volume [Permission denied]
[2016-09-25 04:54:12.455239] W [MSGID: 114007] [client-handshake.c:1140:client_setvolume_cbk] 0-rep-volume-client-0: failed to get 'process-uuid' from reply dict [Invalid argument]
[2016-09-25 04:54:12.455243] E [MSGID: 114044] [client-handshake.c:1146:client_setvolume_cbk] 0-rep-volume-client-0: SETVOLUME on remote-host failed [Permission denied]
[2016-09-25 04:54:12.455256] I [MSGID: 114049] [client-handshake.c:1249:client_setvolume_cbk] 0-rep-volume-client-0: sending AUTH_FAILED event
[2016-09-25 04:54:12.455270] E [fuse-bridge.c:5318:notify] 0-fuse: Server authenication failed. Shutting down.
[2016-09-25 04:54:12.455278] I [fuse-bridge.c:5793:fini] 0-fuse: Unmounting '/mnt/replica'.
[2016-09-25 04:54:12.456149] W [glusterfsd.c:1286:cleanup_and_exit] (-->/lib64/libpthread.so.0(+0x7dc5) [0x7f039192adc5] -->/usr/sbin/glusterfs(glusterfs_sigwaiter+0xe5) [0x7f0392fbec45] -->/usr/sbin/glusterfs(cleanup_and_exit+0x6b) [0x7f0392fbeabb] ) 0-: received signum (15), shutting down
以下是 Server1 (ST0) 上的 gluster 卷信息:
ST0: ~ root # gluster volume info
Volume Name: rep-volume
Type: Replicate
Volume ID: 566324fc-668b-48cb-a3ee-0f9830cb03e0
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: ST0:/replica1
Brick2: ST1:/replica2
Options Reconfigured:
nfs.disable: on
performance.readdir-ahead: on
transport.address-family: inet
auth.allow: STC
如果有人能帮助我,我将非常感激。谢谢。
更新:
@FarazX 提供的答案确实很有帮助,解决了我的问题,但我仍然有兴趣找到为什么当我在客户端服务器上执行相同操作时这种情况起作用的原因(没有成功)?我在 bugzilla.redhat.com 上读了很多东西,但原因对我来说仍然有点模糊。
答案1
我遇到了同样的问题,但我尝试将客户端安装在同一台服务器上,并且效果很好。
在您的情况下,可以通过分别在 ST0 和 ST1 上运行以下命令来完成:
ST0: ~ root # mkdir /mnt/replica
ST0: ~ root # mount.glusterfs ST0:/rep-volume /mnt/replica/
ST0: ~ root # echo 'ST0:/rep-volume /mnt/replica glusterfs _netdev,fetch-attempts=10 0 0' >> /etc/fstab
&
ST1: ~ root # mkdir /mnt/replica
ST1: ~ root # mount.glusterfs ST1:/rep-volume /mnt/replica/
ST1: ~ root # echo 'ST1:/rep-volume /mnt/replica glusterfs _netdev,fetch-attempts=10 0 0' >> /etc/fstab
注意检查您的防火墙配置和规则。
我希望这可以解决您的问题。