GlusterFSのインストール・クライアント設定

1.GlusterFSとは

9b466bcc715e8c213ff68315aabc0834

GlusterFSとは分散ファイルシステムを実現するサーバソフトウェア。Gluster Inc. によって開発され、2011年9月Redhat社が買収し現在はOSS版と商用版が存在する。GlusterFSを利用することで、複数のサーバのファイルシステムを集約して1つのファイルシステムとして利用できる。VIP,マスターやスレーブといった概念はない。基本的にすべてのノードは同格として扱われる。

VIPがない…?

クライアントはGlusterクラスタのいずれかのノードに対して、GlusterFileSystemのマウントを行うが、仮にマウント先のノードがダウンしている場合、マウントは失敗する。ただしマウントオプションで接続失敗した場合に違うマウント先を設定できるオプションがあるので、それを利用することで接続先がダウンしたときに、フェイルオーバーが可能。

2.GlusterFS用語等々

用語 説明
ストレージプール(Storage Pool) GlusterFSクラスタに参加するサーバグループのことを指します。
ブリック(Brick)
個々のサーバのファイルシステムを指します。ノード、GlusterFSに利用される。GlusterFSは各ノードの1つのブリックにつき1つのポートが使用されます。
ボリューム
ブリックを論理的に束ねたものです。GlusterFSストレージをクライアントから利用する場合には、このボリュームをマウントして利用します。
ボリュームタイプ ボリュームにデータを作成する時の方式です。ボリューム作成時に選択できます。

Distributed 1つのファイルを1つのブリックに保存します。
Replicated 1つのファイルを他のブリックにも複製して保存します。可用性高。
Striped 1つのファイルを分割して複数のブリックに保存します。

3.インストール手順(Server)

今回はサーバ二台&クライアント一台構成でやってみました。
・gluster01.tagutagu.com 10.24.96.141
・gluster02.tagutagu.com 10.24.96.142

CentOSから提供されているリポジトリを使用します。

Glusterクラスタ(ストレージプール) にサーバ追加を追加します。

ストレージプールに参加しているサーバを確認します。

接続できないホストが存在する場合はdisconnectとなります。

各サーバでブリック用ディレクトリを作成します。

各サーバで名前解決用にhostsファイルを編集します。

いずれかのサーバでGluster volumeを作成し、ボリュームを起動。

書式 Gluster volume create <NEW-VOLNAME> [stripe <COUNT>] [replica <COUNT> [arbiter <COUNT>]] [disperse [<COUNT>]] [disperse-data <COUNT>] [redundancy <COUNT>] [transport <tcp|rdma|tcp,rdma>] <NEW-BRICK>?<vg_name>… [force]

基本はルートパーティションと同じデバイス上にはボリュームのブリックは作成できないみたい。今回は強制実行(force)で実行してしまいました。

※ルートパーティションをブリックにした構成でやると怒られる
[root@gluster01 ~]# gluster volume create gs01 replica 2 gluster01.tagutagu.com:/gluster_fs/gs01 gluster02.t
agutagu.com:/gluster_fs/gs01
volume create: gs01: failed: The brick gluster01.tagutagu.com:/gluster_fs/gs01 is being created in the root partition. It is recommended that you don’t use the system’s root partition for storage backend. Or use ‘force’ at the end of the command if you want to override this behavior.

またボリュームを作り直す場合などキャッシュが完全に消えない場合がある、以下のメッセージで怒られたらキャッシュを消してみると吉。
https://qiita.com/kawaz/items/afc5659f14b586190f23

4.GlusterFSをNFSで使用するための設定

初期状態ではクライアントからNFSマウントすることができなかったため、必要箇所を修正します。GlusterFSには、CentOS標準とは異なるNFSサーバ機能がふくまれています。デフォルトでは無効化されているので各サーバで有効化しておきます。

NFSに必要なrpcbindの起動、rpcbind起動に伴いGlusterFSを再起動します。

5.クライアント設定

クライアント側も各GlusterFSサーバを名前解決可能な状態にしておく必要があります。(直接接続しないサーバについても)hostsを編集しておきます。

クライアントからGlusterFileSystemをマウントするには、2つの方法があります。

GlusterFSクライアントとしてマウント

必要なパッケージをインストールし、マウントタイプをglusterfsを指定します。

NFSクライアントとしてマウント

 

また、一回こんなエラーに遭遇。ClientのGluster logに、なにやらGluster Volume側のキャッシュサイズがでかすぎるよ、とのこと。

Gluster Server側で言われたとおりにオプションを変えたら解決した。

 

 

 

以上です。

Bookmark this on Google Bookmarks
LINEで送る
Pocket