web-dev-qa-db-ja.com

1つのノードに障害が発生すると、gluster操作がハングします

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を構成する方法はありますか?

2
undefine

誰かがまだ答えを探しているなら...

GlusterFSのデフォルトのタイムアウトは42秒です。次のコマンドを実行できます。

gluster volume set VOLUME_NAME network.ping-timeout 5

ここで、5は、再び動作可能になる前にglusterをハングさせたい秒数です。このオプションは共有オプションであるため、ノードの1つでのみ設定する必要があります。

1
Misterr Moron