web-dev-qa-db-ja.com

GlusterFS複製ボリューム-マウントの問題

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が提供した回答は本当に役に立ち、私の問題を解決しましたが、クライアントサーバーで同じことをしているときにこの条件が機能した理由を見つけることに興味があります(成功しませんでした)?I bugzilla.redhat.comで多くのことを読んでいますが、理由はまだ少しあいまいです。

2
Parsa Samet

同じ問題が発生しましたが、クライアントを同じサーバーにマウントしようとしましたが、完全に機能しました。

あなたの場合、それはそれぞれ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

N.B。ファイアウォールの構成とルールを確認してください。

これで問題が解決することを願っています。

1
FarazX