GlusterFS 복제 볼륨 - 마운트 문제

GlusterFS 복제 볼륨 - 마운트 문제

저는 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

주의방화벽 구성 및 규칙을 확인하세요.

이것이 귀하의 문제를 해결할 수 있기를 바랍니다.

관련 정보