Glusterfs

DMMで利用されているGlusterfs

ちょっとした工夫で耐障害性を向上させています。

通常は下記のようにサーバがfuseによってglusterのボリュームをマウントします。

※nfsでもcifsでもマウントできますがfuseが推奨されているようです。残念ながらWindows版のfuseクライアントは開発途中です。

この場合Glusterpeerで冗長性が取られていたとしてもサーバがマウントしているGlusterサーバが落ちるとサーバ側にも障害が発生してしまいます。しかも裏側が死んでいるのにもかかわらずフロント側のアプリケーションがサービスを受け続ける状態となってしまうのでやっかいな状態となる。

これを回避するために書き込みができるかどうかの監視を行い障害箇所を切り離すようするのですが、リアルタイムではないので問題は完全に解決しません。

fuse_mount

そこで我々がとったアプローチは下記の構成です。

サーバもglusterpeerに参加させ、そのpeer上でGlusterボリュームをマウントする。

こうする事でGlusterサーバのA,B,Cのどれが落ちても冗長性が保てるようになります。

Glusterpeer_mount

 

サーバはpeerに参加はするのですがbrickは一つも提供しません。

また、別のアプローチとしてglusterサーバ上にアプリケーションを乗っけてそのまま運用している場合もあります。

用途に合わせた使い分けを行うのが重要です。

みなさんはどのようにお使いですか?ぜひ教えてください。

glusterfs, linux

Posted by Akira


PAGE TOP