ボリューム作成手順

gluster01〜gluster04の4ノードからなるクラスタで、さまざまな構成のボリュームを作成する手順を示します。

※ ブリック再利用時の注意

以 前にブリックとして使用していたディレクトリを新しいボリュームのブリックとして再利用する際は、該当ディレクトリの拡張属性、および隠しディレクトリ 「.glusterfs」削除しておく必要があります。次は、拡張属性と隠しディレクトリの削除を行うスクリプトの例です。

#!/bin/sh

if [[ ! -d $1 ]]; then

echo "usage: $0 <brickdir>"

exit 1

fi

getfattr -m . $1 2> /dev/null |

grep -E '^trusted\.(glusterfs|gfid|afr|dht|hsrepl)' |

while read xa; do

echo "removing $xa on $1"

setfattr -x $xa $1

done

echo "removing $1/.glusterfs"

rm -rf $1/.glusterfs

このスクリプトを利用して、ディレクトリ「/data/brick01」の拡張属性を削除する例です。

# ./cleanbrick.sh /data/brick01

removing trusted.gfid on /data/brick01

removing trusted.glusterfs.dht on /data/brick01

removing trusted.glusterfs.volume-id on /data/brick01

removing /data/brick01/.glusterfs

また、ディレクトリ内の既存のファイルも事前に削除しておきます。

2ノード分散構成

gluster01とgluster02にファイル単位で分散保存する構成です。

# gluster vol create vol01 gluster01:/data/brick01 gluster02:/data/brick01

# gluster vol start vol01

2ノードレプリカ構成

gluster01とgluster02に同じファイルを保存するレプリカ構成です。

# gluster vol create vol02 replica 2 gluster01:/data/brick02 gluster02:/data/brick02

# gluster vol start vol02

レプリカ+分散構成

gluster01とgluster02、gluster03とgluster04の間でレプリカする構成です。1つのファイルは、gluster01+gluster02、もしくはgluster03+gluster04のどちらかに保存されます。

# gluster vol create vol03 replica 2 \

gluster01:/data/brick03 gluster02:/data/brick03 \

gluster03:/data/brick03 gluster04:/data/brick03

# gluster vol start vol03

※ 上記のコマンドでブリックを指定する順番によって、どのブリック間でレプリカされるかが決まります。指定した順番にレプリカの組が作られます。

ストライピング構成

1つのファイルをgluster01〜gluster04の間でストライピングして保存する構成です。

# gluster vol create vol04 stripe 4 \

gluster01:/data/brick04 gluster02:/data/brick04 \

gluster03:/data/brick04 gluster04:/data/brick04

# gluster vol start vol04

デフォルトでは、1つのファイルは128KB単位で分割されます。このサイズを変更する際は、次のコマンドでオプション(cluster.stripe-block-size)を設定します。設定値は、「gluster vol info」コマンドで確認します。

# gluster vol set vol04 cluster.stripe-block-size 512KB

# gluster vol info vol04

Volume Name: vol04

Type: Stripe

Volume ID: efbf84ca-80f5-483a-b535-53228a112350

Status: Started

Number of Bricks: 1 x 4 = 4

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick04

Brick2: gluster02:/data/brick04

Brick3: gluster03:/data/brick04

Brick4: gluster04:/data/brick04

Options Reconfigured:

cluster.stripe-block-size: 512KB

ストライピング+レプリカ構成

gluster01+gluster02でファイルをストライピングして、さらに同じデータをgluster03+gluster04にも複製します。

# gluster vol create vol05 stripe 2 replica 2 \

gluster01:/data/brick05 gluster02:/data/brick05 \

gluster03:/data/brick05 gluster04:/data/brick05

# gluster vol start vol05

※ 上記のコマンドでブリックを指定する順番によって、どのブリックを使用してストライピングされるかが決まります。指定した順番にストライピング用の組が作られます。

ボリューム構成の確認

「gluster vol info」コマンドで上記のボリュームvol01〜vol05の状態を確認すると次のようになります。

# gluster vol info

Volume Name: vol01

Type: Distribute

Volume ID: fca8ca5e-9be0-4766-8ee9-0124db7af9bb

Status: Started

Number of Bricks: 2

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick01

Brick2: gluster02:/data/brick01

Volume Name: vol02

Type: Replicate

Volume ID: 078b1b2b-4412-422c-b4ff-5e2c6a6cca91

Status: Started

Number of Bricks: 1 x 2 = 2

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick02

Brick2: gluster02:/data/brick02

Volume Name: vol03

Type: Distributed-Replicate

Volume ID: fd377497-6677-491c-9d5a-678a12c195dc

Status: Started

Number of Bricks: 2 x 2 = 4

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick03

Brick2: gluster02:/data/brick03

Brick3: gluster03:/data/brick03

Brick4: gluster04:/data/brick03

Volume Name: vol04

Type: Stripe

Volume ID: 0d6920f2-5856-40dd-a673-54abc6d91538

Status: Started

Number of Bricks: 1 x 4 = 4

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick04

Brick2: gluster02:/data/brick04

Brick3: gluster03:/data/brick04

Brick4: gluster04:/data/brick04

Options Reconfigured:

cluster.stripe-block-size: 512KB

Volume Name: vol05

Type: Striped-Replicate

Volume ID: eef33020-de09-4bcf-aad4-4c654d073c26

Status: Started

Number of Bricks: 1 x 2 x 2 = 4

Transport-type: tcp

Bricks:

Brick1: gluster01:/data/brick05

Brick2: gluster02:/data/brick05

Brick3: gluster03:/data/brick05

Brick4: gluster04:/data/brick05