目次

GlusterFS

概要

複数サーバの任意のディレクトリをまとめて一つのボリュームとして利用できる技術。
ボリュームの構成は、以下があり、組み合わせて使うことも可能。

用語

インストール

リポジトリ追加

> wget "http://download.gluster.org/pub/gluster/glusterfs/3.4/LATEST/CentOS/glusterfs-epel.repo" -P "/etc/yum.repos.d/"

インストール

> yum -y install glusterfs-server glusterfs-geo-replication

自動起動設定

> chkconfig glusterd on

起動

> /etc/init.d/glusterd start

バージョン表示(兼、起動確認)

> glusterfsd --version
glusterfs 3.4.2 built on Jan  3 2014 12:38:05
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
It is licensed to you under your choice of the GNU Lesser
General Public License, version 3 or any later version (LGPLv3
or later), or the GNU General Public License, version 2 (GPLv2),
in all cases as published by the Free Software Foundation.

初期設定

以下、前提条件とする。

各ノードをpeer登録して、クラスタを構成

adm01> gluster peer probe adm02
peer probe: success

クラスタ構成を確認する

adm01> gluster peer status
Number of Peers: 1

Hostname: adm02
Port: 24007
Uuid: 8ad46d2c-f139-433e-99dd-3b9e736a4ba8
State: Peer in Cluster (Connected)

Replica Volume作成

ブリック用ディレクトリ作成(対象サーバ全て)

> mkdir -p /mnt/addVol/gfs01/

ボリュームの作成

adm01> gluster volume create vol01 replica 2 transport tcp adm01:/mnt/addVol/gfs01/ adm02:/mnt/addVol/gfs01/
volume create: vol01: success: please start the volume to access data

ボリュームの動作開始

adm01> gluster volume start vol01
volume start: vol01: success

ボリュームの構成情報を確認

adm01> gluster volume info

Volume Name: vol01
Type: Replicate
Volume ID: e96a518e-84fa-4b9f-a50f-8e9793a52532
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: mc-adm01:/mnt/addVol/gfs01
Brick2: mc-adm02:/mnt/addVol/gfs01

ボリュームの起動状況を確認

adm01> gluster vol status
Status of volume: vol01
Gluster process                                         Port    Online  Pid
------------------------------------------------------------------------------
Brick adm01:/mnt/addVol/gfs01                           49153   Y       30967
Brick adm02:/mnt/addVol/gfs01                           49153   Y       2682
NFS Server on localhost                                 2049    Y       30979
Self-heal Daemon on localhost                           N/A     Y       30983
NFS Server on adm02                                     2049    Y       2694
Self-heal Daemon on adm02                               N/A     Y       2698
 
There are no active volume tasks

マウント

Glustefs Native Client

GlusterFSをインストールしていない環境ではFUSEが必要なので、インストールする

> wget "http://download.gluster.org/pub/gluster/glusterfs/3.4/LATEST/CentOS/glusterfs-epel.repo" -P "/etc/yum.repos.d/" 
> yum install glusterfs-fuse

マウントポイントを作成してマウント

> mkdir -p /mnt/addVol/vol01
> mount -t glusterfs mc-adm01:/vol01 /mnt/addVol/vol01

fstabへ記述する場合、_netdevの記述を忘れないように。

gluster01:/vol01 /mnt/nfs/vol01 glusterfs defaults,_netdev 0 0

_netdevの記述を有効にするためには、netfsサービスが起動している必要がある。

> chkconfig netfs on
> /etc/init.d/netfs start

NFS

マウントポイントを作成してマウント。マウントバージョンは3を指定しないといけない。

> mkdir -p /mnt/nfs/vol01
> mount -t nfs -o mountvers=3 gluster01:/vol01 /mnt/nfs/vol01

ノードの追加・削除

ノードの追加

peerにノード登録

> gluster peer probe node01

ボリュームにブリック追加

> gluster volume add-brick vol01 replica 3 node01:/mnt/addVol/gfs01/ force

ノードの削除

ボリュームからブリックを外す

> gluster volume remove-brick vol01 replica 2 node01:/mnt/addVol/gfs01/

peerからノードを外す

> gluster peer detach node01