GlusterFS でミラーボリュームを作ってみる

GlusterFS を使ってミラー(RAID 1)構成のボリュームを作成する方法を紹介します。このミラー構成はレプリケーテッドボリュームと呼ばれるボリュームオプションで実現します。

まずはインストール

インストールしていない場合は こちら を参照して下さい。

最初に他のサーバを承認しておく

GlusterFS ではボリュームを構成するサーバを事前に承認して peer 状態にしておく必要があります。

$ sudo gluster peer probe ubuntuserver
$ sudo gluster peer probe 192.168.1.132 # IP 指定も可能

peer の状態は gluster peer status コマンドで確認できます。

$ sudo gluster peer status
 Number of Peers: 2
 Hostname: ubuntuserver
 Uuid: e46a8961-7cd4-41bf-aebc-c9d357508882
 State: Peer in Cluster (Connected)
 Hostname: 192.168.1.132
 Uuid: 1b232e41-ab35-40c7-a5bd-0765f2a164c4
 State: Peer in Cluster (Connected)

ミラーボリュームを作る

次にボリュームを作成します。GlusterFS のボリュームオプションはたくさんありますが今回はレプリケーテッドボリュームを作成します。その他のオプションについては こちら を参照して下さい。

$ sudo mkdir -p /srv/test-volume # 共有したい全てのサーバで実行
$ sudo gluster volume create test-volume replica 2 ubuntuserver:/srv/test-volume 192.168.1.132:/srv/test-volume

ボリュームを開始する

次にこのボリュームを開始します。

$ sudo gluster volume start test-volume

これでボリュームが開始されました。ボリュームの状態をみるには gluster volume info コマンドを使います。

$ sudo gluster volume info test-volume

マウントする

最後にクライアントからマウントします。今回は GlusterFS ネイティブクライアント版と NFS 版を紹介します。

最初に GlusterFS ネイティブクライアント版

$ sudo mkdir -p /mnt/test-volume # クライアントサーバで実行
$ sudo mount -t glusterfs ubuntuserver:/test-volume /mnt/test-volume
$ sudo mount -t glusterfs 192.168.1.132:/test-volume /mnt/test-volume

次に NFS クライアント版です。

$ sudo mkdir -p /mnt/test-volume # クライアントサーバで実行
$ sudo mount -t nfs -o vers=3 ubuntuserver:/test-volume /mnt/test-volume
$ sudo mount -t nfs -o vers=3 192.168.1.132:/test-volume /mnt/test-volume

マウント時はサーバを指定する必要がありますが、これは最初だけでこのサーバが落ちたとしてもアクセス可能です。また、サーバを指定する際のボリュームが glusterfs volume create の時と異なることに注意して下さい。

glusterfs volume create の時は <ホスト>:/<共有ディレクトリ> ですが、マウント時は <ホスト>:/<ボリューム名> となります。

関連

Published by in Linux, Web 技術, オープンソース, スケーラビリティ and ストレージ using 172 words.