Filesystems

GlusterFS 複製卷 - 安裝問題

  • October 8, 2016

我正在使用 2 個伺服器(ST0 和 ST1)和 1 個客戶端(STC)執行 GlusterFS,並且 volname 是 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 上閱讀了很多東西,但原因對我來說仍然有點模糊。

我遇到了同樣的問題,但是我嘗試將客戶端安裝在同一台伺服器上並且效果很好。

在您的情況下,可以通過分別在 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

注意檢查您的防火牆配置和規則。

我希望這可以解決您的問題。

引用自:https://unix.stackexchange.com/questions/312178