Hogex spotted

Feed Rss

GlusterFSで分散レプリケーションファイルサーバを試してみる #01

09.21.2012, GlusterFS, by .

GlusterFSの検証を行なっているので、作業の備忘録・メモ代わりに色々と使い方を書いてみます。

今回は

・サーバ2台、クライアント1台

・サーバ2台でレプリケーションクラスタを組む

という所までやってみたいと思います。

この先の展望としては

・フェイルオーバー時の動作検証

・Heartbeatとかと組み合わせて、フェイルオーバー時の自動切り替えが可能か

・ボリュームの設定変更の柔軟性

と、とりあえずこの辺は色々いじくってみたいなーと思います。

 

ひとまず、今回はGlusterFSでのレプリケーションファイルサーバを動かす所までいきます。

構成はこんな感じ↓

・サーバ#1 server1 192.168.1.1

・サーバ#2 server2 192.168.1.2

・クライアント client 192.168.1.3

尚、OSは全てCentOS6.3 x86_64です。

 

先ずは必要なパッケージを次のコマンドでインストールしておきます。サーバ・クライアントともに共通です。
# yum install fuse fuse-libs

 

次に、glusterの公式サイトからrpmを拾ってきます。全てのホストに3つのパッケージ全てをrpmコマンドでインストールします。

http://download.gluster.com/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-3.3.0-1.el6.x86_64.rpm

http://download.gluster.com/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-fuse-3.3.0-1.el6.x86_64.rpm

http://download.gluster.com/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-server-3.3.0-1.el6.x86_64.rpm

 

インストールが終わったら、サーバ側でglusterdを起動します。

[root@server1 ~]# chkconfig glusterd on

[root@server1 ~]# service glusterd start

[root@server2 ~]# chkconfig glusterd on

[root@server2 ~]# service glusterd start

 

次にサーバでクラスタピアの設定を行います。

[root@server1 ~]# gluster peer probe 192.168.1.2

これでserver1とserver2がクラスタピアとしてお互いを認識しました。

 

次にGlusterFSのボリュームを作成します。GlusterFSはボリュームを構成する部品を「ブリック」という単位で扱います。

「ブリック」の実態はディレクトリです。複数のブリック、つまりディレクトリをまとめて抽象化を行い、単一の大きなボリュームとして見せるのがGlusterFSのお仕事です。

ボリュームの作成は次のように行います。

[root@server1 ~]# gluster vol create ReplVol01 replica 2 192.168.1.1:/var/share/brick01 192.168.0.2:/var/share/brick01

[root@server1 ~]# gluster vol start ReplVol01

これで、Server1の/var/share/brick01とServer02の/var/share/brick01を組み合わせたGlusterFSボリューム「ReplVol01」が作成されます。

コマンド中の「replica 2」は2つのブリックを使ってレプリケーションボリュームを作成するという意味になります。

ボリュームタイプはレプリケーションの他に「分散」と「ストライピング」が選択できます。ストライピングを選択する場合はオプション「stripe」を選択します。ボリュームタイプ指定を省くと自動的に分散となります。

 

ボリュームの状態を確認するには↓のコマンドを発行します。

[root@server1 ~]# gluster vol info

このコマンドで、マウントするボリュームのStatusが「Started」になっていれば、利用可能な状態となっています。

 

次にクライアントからマウントします。マウントはGlusterのパッケージをインストールすれば、標準のマウントコマンドで行えます。

[root@client ~]# mount -t glusterfs 192.168.1.1:/ReplVol01 /mnt/

これで正常にサーバが動作していればマウントが完了します。ね、簡単でしょう?

あとはごく普通のファイルシステムとして扱えます。試しにクライアントからファイルを置いてみて、サーバ側で/var/share/brick01ディレクトリを直接除いてみたら、両方のサーバにファイルができていました。ただ、Gluster的にはこのスタイルのアクセスはアウトらしいので(ストライピングとかありますしね)、通常使う分にはネットワーク越しでマウントしてアクセスするだけにしてねって事でしょう。

ひとまず、今回は以上です。次回からはわざと落としてみたり、色々やってみますー。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


   Beat diabetes   Diabetes diet