설치된 서버에 장애가 발생한 경우 GlusterFS는 어떻게 (지능적으로) 장애 조치를 수행합니까?

설치된 서버에 장애가 발생한 경우 GlusterFS는 어떻게 (지능적으로) 장애 조치를 수행합니까?

GlusterFS에서 볼륨에 2개의 노드(서버)가 있다고 가정해 보겠습니다. 볼륨 정보가 다음과 같다고 가정합니다.

Volume Name: volume-www

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

클라이언트로부터 알고 있듯이 volume-www하나의 서버에서 볼륨을 마운트해야 합니다. 좋다:

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

아직까지 연결만 되어 있어서 병목 현상이 있는 것 같은 느낌이 듭니다 gluster-server-01.

  • 실패하면 어떻게 되나요?

물론 다른 정상 서버에서 수동으로 다시 마운트할 수도 있습니다. 그런데 이 문제를 해결할 수 있는 더 현명한 방법(산업적 접근 방식)이 있을까요?

답변1

이 작업을 수행할 때:

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

처음에는 Gluster 볼륨을 구성하는 노드 중 하나에 연결하지만 FUSE 기반의 Gluster Native Client는 다른 노드에 대한 정보를 받습니다 gluster-server-01. 이제 클라이언트는 다른 노드에 대해 알고 있으므로 장애 조치 시나리오를 적절하게 처리할 수 있습니다.

답변2

OpenUserX03의 답변정확하지 않습니다.

클라이언트가 Gluster 서버 노드에 연결하면 모든 노드에 대한 정보를 받습니다. 그 후 여러 노드와 동시에 통신을 시작합니다. 따라서 노드가 종료되면 "장애 조치"가 발생하지 않고 노드만 손실되지만 다른 노드와의 통신은 계속 유지됩니다.

기록 노트에서:

mount 명령에 지정된 서버는 볼륨 이름을 설명하는 Gluster 구성 volfile을 가져오는 데에만 사용됩니다. 그런 다음 클라이언트는 volfile에 언급된 서버(마운트에 사용된 서버를 포함하지 않을 수도 있음)와 직접 통신합니다.

답변3

다음 두 가지 방법을 사용할 수 있습니다.

  1. backupvolfile 옵션 fstab 사용

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

  1. 데이터 파일 /etc/datastore.vol 생성 예

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 fstab 내용과 비교:

/etc/datastore.vol /media glusterfs defaults,_netdev,log-level=WARNING,log-file=/var/log/gluster.log 0 0

관련 정보