GlusterFS como fazer failover (inteligentemente) se um servidor montado falhar?

3

No GlusterFS, digamos que eu tenha 2 nós (servidores) em um volume. Digamos que a informação do volume seja algo assim:

Volume Name: volume-www

Brick1: gluster-server-01:/volume-www/brick
Brick2: gluster-server-02:/volume-www/brick

Do cliente, como sabemos, temos que montar o volume volume-www montando a partir de um servidor. Como:

mount -t glusterfs  gluster-server-01:/volume-www  /var/www

Eu ainda sinto que há um ponto de estrangulamento, já que estou me conectando a esse gluster-server-01 apenas.

  • E se estiver com falha?

É claro que posso montar manualmente a partir de outro servidor saudável novamente. Mas existe uma maneira mais inteligente (abordagem industrial) para resolver isso?

    
por 夏期劇場 03.07.2015 / 09:31

3 respostas

6

Quando você está fazendo isso:

mount -t glusterfs  gluster-server-01:/volume-www  /var/www

Você está se conectando inicialmente a um dos nós que compõem o volume do Gluster, mas o Gluster Native Client (que é baseado no FUSE) recebe informações sobre os outros nós de gluster-server-01 . Como o cliente agora sabe sobre os outros nós, ele pode lidar com um cenário de failover.

    
por 15.09.2015 / 21:35
1

A resposta do OpenUserX03 não é muito precisa.

Quando um cliente se conecta a um nó do servidor do Gluster, ele recebe informações sobre todos os nós. Depois disso, ele começa a se comunicar com vários nós simultaneamente. Assim, quando um nó morre, ele não "faz failover", apenas perde esse nó, mas mantém a comunicação em andamento com os outros:

Em sua nota documentada:

The server specified in the mount command is only used to fetch the gluster configuration volfile describing the volume name. Subsequently, the client will communicate directly with the servers mentioned in the volfile (which might not even include the one used for mount).

    
por 23.03.2018 / 23:39
-2

Você pode usar de duas formas abaixo:

  1. Use as opções de backupvolfile fstab

server1_name:/media /media glusterfs defaults,_netdev,backupvolfile-server=server2_name,log-level=WARNING,log-file=/var/log/gluster.log 0 0

  1. crie um arquivo de dados /etc/datastore.vol example

volume mymedia-client-0 type protocol/client option clnt-lk-version 1 option volfile-checksum 0 option volfile-key /mymedia option client-version 3.8.12 option process-uuid server01.vn-7565-2017/10/03-02 option fops-version 1298437 option ping-timeout 42 option remote-host 192.168.10.79 option remote-subvolume /data01/brick option transport-type socket option transport.address-family inet option send-gids true end-volume volume mymedia-client-1 type protocol/client option clnt-lk-version 1 option volfile-checksum 0 option volfile-key /mymedia option client-version 3.8.12 option process-uuid server01.vn-7565-2017/10/03-02 option fops-version 1298437 option ping-timeout 42 option remote-host 192.168.10.80 option remote-subvolume /data01/brick option transport-type socket option transport.address-family inet option send-gids true end-volume volume mymedia-replicate-0 type cluster/replicate subvolumes mymedia-client-0 mymedia-client-1 end-volume volume mymedia-client-2 type protocol/client option ping-timeout 42 option remote-host 192.168.10.81 option remote-subvolume /data01/brick option transport-type socket option transport.address-family inet option send-gids true end-volume volume mymedia-client-3 type protocol/client option ping-timeout 42 option remote-host 192.168.10.82 option remote-subvolume /data01/brick option transport-type socket option transport.address-family inet option send-gids true end-volume volume mymedia-replicate-1 type cluster/replicate subvolumes mymedia-client-2 mymedia-client-3 end-volume volume mymedia-dht type cluster/distribute option lock-migration off subvolumes mymedia-replicate-0 mymedia-replicate-1 end-volume volume mymedia-write-behind type performance/write-behind subvolumes mymedia-dht end-volume volume mymedia-read-ahead type performance/read-ahead subvolumes mymedia-write-behind end-volume volume mymedia-readdir-ahead type performance/readdir-ahead subvolumes mymedia-read-ahead end-volume volume mymedia-io-cache type performance/io-cache subvolumes mymedia-readdir-ahead end-volume volume mymedia-quick-read type performance/quick-read subvolumes mymedia-io-cache end-volume volume mymedia-open-behind type performance/open-behind subvolumes mymedia-quick-read end-volume volume mymedia-md-cache type performance/md-cache subvolumes mymedia-open-behind end-volume volume mymedia type debug/io-stats option log-level INFO option latency-measurement off option count-fop-hits off subvolumes mymedia-md-cache end-volume volume meta-autoload type meta subvolumes mymedia end-volume conteúdo vs fstab:

/etc/datastore.vol /media glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0
    
por 04.10.2017 / 05:08