GlusterFSにて、n1、n2にレプリカを持たせる設定を施して、実際にファイルを配置してみた。
ここでは新たにn3を追加して、glusterコマンドによる再配置を行ってみた。

n3の追加

n3のスペックはn1、n2と同じで

[root@n3 ~]# cat /proc/partitions
major minor  #blocks  name
 
   8        0    8388608 sda
   8        1     512000 sda1
   8        2    1048576 sda2
   8        3    6827008 sda3
   8       16   16777216 sdb
[root@n3 ~]#

としている。sdbを丸ごとxfsにします。

[root@n3 ~]# yum install xfsprogs
[root@n3 ~]# mkfs.xfs -i size=512 /dev/sdb
[root@n3 ~]# mkdir /brick
[root@n3 ~]# echo "/dev/sdb /brick xfs defaults 1 2" >> /etc/fstab
[root@n3 ~]# mount -a
[root@n3 ~]# df -lTh
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda3      ext4   6.3G  1.1G  5.0G  17% /
tmpfs          tmpfs  939M     0  939M   0% /dev/shm
/dev/sda1      ext4   477M   47M  405M  11% /boot
/dev/sdb       xfs     16G   33M   16G   1% /brick
[root@n3 ~]#

次にn1からglusterFSのパッケージを貰い受けて、インストール。そして再起動を行う

[root@n3 glusterfs]# yum localinstall \
./glusterfs-server-3.6.1-1.el6.x86_64.rpm \
./glusterfs-cli-3.6.1-1.el6.x86_64.rpm    \
./glusterfs-fuse-3.6.1-1.el6.x86_64.rpm   \
./glusterfs-libs-3.6.1-1.el6.x86_64.rpm   \
./glusterfs-3.6.1-1.el6.x86_64.rpm \
./glusterfs-api-3.6.1-1.el6.x86_64.rpm
[root@n3 glusterfs]# reboot

ストレージプールにn3を加える

n1サイトにてn3を追加します。取敢えずn3を加える前の状態は、

[root@n1 ~]# gluster peer status
Number of Peers: 1
 
Hostname: n2
Uuid: 80f808eb-8afc-424b-a40d-e0370c609cd8
State: Peer in Cluster (Connected)
[root@n1 ~]#
[root@n1 ~]# gluster pool list
UUID                                    Hostname        State
80f808eb-8afc-424b-a40d-e0370c609cd8    n2              Connected
3175c53c-aeff-49ae-bce9-af8a0314aedf    localhost       Connected
[root@n1 ~]#

となっている。この状態でn3を加えると、

[root@n1 ~]# gluster peer probe n3
peer probe: success.
[root@n1 ~]#
[root@n1 ~]# gluster peer status
Number of Peers: 2
 
Hostname: n2
Uuid: 80f808eb-8afc-424b-a40d-e0370c609cd8
State: Peer in Cluster (Connected)
 
Hostname: n3
Uuid: 8bce0401-0f26-48b2-be71-f4e4b079d553
State: Peer in Cluster (Connected)
[root@n1 ~]#
[root@n1 ~]# gluster pool list
UUID                                    Hostname        State
80f808eb-8afc-424b-a40d-e0370c609cd8    n2              Connected
8bce0401-0f26-48b2-be71-f4e4b079d553    n3              Connected
3175c53c-aeff-49ae-bce9-af8a0314aedf    localhost       Connected
[root@n1 ~]#

と追加に成功。

Brickを追加する

現在提供しているボリュームは、

[root@n3 ~]# gluster volume info
 
Volume Name: gv0
Type: Replicate
Volume ID: e046add7-0334-493c-b0c1-b9dc006b8119
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: n1:/brick/gv0
Brick2: n2:/brick/gv0
[root@n3 ~]#

とgv0である。n3に/brick/gv0というBrickを用意して、追加してみる

[root@n3 ~]# mkdir /brick/gv0
[root@n3 ~]# gluster vol add-brick gv0 n3:/brick/gv0
volume add-brick: failed: Incorrect number of bricks supplied 1 with count 2
[root@n3 ~]#

とエラーが発生。どうやら2つのBrickで構成したので増やすには2の掛け算分のBrickが必要みたい。2台構成が4台構成へ。。。そんなことはしたくない。。。
っで、3Brickともに同じデータを持つ方法ならある。っでファイルは常に2つのBrickでのみ保持してほしかったのだが、、、

[root@n3 ~]# gluster vol add-brick gv0 replica 3 n3:/brick/gv0
volume add-brick: success
[root@n3 ~]# gluster vol info
 
Volume Name: gv0
Type: Replicate
Volume ID: e046add7-0334-493c-b0c1-b9dc006b8119
Status: Started
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: n1:/brick/gv0
Brick2: n2:/brick/gv0
Brick3: n3:/brick/gv0
[root@n3 ~]#

だがこの時点ではまたn3:/brick/gv0に変化は起こらない。
clinetからこのボリュームにアクセスしたときにrebalanceが自動的に開始された。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-01-24 (土) 22:34:46 (852d)