きょうはあしたのために

今日気づいたことをかくんだ

glusterfsでマウントしたディレクトリに書き込むことができなくなった話

概要

2年ほど前にglusterfsでクラスタリングしたストレージを構築。
当ストレージを新たに構築したサーバーからマウントさせた際に、
ファイルの読み込みはできたもののなぜか書き込むことができなくなった。

解説

結論から言えばglusterfsのサーバー側とクライアント側のバージョンに大きく乖離があった。

2年ほど前に構築したストレージ(サーバー側)はglusterfs-serverの3.3.1がインストールされていたが、
新たに構築したサーバー(クライアント側)はglusterfs、glusterfs-fuseの3.7.6がインストールされていた。

その結果どういった理由かはわからないが書き込もうとした際に「Transport endpoint is not connected」というエラーがでた。

glusterfsのクライアント側のログ(/var/log/glusterfs/xxxxx)にも以下のようなエラー(ログレベルはなぜかワーニングっぽいが・・)が吐かれていた。

[2016-06-20 06:29:47.820314] W [fuse-bridge.c:1284:fuse_err_cbk] 0-glusterfs-fuse: 886: FSYNC() ERR => -1 (Transport endpoint is not connected)

クライアント側(CentOS6.7)はyumでglusterfsをインストールすると3.7.6が入ってしまう状態だったため、
以下からglusterfs3.3.1のrpmを落としてきてインストールした。

http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/EPEL.repo/epel-6/x86_64/glusterfs-3.3.1-15.el6.x86_64.rpm
http://download.gluster.org/pub/gluster/glusterfs/3.3/3.3.1/EPEL.repo/epel-6/x86_64/glusterfs-fuse-3.3.1-15.el6.x86_64.rpm

無事マウントしたファイルシステムへの書き込み・読み込みもできるようになった。