Repliziertes GlusterFS-Volume – Mount-Problem

Repliziertes GlusterFS-Volume – Mount-Problem

Ich führe GlusterFS mit 2 Servern (ST0 und ST1) und 1 Client (STC) aus und der Volname ist Rep-Volume.

Ich habe im Internet gesurft und alle Artikel gelesen, in denen erklärt wurde, wie man Montageprobleme behebt, aber leider konnte mir nichts helfen.

Als ich den folgenden Befehl zum ersten Mal verwendete, funktionierte er einwandfrei und ich hatte Schreibzugriff:

$ mount.glusterfs ST0:/rep-volume /mnt/replica/

Aber nach dem Neustart des Clients kann ich ihn nicht erneut mounten. Hier ist das Ergebnis:

$ mount.glusterfs ST0:/rep-volume /mnt/replica/
Mount failed. Please check the log file for more details.

Die Protokolldatei wird unten angezeigt:

$ 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

Hier sind die Gluster-Volumeninformationen zu Server1 (ST0):

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

Ich wäre sehr dankbar, wenn mir jemand helfen könnte. Danke.

AKTUALISIEREN:

Die Antwort von @FarazX war wirklich hilfreich und hat mein Problem gelöst, aber ich bin immer noch daran interessiert, den Grund herauszufinden, warum dieser Zustand auftrat, während ich dasselbe auf dem Client-Server tat (ohne Erfolg)? Ich habe viele Dinge auf bugzilla.redhat.com gelesen, aber der Grund ist mir immer noch ein wenig unklar.

Antwort1

Ich hatte das gleiche Problem, aber ich habe versucht, die Clients auf denselben Servern zu mounten und es hat perfekt funktioniert.

In Ihrem Fall würde dies durch Ausführen des folgenden Befehls auf ST0 bzw. ST1 erfolgen:

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

und

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

AchtungÜberprüfen Sie Ihre Firewall-Konfiguration und -Regeln.

Ich hoffe, dies kann Ihr Problem lösen.

verwandte Informationen