GlusterFS: Когда один узел не работает, второй не работает. t take over

Я только что установил GlusterFS на двух узлах, похоже, он работает нормально, статус повышен, а также репликация работает нормально.

Но когда я остановите том кластера тома node1 остановите glustervol1` или выключите сервер, чтобы смоделировать сбой, второй узел не вступит во владение.

Я выполнил эти инструкции, чтобы установить GlusterFS ЗДЕСЬ

ИЗМЕНИТЬ

я использую VMware с 7 Vm и CentOS 7.

App-Master: LampStack, удаленная база данных в Mysql-Master, хранилище в Gluster 1.

gluster1:/glustervol1       /home/wordpress/  glusterfs   defaults,_netdev  0  0

App-Slave: Lampstack, удаленная база данных в Mysql-Slave, хранилище в Gluster 2.

gluster2:/glustervol1       /home/wordpress/  glusterfs   defaults,_netdev  0  0

Mysql-Master: Mysql.

Mysql-Slave: Mysql (репликация).

Gluster 1: сервер GlusterFS, на котором создается том.

Gluster 2: GlusterFS реплика Gluster 1.

LoadBalancer: балансировка нагрузки Nginx между ведущим приложением и ведомым приложением

**** * ИНФОРМАЦИЯ *****

172.16.172.147 gluster1
172.16.172.148 gluster2
172.16.172.146 appslave
172.16.172.143 appmaster

Журналы с сервера App-Master

После выключения Gluster1

[2016-11-21 16:36:18.532124] W [socket.c:642:__socket_rwv] 0-glusterfs: readv on 172.16.172.147:24007 failed (Connection timed out)
[2016-11-21 16:36:18.532125] W [socket.c:642:__socket_rwv] 0-glustervol1-client-0: readv on 172.16.172.147:49152 failed (Connection timed out)
[2016-11-21 16:36:18.532323] I [MSGID: 114018] [client.c:2042:client_rpc_notify] 0-glustervol1-client-0: disconnected from glustervol1-client-0. Client process will keep trying to connect to glusterd until brick's port is available
[2016-11-21 16:36:31.965015] E [socket.c:2332:socket_connect_finish] 0-glusterfs: connection to 172.16.172.147:24007 failed (No route to host)
[2016-11-21 16:36:31.965141] E [socket.c:2332:socket_connect_finish] 0-glustervol1-client-0: connection to 172.16.172.147:24007 failed (No route to host)

После включения Gluster1

[2016-11-21 16:39:02.258175] I [glusterfsd-mgmt.c:1512:mgmt_getspec_cbk] 0-glusterfs: No change in volfile, continuing
[2016-11-21 16:39:02.258595] I [rpc-clnt.c:1851:rpc_clnt_reconfig] 0-glustervol1-client-0: changing port to 49152 (from 0)
[2016-11-21 16:39:02.262348] I [MSGID: 114057] [client-handshake.c:1437:select_server_supported_programs] 0-glustervol1-client-0: Using Program GlusterFS 3.3, Num (1298437), Version (330)
[2016-11-21 16:39:02.299637] I [MSGID: 114046] [client-handshake.c:1213:client_setvolume_cbk] 0-glustervol1-client-0: Connected to glustervol1-client-0, attached to remote volume '/bricks/brick1/brick'.
[2016-11-21 16:39:02.299714] I [MSGID: 114047] [client-handshake.c:1224:client_setvolume_cbk] 0-glustervol1-client-0: Server and Client lk-version numbers are not same, reopening the fds
[2016-11-21 16:39:02.300513] I [MSGID: 114035] [client-handshake.c:193:client_set_lk_version_cbk] 0-glustervol1-client-0: Server lk version = 1

После выключения Gluster2

[2016-11-21 16:41:33.394122] C [rpc-clnt-ping.c:161:rpc_clnt_ping_timer_expired] 0-glustervol1-client-1: server 172.16.172.148:49152 has not responded in the last 42 seconds, disconnecting.
[2016-11-21 16:41:33.394943] E [rpc-clnt.c:362:saved_frames_unwind] (--> /lib64/libglusterfs.so.0(_gf_log_callingfn+0x186)[0x7fd4ad63c906] (--> /lib64/libgfrpc.so.0(saved_frames_unwind+0x1de)[0x7fd4ad40792e] (--> /lib64/libgfrpc.so.0(saved_frames_destroy+0xe)[0x7fd4ad407a3e] (--> /lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0x9c)[0x7fd4ad4093fc] (--> /lib64/libgfrpc.so.0(rpc_clnt_notify+0x88)[0x7fd4ad409c08] ))))) 0-glustervol1-client-1: forced unwinding frame type(GlusterFS 3.3) op(LOOKUP(27)) called at 2016-11-21 16:40:50.706048 (xid=0x59e)
[2016-11-21 16:41:33.394973] W [MSGID: 114031] [client-rpc-fops.c:2971:client3_3_lookup_cbk] 0-glustervol1-client-1: remote operation failed. Path: / (00000000-0000-0000-0000-000000000001) [Transport endpoint is not connected]
[2016-11-21 16:41:33.395188] E [rpc-clnt.c:362:saved_frames_unwind] (--> /lib64/libglusterfs.so.0(_gf_log_callingfn+0x186)[0x7fd4ad63c906] (--> /lib64/libgfrpc.so.0(saved_frames_unwind+0x1de)[0x7fd4ad40792e] (--> /lib64/libgfrpc.so.0(saved_frames_destroy+0xe)[0x7fd4ad407a3e] (--> /lib64/libgfrpc.so.0(rpc_clnt_connection_cleanup+0x9c)[0x7fd4ad4093fc] (--> /lib64/libgfrpc.so.0(rpc_clnt_notify+0x88)[0x7fd4ad409c08] ))))) 0-glustervol1-client-1: forced unwinding frame type(GF-DUMP) op(NULL(2)) called at 2016-11-21 16:40:50.706053 (xid=0x59f)
[2016-11-21 16:41:33.395201] W [rpc-clnt-ping.c:204:rpc_clnt_ping_cbk] 0-glustervol1-client-1: socket disconnected
[2016-11-21 16:41:33.395211] I [MSGID: 114018] [client.c:2042:client_rpc_notify] 0-glustervol1-client-1: disconnected from glustervol1-client-1. Client process will keep trying to connect to glusterd until brick's port is available

После включения Gluster2

[2016-11-21 16:41:45.255081] E [socket.c:2332:socket_connect_finish] 0-glustervol1-client-1: connection to 172.16.172.148:24007 failed (No route to host)

NB: Восстановление работало, даже если Gluster1 или Gluster2 не работал, приложение продолжало работать.

0
задан 21 November 2016 в 17:18
2 ответа

GlusterFS работает не совсем так, поскольку она не «переключается при сбое». Ни один узел не выступает в качестве мастера, поскольку GlusterFS не имеет мастера. Клиент отвечает за подключение ко всем одноранговым узлам Gluster, и именно клиент должен поддерживать видимость сети для серверов, чтобы поддерживать нормальную активность тома. Связь между узлами обычно используется только во время операций восстановления тома и для согласования взаимного доверия.

Если вы следуете этому руководству, я предполагаю, что вы создали гластерный том реплики 2 из двух блоков. Как выглядит ваша конфигурация и как выглядит общая сеть, которая соединяет эти узлы Gluster вместе, а также то, что связывает их с клиентами? Большинство проблем с Gluster связано с проблемами связи между клиентом и сервером.

2
ответ дан 4 December 2019 в 13:37

Очевидно вы забыли параметр

вам следует добавить backupvolfile-server для монтирования

пример:

gluster1:/glustervol1       /home/wordpress/  glusterfs   defaults,_netdev,backupvolfile-server=gluster2  0  0
1
ответ дан 20 June 2020 в 17:18

Теги

Похожие вопросы