雑記

インフラのことだったりプログラムのことだったりどうでもいいこと書いたり。要は雑記。

CentOS6にGlusterFSを構築

GlusterFSについて

ボリュームについて

  • distributed
    • ファイル単位でボリューム内のbrickに分散させる
    • GlusterFSのデフォルトの動作モード
  • replicated
    • ファイルを複製してbrickに割り当てる。そのため可能性が高まる。
    • 要はRAID1
    • 実運用はこれだろな。
  • striped
    • ファイルをサーバ間で分割してbrickに格納する
    • 要はRAID0
  • 今回はreplicatedで構築(というかdistributedやstriped単品でやることは考えられないよなー)

環境

  • OSはCentOS6系
  • サーバ側は2台(cluster1とcluster2)
  • brickは「/home/data/vol1」

サーバ側

インストール

# cd /etc/yum.repos.d
# http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
# yum install glusterfs-server

起動

# /etc/init.d/glusterd start

初期設定

  • peerにサーバを追加
# gluster peer probe cluster2
  • 確認
# gluster peer status
Number of Peers: 1

Hostname: cluster2
Port: 24007
Uuid: 75162d8d-eaed-4800-9703-56ee60f7fd78
State: Peer in Cluster (Connected)
  • ボリューム作成
# gluster volume create vol1 replica 2 cluster1:/home/data/vol1 cluster2:/home/data/vol1

replicaで。

  • ボリューム起動
# gluster volume start vol1
  • 確認
# gluster volume info

Volume Name: vol1
Type: Replicate
Volume ID: f5455845-92c4-4880-ab84-931e7b1a7730
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: cluster1:/home/data/vol1
Brick2: cluster2:/home/data/vol1

クライアント側

インストール

# cd /etc/yum.repos.d
# http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
# yum install glusterfs-fuse

マウント

  • GlusterFSのネイティブクライアント
# mount -t glusterfs cluster1:/vol1 /home/data/vol1

クライアント側で適当なファイル作って両方のサーバでファイルが作成されることを確認。

  • NFSマウントも試してみたんだけどなぜかうまくできず。。


簡単にr/wの速度も出してみたので今度書きます。