glusterfsのノードを追加する | no news.

glusterfsのノードを追加する

現在のところ、ノードは3台あります。これにもう一台(sv04)を追加してみます。

sv04でglusterfs-serverをインストールします。

# apt-get install glusterfs-server -y
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
fuse-utils glusterfs-client glusterfs-common libibverbs1
提案パッケージ:
glusterfs-examples
以下のパッケージが新たにインストールされます:
fuse-utils glusterfs-client glusterfs-common glusterfs-server libibverbs1
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 8 個。
10.3 MB のアーカイブを取得する必要があります。
この操作後に追加で 25.3 MB のディスク容量が消費されます。
以下略

sv01でsv04をピアとして追加します。

# gluster peer probe sv04
Probe successful
# gluster peer status
Number of Peers: 3

Hostname: sv02
Uuid: e8e02862-b321-4de3-bd15-3ae51f29f5fa
State: Peer in Cluster (Connected)

Hostname: sv03
Uuid: 4ccc7d22-86de-4a0f-8434-ed2add499e55
State: Peer in Cluster (Connected)

Hostname: sv04
Uuid: 8d0447a2-56ad-42a2-8a9b-718601e07e34
State: Peer in Cluster (Connected)
#

追加されました。sv04でも同じコマンドでピアに参加しているかチェックします。

# gluster peer status
Number of Peers: 3

Hostname: 192.168.89.30
Uuid: 9effeab6-3e28-4b65-964a-5f6885c42b80
State: Peer in Cluster (Connected)

Hostname: sv02
Uuid: e8e02862-b321-4de3-bd15-3ae51f29f5fa
State: Peer in Cluster (Connected)

Hostname: sv03
Uuid: 4ccc7d22-86de-4a0f-8434-ed2add499e55
State: Peer in Cluster (Connected)
#

ちゃんとsv01/02/03が見えていますね。
それではsv04にブリック用のディレクトリを作ります。sv01~03はUSBメモリをブリック用として確保しましたが、sv04は単なるディレクトリをブリックにします。

# mkdir -p /export/sd
# ls -l /export/
合計 4
drwxr-xr-x 2 root root 4096 9月 4 11:21 sd
#

ん?タイムゾーン狂ってるな。。。今度直そう。それではsv01でボリュームtestにsv04のブリック(/export/sd)を追加します。
その前に現在sv01にマウントしているボリュームを確認しておきます。11GBになっていますね。

# df -h | grep test
sv01:/test 11G 31M 11G 1% /mnt/test
#

それではsv04追加。

# gluster volume add-brick test sv04:/export/sd
Incorrect number of bricks supplied 1 for type STRIPE with count 3
#

あ。stripe 3の設定で作ったボリュームなのでエラーになっていますね。

ネットで対処法を調べたけど、1つだけ追加するのは無理!?なのでsv05を用意してこれも追加するようにする。

# gluster peer status
Number of Peers: 4

Hostname: sv02
Uuid: e8e02862-b321-4de3-bd15-3ae51f29f5fa
State: Peer in Cluster (Connected)

Hostname: sv03
Uuid: 4ccc7d22-86de-4a0f-8434-ed2add499e55
State: Peer in Cluster (Connected)

Hostname: sv04
Uuid: 8d0447a2-56ad-42a2-8a9b-718601e07e34
State: Peer in Cluster (Connected)

Hostname: sv05
Uuid: 3acfb213-db8f-4db9-a838-855cbb6990e0
State: Peer in Cluster (Connected)
#

だんだん増えてきた。。。ではsv04-とsv05追加。

# gluster volume add-brick test sv04:/export/sd sv05:/export/sd
Incorrect number of bricks supplied 2 for type STRIPE with count 3
#

ぶっちゃけそんな予感はしてましたよ。ということでsv06も追加!!

# gluster peer status
Number of Peers: 5

Hostname: sv02
Uuid: e8e02862-b321-4de3-bd15-3ae51f29f5fa
State: Peer in Cluster (Connected)

Hostname: sv03
Uuid: 4ccc7d22-86de-4a0f-8434-ed2add499e55
State: Peer in Cluster (Connected)

Hostname: sv04
Uuid: 8d0447a2-56ad-42a2-8a9b-718601e07e34
State: Peer in Cluster (Connected)

Hostname: sv05
Uuid: 3acfb213-db8f-4db9-a838-855cbb6990e0
State: Peer in Cluster (Connected)

Hostname: sv06
Uuid: a34dde72-4c1e-41aa-96cf-cf1f58bfd97e
State: Peer in Cluster (Connected)
#

はい。これで僕の手持ちのraspberry piは全部です。

さあ、追加。

# gluster volume add-brick test sv04:/export/sd sv05:/export/sd sv06:/export/sd
Add Brick successful
#

よかった。成功。これでダメだったらどうしようと思った。久々にコマンド打って緊張した。ではサイズが大きくなっているかチェックしましょう。の前にボリューム情報をチェック。

# gluster volume info test

Volume Name: test
Type: Distributed-Stripe
Status: Started
Number of Bricks: 2 x 3 = 6
Transport-type: tcp
Bricks:
Brick1: sv01:/export/sda1/test
Brick2: sv02:/export/sda1/test
Brick3: sv03:/export/sda1/test
Brick4: sv04:/export/sd
Brick5: sv05:/export/sd
Brick6: sv06:/export/sd
#

ものの見事に6台使っていますね。あれ、distributed-stripeになっていますね?単なるstripeにしたかったんだけど。。。

ではサイズはいかがなもんでしょうか。

# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
rootfs 13G 7.8G 4.5G 64% /
/dev/root 13G 7.8G 4.5G 64% /
devtmpfs 215M 0 215M 0% /dev
tmpfs 44M 236K 44M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 88M 0 88M 0% /run/shm
/dev/mmcblk0p5 60M 9.6M 50M 17% /boot
/dev/sda1 3.6G 11M 3.4G 1% /export/sda1
sv01:/test 11G 31M 11G 1% /mnt/test
# df -h | grep test
sv01:/test 50G 8.4G 39G 18% /mnt/test
#

なぜ一回目はサイズが変わらなかったのだ。焦ったじゃないか。追加する前が11GB、追加後が50GBなので、(50-11)/3=12GB。

# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
rootfs 13G 2.8G 9.5G 23% /
/dev/root 13G 2.8G 9.5G 23% /

なので、それっぽい感じ。。。?

それではsv04~06の/export/sdを見てみましょう。

# ls -la /export/sd
合計 12
drwxr-xr-x 2 root root 4096 9月 4 11:21 .
drwxr-xr-x 3 root root 4096 9月 4 11:21 ..
#

# ls -la /export/sd/
合計 8
drwxr-xr-x 2 root root 4096 9月 4 11:21 .
drwxr-xr-x 3 root root 4096 9月 4 11:45 ..
#

# ls -la /export/sd
合計 8
drwxr-xr-x 2 root root 4096 9月 4 11:21 .
drwxr-xr-x 3 root root 4096 9月 4 11:46 ..
#

うん、ない。どうもリバランスというのをやらないといけないみたいですよ。

# gluster volume rebalance test start
starting rebalance on volume test has been successful
# gluster volume rebalance test status
rebalance completed: rebalanced 5 files of size 4000110 (total files scanned 15)
#

うーん、ステータスを見たかったのだけど。。。仕方ない。それでは改めてディレクトリをチェック。

# ls -la /export/sd
合計 1572
drwxr-xr-x 2 root root 4096 9月 4 11:53 .
drwxr-xr-x 3 root root 4096 9月 4 11:21 ..
-rw-r--r-- 1 root root 917504 8月 3 06:43 2
-rw-r--r-- 1 root root 917504 8月 3 06:43 3
-rw-r--r-- 1 root root 917504 8月 3 06:43 4
-rw-r--r-- 1 root root 917504 8月 3 06:43 6
-rw-r--r-- 1 root root 110 8月 31 09:56 b.txt
#

# ls -la /export/sd/
合計 1388
drwxr-xr-x 2 root root 4096 9月 4 11:53 .
drwxr-xr-x 3 root root 4096 9月 4 11:45 ..
-rw-r--r-- 1 root root 1000000 8月 3 06:43 2
-rw-r--r-- 1 root root 1000000 8月 3 06:43 3
-rw-r--r-- 1 root root 1000000 8月 3 06:43 4
-rw-r--r-- 1 root root 1000000 8月 3 06:43 6
-rw-r--r-- 1 root root 0 8月 31 09:56 b.txt
#

# ls -la /export/sd
合計 1052
drwxr-xr-x 2 root root 4096 9月 4 11:53 .
drwxr-xr-x 3 root root 4096 9月 4 11:46 ..
-rw-r--r-- 1 root root 786432 8月 3 06:43 2
-rw-r--r-- 1 root root 786432 8月 3 06:43 3
-rw-r--r-- 1 root root 786432 8月 3 06:43 4
-rw-r--r-- 1 root root 786432 8月 3 06:43 6
-rw-r--r-- 1 root root 0 8月 31 09:56 b.txt
#

それっぽい感じで配置されました。では元々のノードがどうなっているかチェックしましょう。

# ls -la /export/sda1/test
合計 1548
drwxr-xr-x 2 root root 4096 9月 4 20:53 .
drwxr-xr-x 5 root root 4096 8月 31 17:36 ..
-rw-r--r-- 1 root root 917504 8月 3 15:43 5
-rw-r--r-- 1 root root 917504 8月 3 15:43 7
-rw-r--r-- 1 root root 917504 8月 3 15:43 8
-rw-r--r-- 1 root root 917504 8月 3 15:43 9
-rw-r--r-- 1 root root 11 8月 31 18:54 a.txt
#

$ ls -la /export/sda1/test/
合計 1368
drwxr-xr-x 2 root root 4096 9月 4 20:53 .
drwxr-xr-x 4 root root 4096 8月 3 15:35 ..
-rw-r--r-- 1 root root 1000000 8月 3 15:43 5
-rw-r--r-- 1 root root 1000000 8月 3 15:43 7
-rw-r--r-- 1 root root 1000000 8月 3 15:43 8
-rw-r--r-- 1 root root 1000000 8月 3 15:43 9
-rw-r--r-- 1 root root 0 8月 31 18:54 a.txt
$

$ ls -la /export/sda1/test/
total 1032
drwxr-xr-x 2 root root 4096 Sep 4 20:53 .
drwxr-xr-x 5 root root 4096 Aug 3 15:34 ..
-rw-r--r-- 1 root root 786432 Aug 3 15:43 5
-rw-r--r-- 1 root root 786432 Aug 3 15:43 7
-rw-r--r-- 1 root root 786432 Aug 3 15:43 8
-rw-r--r-- 1 root root 786432 Aug 3 15:43 9
-rw-r--r-- 1 root root 0 Aug 31 18:54 a.txt
$

元々はそれぞれに10個のファイルが保存されてましたが、sv01~sv03とsv04~sv06で綺麗に分かれてますね。

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大