ボリューム作成手順
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