Ubuntu 14.04
Sponsored Link

GlusterFS : ストライプ + レプリカの設定2014/05/31

 
分散ファイルシステム GlusterFS をインストールし、ストライプ + レプリカ構成を設定をします。
4台のサーバー中の 2台のサーバー間でそれぞれストライピング構成をとりつつ、ストライピング構成を設定した 2台のサーバーを 1組とした 2組間でレプリカをとる、いわゆる RAID10 のような構成です。
                                     +--------------------+           +--------------------+
                            10.0.0.60|                    |  10.0.0.62|                    |
                               +-----+ GlusterFS Server#1 |     +-----+ GlusterFS Server#3 |
+-----------------+            | eth0|                    |     | eth0|                    |
|                 |10.0.0.69   |     +--------------------+     |     +--------------------+
| GlusterFS Clint |------------+--------------------------------+
|                 |eth0        |     +--------------------+     |     +--------------------+
+-----------------+            | eth0|                    |     | eth0|                    |
                               +-----+ GlusterFS Server#2 |     +-----+ GlusterFS Server#4 |
                            10.0.0.61|                    |  10.0.0.63|                    |
                                     +--------------------+           +--------------------+

[1] まずは 4台の GlusterFS サーバーに、以下のように同じ設定をしておきます。GlusterFS のボリュームに割り当てるディレクトリは、ルートパーティションとは別のパーティション上に作成することが推奨です。
root@gfs01:~#
apt-get -y install glusterfs-server
root@gfs01:~#
vi /etc/hosts
# GlusterFS サーバーを登録

10.0.0.60       gfs01.srv.world gfs01
10.0.0.61       gfs02.srv.world gfs02
10.0.0.62       gfs03.srv.world gfs03
10.0.0.63       gfs04.srv.world gfs04

# ボリュームに割り当てるディレクトリを作成しておく(任意の場所でよいが / パーティションとは別のパーティションが推奨)

root@gfs01:~#
mkdir /glusterfs/strip-replica

[2] 任意の1台のサーバーで以下の設定をします。
# 他のサーバーを探す

root@gfs01:~#
gluster peer probe gfs02

peer probe: success    
# 見つかった

# 他のサーバーを探す

root@gfs01:~#
gluster peer probe gfs03

peer probe: success    
# 見つかった

# 他のサーバーを探す

root@gfs01:~#
gluster peer probe gfs04

peer probe: success    
# 見つかった

# ステータスを見てみる

root@gfs01:~#
gluster peer status

Number of Peers: 3

Hostname: gfs02
Uuid: 0575e5a1-651b-49f4-80ee-06cd06f1740b
State: Peer in Cluster (Connected)

Hostname: gfs03
Port: 24007
Uuid: 62732bb1-c673-4840-825c-d4ffaf5f4b88
State: Peer in Cluster (Connected)

Hostname: gfs04
Port: 24007
Uuid: b1524234-b121-48b6-a233-61e287ce1ec7
State: Peer in Cluster (Connected)

# ボリュームを作成する

root@gfs01:~#
gluster volume create vol_strip-replica stripe 2 replica 2 transport tcp \
gfs01:/glusterfs/strip-replica \
gfs02:/glusterfs/strip-replica \
gfs03:/glusterfs/strip-replica \
gfs04:/glusterfs/strip-replica

volume create: vol_strip-replica: success: please start the volume to access data
root@gfs01:~#
gluster volume start vol_strip-replica
   
# 作成したボリュームを起動

volume start: vol_strip-replica: success
root@gfs01:~#
gluster volume info
   
# 動作確認


Volume Name: vol_strip-replica
Type: Striped-Replicate
Volume ID: 1af8c4b2-18b9-494f-8cb1-4b3a5321f5fe
Status: Started
Number of Bricks: 1 x 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: gfs01:/glusterfs/strip-replica
Brick2: gfs02:/glusterfs/strip-replica
Brick3: gfs03:/glusterfs/strip-replica
Brick4: gfs04:/glusterfs/strip-replica
[3] GlusterFSクライアント側の設定です。GlusterFSサーバー郡で構成されたボリュームをマウントして利用できるようにします。
root@gfsclient:~#
apt-get -y install glusterfs-client
# ボリュームを /mnt にマウント

root@gfsclient:~#
mount -t glusterfs gfs01.srv.world:/vol_strip-replica /mnt
# マウントできた

root@gfsclient:~#
df -h

Filesystem                             Size  Used Avail Use% Mounted on
/dev/mapper/dlp--vg-root               181G  1.1G  171G   1% /
none                                   4.0K     0  4.0K   0% /sys/fs/cgroup
udev                                   2.0G  4.0K  2.0G   1% /dev
tmpfs                                  395M  876K  394M   1% /run
none                                   5.0M     0  5.0M   0% /run/lock
none                                   2.0G     0  2.0G   0% /run/shm
none                                   100M     0  100M   0% /run/user
/dev/sda1                              236M   37M  188M  17% /boot
gfs01.srv.world:/vol_strip-replica   79G   56M   75G   1% /mnt
関連コンテンツ