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 の時は <ホスト>:/<共有ディレクトリ> ですが、マウント時は <ホスト>:/<ボリューム名> となります。