Glusterfs
●構成
移動前:SVR01←同期→SVR02 SVR03
移動後:SVR01←同期→SVR03 SVR02
# SVR03にGlusterfsをインストールする。
●Peerの追加:Replace対象のbrickのあるサーバーにて
SVR02 # gluster peer probe SVR03
SVR02 # peer status <--- 2台接続されていることを確認。
●Replaceの実行
SVR02 # volume replace-brick gluster_vol SVR02:/glusterfs/brick00 SVR03:/glusterfs/brick00 start
replace-brick started successfully
SVR02 # gluster volume info
Volume Name: gluster_vol
Type: Replicate
Volume ID: 720ad6af-8283-4381-8f48-3a01a9163c9b
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: SVR01:/glusterfs/brick00
Brick2: SVR02:/glusterfs/brick00 <--- 現状ではまだ移行は完了していないが、データは同期されている。
SVR03 # ls /glusterfs/brick00
→自動的にSVR03の「/glusterfs」配下に「brick00」が作成されていてデータがコピーされていることを確認。
→SVR01のデータ領域でファイルを作成して、SVR03に同期されることを確認。
SVR03 # mount -t glusterfs SVR01:gluster_vol /var/www/html
SVR03 # cd /var/www/html <--- ファイルの作成などして、データが同期されることを確認。
SVR02 # volume replace-brick gluster_vol SVR02:/glusterfs/brick00 SVR03:/glusterfs/brick00 commit
replace-brick commit successful
→Replaceの実行を確定
SVR02 # volume info
Volume Name: gluster_vol
Type: Replicate
Volume ID: 720ad6af-8283-4381-8f48-3a01a9163c9b
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: SVR01:/glusterfs/brick00
Brick2: SVR03:/glusterfs/brick00 <--- Brickの移行が完了していることを確認。
SVR02 # ls /glusterfs/brick00 <--- データが同期されなくなることを確認。※同期対象ディレクトリ上ではリンクファイル?は作成されるので、一見同期されているように見える。
SVR02 # umount /var/www/html <--- 同期されていたディレクトリをアンマウント
SVR03 # peer status
SVR03 # peer detach SVR02 <--- どちらか一方のサーバーで実行することで、2台からpeerが外される。
以上で、移動作業は完了。
●glusterfsのアンインストール SVR02での手順
# service glusterd stop
# yum remove glusterfs*
# cd /var/lib/
# rm -rf ./glusterfs
移動したBrickを元に戻す手順(上までの手順の続き) [#kc81e88f]
移動前:SVR01←同期→SVR03 SVR02:対応完了
移動後:SVR01←同期→SVR02 SVR03
SVR02 # Glusterdをインストール
SVR02 # service glusterd start
SVR03 # peer probe SVR02
Probe successful
SVR03 # peer status
Number of Peers: 2
Hostname: SVR01
Uuid: 93969f43-d235-4c30-b53c-484818f77664
State: Peer in Cluster (Connected)
Hostname: SVR02
Uuid: 758be52c-4d91-4afc-bbb0-96531699f543
State: Peer in Cluster (Connected)
SVR03 # volume replace-brick gluster_vol SVR03:/glusterfs/brick00 SVR03:/glusterfs/brick00 start
replace-brick started successfully
SVR03 # volume replace-brick gluster_vol SVR03:/glusterfs/brick00 SVR03:/glusterfs/brick00 status
Number of files migrated = 82 Migration complete
SVR-3 # volume info
Volume Name: gluster_vol
Type: Replicate
Volume ID: 720ad6af-8283-4381-8f48-3a01a9163c9b
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: SVR01:/glusterfs/brick00
Brick2: SVR03:/glusterfs/brick00 <--- 現状ではまだ移行は完了していないが、データは同期されている。
SVR03 # gluster> volume replace-brick gluster_vol SVR03:/glusterfs/brick00 SVR02:/glusterfs/brick00 commit
replace-brick commit successful
SVR03 # volume info
Volume Name: gluster_vol
Type: Replicate
Volume ID: 720ad6af-8283-4381-8f48-3a01a9163c9b
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: SVR01:/glusterfs/brick00
Brick2: SVR02:/glusterfs/brick00 <--- brickが移動していることを確認。
SVR02 # mount -t glusterfs SVR02:gluster_vol /var/www/html
SVR03 # umount /var/www/html
SVR03 # service glusterd stop
以上で、3台の中の2台間でbrickの移動は完了です。