3ノードのglusterサーバーがあります。それからのマウントのほとんどは読み取り専用であり、次のようにローカルホストに送信されます。
mount -t glusterfs localhost:/volume /mnt/mountpoint/ -o ro
ボリュームは、3つのレプリカ(すべてのノードに1つのブリック)を持つタイプレプリケートです。
次のようなボリュームオプションを構成しました。
cluster.quorum-count: 1
cluster.quorum-type: fixed
cluster.server-quorum-type: none
1つのノードの失敗/再起動によって、ローカルにマウントされたボリュームからの読み取り操作が中断されることはないと思います。残念ながら、ノードを再起動したり、ノードに障害が発生したりすると、次のような読み取り操作も行われます。
ls -l /mnt/mountpoint/somefile
障害が発生したノードが起動するか、network.ping-timeoutに達するまでハングします。現在の3.8までのバージョンを試しました。
障害が発生したノードから独立して、常に(ローカル!)コンテンツを提供するようにglusterfsを構成する方法はありますか?
誰かがまだ答えを探しているなら...
GlusterFSのデフォルトのタイムアウトは42秒です。次のコマンドを実行できます。
gluster volume set VOLUME_NAME network.ping-timeout 5
ここで、5は、再び動作可能になる前にglusterをハングさせたい秒数です。このオプションは共有オプションであるため、ノードの1つでのみ設定する必要があります。