作った環境にいろいろ入れていきたいと思います。
#実はその間に動作環境はwindowからMACに変わってたりします。。。
今回はなぜかGlusterFSですw
ちょっと勉強したい機会があったので。
ちなみに参考にしたのはGlusterFSのofficialのQuickstartが分かりやすかったので参考にしています。
ここ http://www.gluster.org/documentation/quickstart/
■目的
・VirtualBox 4.2.24
・CentOS 6.6
minimal.isoを使用したのでほぼなんも入ってません。。。
・サーバはとりあえず2台用意
192.168.56.107 test07
192.168.56.108 test08
1.レポジトリ登録して、yumインストール(両方のサーバ)
#### レポジトリ登録 ##### cd /etc/yum.repos.d
# wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
#### yumでインストール ##### yum install glusterfs-server
依存関係のパッケージもろともインストールします。
ちなみにGlusterFS関連のパッケージはこんな感じ
#そのときの最新版入れただけですが。。。
[root@test08 ~]# rpm -qa | grep gluster
glusterfs-3.6.1-1.el6.x86_64
glusterfs-fuse-3.6.1-1.el6.x86_64
glusterfs-server-3.6.1-1.el6.x86_64
glusterfs-libs-3.6.1-1.el6.x86_64
glusterfs-api-3.6.1-1.el6.x86_64
glusterfs-cli-3.6.1-1.el6.x86_64
2.サービス起動(両方のサーバ)
#### サービス起動 ####
# service glusterd startStarting glusterd: [ OK ]
3.hosts設定(両方のサーバ)
名前解決するので、ホスト登録します。
# vi /etc/hosts
#### 下記を追加 ####192.168.56.107 test07
192.168.56.108 test08
4.クラスタ?組みます(片方のサーバ)
# gluster peer probe test08
peer probe: failed: Probe returned with unknown errno 107
→こけた。。。
ただ、Quick Startちゃんと読んだら、iptables offにしてね って書いてあったので
#### とりあえずリトライ ####
# service iptables stop
→実際サービスとして使うときは男らしくstopはできないと思うので、
ipで許容するのかな?portまで指定すると結構な量になるっぽい。。。
#この辺は触れる機会があればそのうち。。。# gluster peer probe test08
peer probe: success.
#### 状態確認 ####
# gluster peer statusNumber of Peers: 1
Hostname: test08
Uuid: d7c9919a-eb9c-4306-8508-93a4853f0329
State: Peer in Cluster (Connected)
→とりあえず組めたみたい
もう一方のノードで打ってもおんなじ感じ
# gluster peer status
Number of Peers: 1
Hostname: test07
Uuid: 3a5a055b-4365-44aa-b0f4-784fdeac7076
State: Peer in Cluster (Connected)
5.ボリューム作成(片方のサーバ)
ここからが本番
#といいつつデフォで作りますw
真面目に載せておくと
GlusterFSはDistributed、Replicated、Striped の3タイプ+その組み合わせでボリューム構成ができ、
それぞれ下記のような特徴がある。
Distributed:
- 分散ボリュームは、ボリュームを先頭から順番に利用して保存する
- 小さなボリュームを合わせて1つの大きなボリュームとして利用する
- 冗長性がない(ただし、生きているノードに格納されたファイルは読み込み可能)
- 合計容量がそのまま利用できる
- 1つのファイルを2つ以上に複製して保存する
- 冗長性がある
- 1番小さい容量の分だけ利用できる
- ストライプは1つのファイルを細分化し、複数のサーバーに分散して保存する
- 冗長性がない(どれかが死んだら全部読めない。。。)
- 合計容量がそのまま利用できる
何も指定しない場合、Distributedで作成される
#### ボリューム作成(デフォ) ####
# gluster vol create vol01\> test07:/data/brick01 \
> test08:/data/brick01
volume create: vol01: success: please start the volume to access data
#### ボリューム起動 ##### gluster vol start vol01
volume start: vol01: success
#### 状態確認 ##### gluster vol info
Volume Name: vol01
Type: Distribute
Volume ID: 7af81533-426f-4143-9761-4fbe1dc44a5c
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: test07:/data/brick01
Brick2: test08:/data/brick01
とりあえずサーバ側は以上!
これだけだとよく分かんないですねw
次はクライアント側設定して実際FUSEアクセスしてみます!!!